优化0120
This commit is contained in:
@@ -38,7 +38,6 @@ public class AgvController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* agv搬运作业
|
* agv搬运作业
|
||||||
* @param param{
|
* @param param{
|
||||||
|
|||||||
@@ -279,16 +279,21 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
agvQueue.setReqTime(DateUtil.formatDateTime(DateUtil.date()));
|
agvQueue.setReqTime(DateUtil.formatDateTime(DateUtil.date()));
|
||||||
agvQueue.setAgvType("AGV");
|
agvQueue.setAgvType("AGV");
|
||||||
agvQueue.setPositionCode1(code1);
|
agvQueue.setPositionCode1(code1);
|
||||||
agvQueue.setPositionCode2(code2);
|
if("4".equals(traySize) && "L1001".equals(code2)){
|
||||||
agvQueue.setTaskType("A22");
|
agvQueue.setPositionCode2("L1001-1");
|
||||||
// agvQueue.setCtnrType("1");
|
|
||||||
//rcslite开启托盘自动调整位置后 - 测试一巷道放货区分托盘类型
|
|
||||||
if (traySize == "2" || traySize == "3") {
|
|
||||||
agvQueue.setCtnrType("3");
|
|
||||||
}else{
|
}else{
|
||||||
agvQueue.setCtnrType("1");
|
agvQueue.setPositionCode2(code2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
agvQueue.setTaskType("A22");
|
||||||
|
agvQueue.setCtnrType("1");
|
||||||
|
//rcslite开启托盘自动调整位置后 - 测试一巷道放货区分托盘类型
|
||||||
|
// if (traySize == "2" || traySize == "3") {
|
||||||
|
// agvQueue.setCtnrType("3");
|
||||||
|
// }else{
|
||||||
|
// agvQueue.setCtnrType("1");
|
||||||
|
// }
|
||||||
|
|
||||||
agvQueue.setCtnrCode(traySize);
|
agvQueue.setCtnrCode(traySize);
|
||||||
agvQueue.setCtnrNum("0");
|
agvQueue.setCtnrNum("0");
|
||||||
agvQueue.setTaskMode("0");
|
agvQueue.setTaskMode("0");
|
||||||
@@ -379,9 +384,11 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
mydoJob.setTaskNo(receiveOutJob.getTaskNo());
|
mydoJob.setTaskNo(receiveOutJob.getTaskNo());
|
||||||
mydoJob.setCargoSpaceId(receiveOutJob.getCargoSpaceId());
|
mydoJob.setCargoSpaceId(receiveOutJob.getCargoSpaceId());
|
||||||
|
|
||||||
if("L2002".equals(receiveOutJob.getExitId()) || "L2008".equals(receiveOutJob.getCargoSpaceId())
|
if("L2002".equals(receiveOutJob.getExitId()) || "L2008".equals(receiveOutJob.getExitId())
|
||||||
|| "L2004".equals(receiveOutJob.getCargoSpaceId()) || "L2006".equals(receiveOutJob.getExitId())) {
|
|| "L2004".equals(receiveOutJob.getExitId()) || "L2006".equals(receiveOutJob.getExitId())) {
|
||||||
mydoJob.setExitId("1");
|
mydoJob.setExitId("1");
|
||||||
|
}else{
|
||||||
|
mydoJob.setExitId(receiveOutJob.getExitId());
|
||||||
}
|
}
|
||||||
mydoJob.setInOrOut(receiveOutJob.getInOrOut());
|
mydoJob.setInOrOut(receiveOutJob.getInOrOut());
|
||||||
mydoJob.setStatus("1");
|
mydoJob.setStatus("1");
|
||||||
@@ -414,7 +421,7 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
return AjaxResult.error();
|
return AjaxResult.error();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//todo 新增agv站点
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult deleteAgvTray(AgvQueue agvQueue) {
|
public AjaxResult deleteAgvTray(AgvQueue agvQueue) {
|
||||||
Map<String, String> paramMap = new HashMap<>();
|
Map<String, String> paramMap = new HashMap<>();
|
||||||
@@ -428,6 +435,9 @@ public class ApiServiceImpl implements IApiService {
|
|||||||
if("L1003".equals(agvQueue.getPositionCode2())){
|
if("L1003".equals(agvQueue.getPositionCode2())){
|
||||||
paramMap.put("stgBinCode", "JT000206001013");
|
paramMap.put("stgBinCode", "JT000206001013");
|
||||||
}
|
}
|
||||||
|
if("L1001-1".equals(agvQueue.getPositionCode2())){
|
||||||
|
paramMap.put("stgBinCode", "JT000407001013");
|
||||||
|
}
|
||||||
// paramMap.put("binName", agvQueue.getPositionCode2());
|
// paramMap.put("binName", agvQueue.getPositionCode2());
|
||||||
paramMap.put("indBind", "0");
|
paramMap.put("indBind", "0");
|
||||||
|
|
||||||
|
|||||||
@@ -4,14 +4,7 @@ import java.util.List;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
@@ -113,4 +106,12 @@ public class MydoJobController extends BaseController
|
|||||||
{
|
{
|
||||||
return toAjax(mydoJobService.deleteMydoJobByJobIds(jobIds));
|
return toAjax(mydoJobService.deleteMydoJobByJobIds(jobIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasAnyPermi('job:mydoJob:OuthandFinish')")
|
||||||
|
@Log(title = "出库手动完成", businessType = BusinessType.OTHER)
|
||||||
|
@RequestMapping("/OuthandFinish")
|
||||||
|
public AjaxResult manualCompleted(@RequestParam("jobIds")String[] jobIds)
|
||||||
|
{
|
||||||
|
return mydoJobService.OuthandFinish(jobIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.ruoyi.job.service;
|
package com.ruoyi.job.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.job.domain.MydoJob;
|
import com.ruoyi.job.domain.MydoJob;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -83,4 +85,6 @@ public interface IMydoJobService
|
|||||||
MydoJob selectJobByTaskNo(String taskNo);
|
MydoJob selectJobByTaskNo(String taskNo);
|
||||||
|
|
||||||
MydoJob selectMydoJobByEntranceList1(String entranceId);
|
MydoJob selectMydoJobByEntranceList1(String entranceId);
|
||||||
|
|
||||||
|
AjaxResult OuthandFinish(String[] jobIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
package com.ruoyi.job.service.impl;
|
package com.ruoyi.job.service.impl;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
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 com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import com.ruoyi.job.domain.JobCallBack;
|
||||||
|
import com.ruoyi.job.service.IJobCallBackService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.job.mapper.MydoJobMapper;
|
import com.ruoyi.job.mapper.MydoJobMapper;
|
||||||
@@ -23,6 +27,8 @@ public class MydoJobServiceImpl implements IMydoJobService
|
|||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private MydoJobMapper mydoJobMapper;
|
private MydoJobMapper mydoJobMapper;
|
||||||
|
@Autowired
|
||||||
|
private IJobCallBackService jobCallBackService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询作业信息
|
* 查询作业信息
|
||||||
@@ -82,6 +88,9 @@ public class MydoJobServiceImpl implements IMydoJobService
|
|||||||
@Override
|
@Override
|
||||||
public int deleteMydoJobByJobIds(String[] jobIds)
|
public int deleteMydoJobByJobIds(String[] jobIds)
|
||||||
{
|
{
|
||||||
|
for (String jobId : jobIds) {
|
||||||
|
mydoJobMapper.insertHistory(jobId);
|
||||||
|
}
|
||||||
return mydoJobMapper.deleteMydoJobByJobIds(jobIds);
|
return mydoJobMapper.deleteMydoJobByJobIds(jobIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,6 +168,28 @@ public class MydoJobServiceImpl implements IMydoJobService
|
|||||||
return mydoJobMapper.selectMydoJobByEntranceList1(entranceId);
|
return mydoJobMapper.selectMydoJobByEntranceList1(entranceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult OuthandFinish(String[] jobIds) {
|
||||||
|
for (String jobId : jobIds) {
|
||||||
|
mydoJobMapper.insertHistory(jobId);
|
||||||
|
MydoJob mydoJob = mydoJobMapper.selectMydoJobByJobId(jobId);
|
||||||
|
JobCallBack jobCallBack = new JobCallBack();
|
||||||
|
long jobIdNum = Long.parseLong(mydoJob.getInOrOut());
|
||||||
|
if (jobIdNum > 20){
|
||||||
|
jobCallBack.setType("2");
|
||||||
|
}else{jobCallBack.setType("1");}
|
||||||
|
jobCallBack.setMydojobId(mydoJob.getJobId());
|
||||||
|
jobCallBack.setStatus("0");
|
||||||
|
jobCallBack.setTaskNo(Convert.toLong(mydoJob.getTaskNo()));
|
||||||
|
jobCallBack.setCreateTime(new Date());
|
||||||
|
jobCallBack.setSpare1("0");
|
||||||
|
jobCallBackService.insertJobCallBack(jobCallBack);
|
||||||
|
mydoJobMapper.deleteMydoJobByJobId(jobId);
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success("操作成功");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MydoJob> selectMydoJobFinishList(MydoJob mydoJob) {
|
public List<MydoJob> selectMydoJobFinishList(MydoJob mydoJob) {
|
||||||
return mydoJobMapper.selectMydoJobFinishList(mydoJob);
|
return mydoJobMapper.selectMydoJobFinishList(mydoJob);
|
||||||
|
|||||||
@@ -70,4 +70,6 @@ public interface AgvQueueMapper
|
|||||||
void insertHistory(String reqCode);
|
void insertHistory(String reqCode);
|
||||||
|
|
||||||
AgvQueue selectAgvQueueByWmsTask(@Param("wmsTaskNo") int wmsTaskNo);
|
AgvQueue selectAgvQueueByWmsTask(@Param("wmsTaskNo") int wmsTaskNo);
|
||||||
|
|
||||||
|
List<AgvQueue> selectAgvQueueList1(AgvQueue agvQueue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,4 +73,6 @@ public interface IAgvQueueService
|
|||||||
void insertHistory(String reqCode);
|
void insertHistory(String reqCode);
|
||||||
|
|
||||||
AgvQueue selectAgvQueueByWmsTask(int taskNo);
|
AgvQueue selectAgvQueueByWmsTask(int taskNo);
|
||||||
|
|
||||||
|
List<AgvQueue> selectAgvQueueList1(AgvQueue agvQueue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,12 @@ public class AgvQueueServiceImpl implements IAgvQueueService
|
|||||||
return agvQueueMapper.selectAgvQueueList(agvQueue);
|
return agvQueueMapper.selectAgvQueueList(agvQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AgvQueue> selectAgvQueueList1(AgvQueue agvQueue)
|
||||||
|
{
|
||||||
|
return agvQueueMapper.selectAgvQueueList1(agvQueue);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增AGV任务队列
|
* 新增AGV任务队列
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ public class DdjDeviceExecutionQueueController extends BaseController
|
|||||||
return toAjax(ddjDeviceExecutionQueueService.updateDdjDeviceExecutionQueue(ddjDeviceExecutionQueue));
|
return toAjax(ddjDeviceExecutionQueueService.updateDdjDeviceExecutionQueue(ddjDeviceExecutionQueue));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除堆垛机执行队列
|
* 删除堆垛机执行队列
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ public interface DdjDeviceExecutionQueueMapper
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int updateDdjDeviceExecutionQueue(DdjDeviceExecutionQueue ddjDeviceExecutionQueue);
|
public int updateDdjDeviceExecutionQueue(DdjDeviceExecutionQueue ddjDeviceExecutionQueue);
|
||||||
|
public int updateDdjDeviceExecutionQueue1(DdjDeviceExecutionQueue ddjDeviceExecutionQueue);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除堆垛机执行队列
|
* 删除堆垛机执行队列
|
||||||
|
|||||||
@@ -64,9 +64,12 @@ public class DdjDeviceExecutionQueueServiceImpl implements IDdjDeviceExecutionQu
|
|||||||
@Override
|
@Override
|
||||||
public int updateDdjDeviceExecutionQueue(DdjDeviceExecutionQueue ddjDeviceExecutionQueue)
|
public int updateDdjDeviceExecutionQueue(DdjDeviceExecutionQueue ddjDeviceExecutionQueue)
|
||||||
{
|
{
|
||||||
|
ddjDeviceExecutionQueue.setDdjxf("0");
|
||||||
return ddjDeviceExecutionQueueMapper.updateDdjDeviceExecutionQueue(ddjDeviceExecutionQueue);
|
return ddjDeviceExecutionQueueMapper.updateDdjDeviceExecutionQueue(ddjDeviceExecutionQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除堆垛机执行队列
|
* 批量删除堆垛机执行队列
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ public class PlcSsjRead implements Runnable {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
OperateResultExOne<byte[]> agvSsjTask = readWriteNet.Read("DB501.280", Short.parseShort("8"));
|
OperateResultExOne<byte[]> agvSsjTask = readWriteNet.Read("DB501.280", Short.parseShort("16"));
|
||||||
String ddsx2 = "0";
|
String ddsx2 = "0";
|
||||||
if (agvSsjTask.IsSuccess) {
|
if (agvSsjTask.IsSuccess) {
|
||||||
ddsx2 = SoftBasic.ByteToHexString(agvSsjTask.Content);
|
ddsx2 = SoftBasic.ByteToHexString(agvSsjTask.Content);
|
||||||
@@ -207,6 +207,12 @@ public class PlcSsjRead implements Runnable {
|
|||||||
if("L1003".equals(ssjDevice.getDeviceCode())){
|
if("L1003".equals(ssjDevice.getDeviceCode())){
|
||||||
ssjDevice.setTaskNo2(ParseUtil.optDInt(4, ddsx2));
|
ssjDevice.setTaskNo2(ParseUtil.optDInt(4, ddsx2));
|
||||||
}
|
}
|
||||||
|
if("L2004".equals(ssjDevice.getDeviceCode())){
|
||||||
|
ssjDevice.setTaskNo2(ParseUtil.optDInt(8, ddsx2));
|
||||||
|
}
|
||||||
|
if("L2006".equals(ssjDevice.getDeviceCode())){
|
||||||
|
ssjDevice.setTaskNo2(ParseUtil.optDInt(12, ddsx2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,9 +53,9 @@ public class Floor1BothWayOutSsjThread implements Runnable {
|
|||||||
roadway2.add(PlcSsjRead.deviceSsjMap.get("L2005"));
|
roadway2.add(PlcSsjRead.deviceSsjMap.get("L2005"));
|
||||||
ssjCodeList.put("roadway2", roadway2);
|
ssjCodeList.put("roadway2", roadway2);
|
||||||
|
|
||||||
ArrayList<DeviceSsj> ou1 = new ArrayList<>();
|
ArrayList<DeviceSsj> out1 = new ArrayList<>();
|
||||||
ou1.add(PlcSsjRead.deviceSsjMap.get("L2004"));
|
out1.add(PlcSsjRead.deviceSsjMap.get("L2004"));
|
||||||
ssjCodeList.put("ou1", ou1);
|
ssjCodeList.put("out1", out1);
|
||||||
ArrayList<DeviceSsj> out2 = new ArrayList<>();
|
ArrayList<DeviceSsj> out2 = new ArrayList<>();
|
||||||
out2.add(PlcSsjRead.deviceSsjMap.get("L2006"));
|
out2.add(PlcSsjRead.deviceSsjMap.get("L2006"));
|
||||||
ssjCodeList.put("out2", out2);
|
ssjCodeList.put("out2", out2);
|
||||||
@@ -87,10 +87,14 @@ public class Floor1BothWayOutSsjThread implements Runnable {
|
|||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "roadway1":
|
case "roadway1":
|
||||||
|
dispatch(ssjCodeList.get(type));
|
||||||
|
break;
|
||||||
case "roadway2":
|
case "roadway2":
|
||||||
dispatch(ssjCodeList.get(type));
|
dispatch(ssjCodeList.get(type));
|
||||||
break;
|
break;
|
||||||
case "out1":
|
case "out1":
|
||||||
|
dispatch1(ssjCodeList.get(type));
|
||||||
|
break;
|
||||||
case "out2":
|
case "out2":
|
||||||
dispatch1(ssjCodeList.get(type));
|
dispatch1(ssjCodeList.get(type));
|
||||||
break;
|
break;
|
||||||
@@ -109,9 +113,9 @@ public class Floor1BothWayOutSsjThread implements Runnable {
|
|||||||
private void dispatch1(List<DeviceSsj> ssjList) {
|
private void dispatch1(List<DeviceSsj> ssjList) {
|
||||||
for (DeviceSsj ssj : ssjList) {
|
for (DeviceSsj ssj : ssjList) {
|
||||||
|
|
||||||
if (ssj.getTaskNo() > 0) {
|
if (ssj.getTaskNo2() > 0) {
|
||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(ssj.getTaskNo()));
|
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(ssj.getTaskNo2()));
|
||||||
if(Convert.toInt(mydoJob.getInOrOut()) > 20){
|
if(mydoJob != null && Convert.toInt(mydoJob.getInOrOut()) > 20){
|
||||||
if (ObjUtil.isNotNull(mydoJob) && mydoJob.getExecutionPhase().equals(TASK_EP_ROADWAY_SSJ)) {
|
if (ObjUtil.isNotNull(mydoJob) && mydoJob.getExecutionPhase().equals(TASK_EP_ROADWAY_SSJ)) {
|
||||||
mydoJob.setExecutionPhase(TASK_EP_SSJ);
|
mydoJob.setExecutionPhase(TASK_EP_SSJ);
|
||||||
mydoJobService.updateMydoJob(mydoJob);
|
mydoJobService.updateMydoJob(mydoJob);
|
||||||
@@ -145,18 +149,21 @@ public class Floor1BothWayOutSsjThread implements Runnable {
|
|||||||
public void dispatch(List<DeviceSsj> ssjList) {
|
public void dispatch(List<DeviceSsj> ssjList) {
|
||||||
DeviceSsj deviceSsj = ssjList.get(0);
|
DeviceSsj deviceSsj = ssjList.get(0);
|
||||||
DeviceSsj ssj = new DeviceSsj();
|
DeviceSsj ssj = new DeviceSsj();
|
||||||
|
DeviceSsj inOutSsj = new DeviceSsj();
|
||||||
String roadwayId = "";
|
String roadwayId = "";
|
||||||
String entrance_id = "";
|
String entrance_id = "";
|
||||||
if ("L2003".equals(deviceSsj.getDeviceCode())) {
|
if ("L2003".equals(deviceSsj.getDeviceCode())) {
|
||||||
roadwayId = "1";
|
roadwayId = "1";
|
||||||
ssj = ssjCodeList.get("roadway1Both").get(0);
|
ssj = ssjCodeList.get("roadway1Both").get(0);
|
||||||
entrance_id = "L2004";
|
entrance_id = "L2004";
|
||||||
|
inOutSsj = PlcSsjRead.deviceSsjMap.get("L2004");
|
||||||
|
|
||||||
}
|
}
|
||||||
if("L2005".equals(deviceSsj.getDeviceCode())) {
|
if("L2005".equals(deviceSsj.getDeviceCode())) {
|
||||||
roadwayId = "2";
|
roadwayId = "2";
|
||||||
ssj = ssjCodeList.get("roadway2Both").get(0);
|
ssj = ssjCodeList.get("roadway2Both").get(0);
|
||||||
entrance_id = "L2006";
|
entrance_id = "L2006";
|
||||||
|
inOutSsj = PlcSsjRead.deviceSsjMap.get("L2006");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> exitList = new ArrayList<>();
|
List<String> exitList = new ArrayList<>();
|
||||||
@@ -164,7 +171,7 @@ public class Floor1BothWayOutSsjThread implements Runnable {
|
|||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByExitList1(exitList, roadwayId);
|
MydoJob mydoJob = mydoJobService.selectMydoJobByExitList1(exitList, roadwayId);
|
||||||
MydoJob inJob = mydoJobService.selectMydoJobByEntranceList1(entrance_id);
|
MydoJob inJob = mydoJobService.selectMydoJobByEntranceList1(entrance_id);
|
||||||
if (ObjUtil.isNotNull(mydoJob) && deviceSsj.getKx() == 1 && ssj.getKx() == 0
|
if (ObjUtil.isNotNull(mydoJob) && deviceSsj.getKx() == 1 && ssj.getKx() == 0
|
||||||
&& ObjUtil.isNull(inJob) && ssj.getInOrOut() == 1) {
|
&& ObjUtil.isNull(inJob) && inOutSsj.getInOrOut() == 1 ) {
|
||||||
//所有线体为空闲 并且存在出库作业 并且不存在入库作业
|
//所有线体为空闲 并且存在出库作业 并且不存在入库作业
|
||||||
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByWmsCargoSpaceId(mydoJob.getCargoSpaceId());
|
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByWmsCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||||
if (ObjUtil.isNull(basCargoSpace)) {
|
if (ObjUtil.isNull(basCargoSpace)) {
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class Floor1SingleSsjThread implements Runnable {
|
|||||||
private void dispatch2(DeviceSsj ssj) {
|
private void dispatch2(DeviceSsj ssj) {
|
||||||
if (ssj.getTaskNo() > 0) {
|
if (ssj.getTaskNo() > 0) {
|
||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(ssj.getTaskNo()));
|
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(ssj.getTaskNo()));
|
||||||
if (ObjUtil.isNotNull(mydoJob)) {
|
if (ObjUtil.isNotNull(mydoJob) && Convert.toInt(mydoJob.getInOrOut()) > 20) {
|
||||||
mydoJob.setExecutionPhase(TASK_EP_SSJ);
|
mydoJob.setExecutionPhase(TASK_EP_SSJ);
|
||||||
mydoJobService.updateMydoJob(mydoJob);
|
mydoJobService.updateMydoJob(mydoJob);
|
||||||
JobCallBack jobCallBack = new JobCallBack();
|
JobCallBack jobCallBack = new JobCallBack();
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public class Floor2InOutSsjThread implements Runnable {
|
|||||||
//agvQueue.setStatus("4");
|
//agvQueue.setStatus("4");
|
||||||
//todo 与agv对点
|
//todo 与agv对点
|
||||||
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList1(agvQueue);
|
||||||
//不允许放货 等着
|
//不允许放货 等着
|
||||||
if (!agvQueues.isEmpty() && inSsjDevice.getAllowPut() == 0 && "L1001".equals(inSsjDevice.getDeviceCode())) {
|
if (!agvQueues.isEmpty() && inSsjDevice.getAllowPut() == 0 && "L1001".equals(inSsjDevice.getDeviceCode())) {
|
||||||
//下发输送线切换导向 DB未知
|
//下发输送线切换导向 DB未知
|
||||||
@@ -131,7 +131,7 @@ public class Floor2InOutSsjThread implements Runnable {
|
|||||||
agvQueue.setStatus("7"); //end
|
agvQueue.setStatus("7"); //end
|
||||||
//todo 与agv对点
|
//todo 与agv对点
|
||||||
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList1(agvQueue);
|
||||||
if (!agvQueues.isEmpty()) {
|
if (!agvQueues.isEmpty()) {
|
||||||
//解绑AGV容器
|
//解绑AGV容器
|
||||||
apiService.deleteAgvTray(agvQueues.get(0));
|
apiService.deleteAgvTray(agvQueues.get(0));
|
||||||
@@ -162,7 +162,7 @@ public class Floor2InOutSsjThread implements Runnable {
|
|||||||
agvQueue.setStatus("7"); //end
|
agvQueue.setStatus("7"); //end
|
||||||
//todo 与agv对点
|
//todo 与agv对点
|
||||||
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
agvQueue.setPositionCode2(inSsjDevice.getDeviceCode());
|
||||||
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList(agvQueue);
|
List<AgvQueue> agvQueues = agvQueueService.selectAgvQueueList1(agvQueue);
|
||||||
if(agvQueues.size() > 0){
|
if(agvQueues.size() > 0){
|
||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(agvQueues.get(0).getTaskCode());
|
MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(agvQueues.get(0).getTaskCode());
|
||||||
mydoJob.setExecutionPhase(TASK_EP_SSJ);
|
mydoJob.setExecutionPhase(TASK_EP_SSJ);
|
||||||
|
|||||||
@@ -133,10 +133,10 @@ public class Floor2RoadWaySsjThread implements Runnable {
|
|||||||
if(roadSsjDevice.getKx()==1 && roadSsjDevice.getTaskNo() == 0){
|
if(roadSsjDevice.getKx()==1 && roadSsjDevice.getTaskNo() == 0){
|
||||||
List<String> exitList = new ArrayList<>();
|
List<String> exitList = new ArrayList<>();
|
||||||
if("L1002".equals(roadSsjDevice.getDeviceCode())){
|
if("L1002".equals(roadSsjDevice.getDeviceCode())){
|
||||||
exitList.add("l1001");
|
exitList.add("L1001");
|
||||||
}
|
}
|
||||||
if("L1004".equals(roadSsjDevice.getDeviceCode())){
|
if("L1004".equals(roadSsjDevice.getDeviceCode())){
|
||||||
exitList.add("l1003");
|
exitList.add("L1003");
|
||||||
}
|
}
|
||||||
List<MydoJob> inList = mydoJobService.getInJobByEntrance(exitList);
|
List<MydoJob> inList = mydoJobService.getInJobByEntrance(exitList);
|
||||||
if(inList.size() == 0){
|
if(inList.size() == 0){
|
||||||
|
|||||||
@@ -241,10 +241,10 @@ public class LineSsjThread implements Runnable {
|
|||||||
|
|
||||||
//log.info("设备:{} 位置:{} 条码:{} 托盘大小:{}", SsjDevice.getDeviceCode(), "产线收到wcs任务号", SsjDevice.getTrayCode(), SsjDevice.getTraySize());
|
//log.info("设备:{} 位置:{} 条码:{} 托盘大小:{}", SsjDevice.getDeviceCode(), "产线收到wcs任务号", SsjDevice.getTrayCode(), SsjDevice.getTraySize());
|
||||||
//任务号查wcs作业,查巷道,看目标输送线是否空闲,查是否有出库作业,生成agv队列
|
//任务号查wcs作业,查巷道,看目标输送线是否空闲,查是否有出库作业,生成agv队列
|
||||||
|
|
||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(SsjDevice.getTaskNo()));
|
MydoJob mydoJob = mydoJobService.selectMydoJobByTaskNo(Convert.toLong(SsjDevice.getTaskNo()));
|
||||||
String deviceCode = "";
|
String deviceCode = "";
|
||||||
if (mydoJob != null) {
|
if (mydoJob != null) {
|
||||||
|
|
||||||
if ("1".equals(mydoJob.getRoadwayId())) {
|
if ("1".equals(mydoJob.getRoadwayId())) {
|
||||||
deviceCode = "L1001";
|
deviceCode = "L1001";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -26,7 +26,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectAgvQueueVo">
|
<sql id="selectAgvQueueVo">
|
||||||
select req_code, req_time, position_code_1, position_code_2, task_type, ctnr_type, ctnr_code, ctnr_num, task_mode, priority, agv_type, request, finish_time, wms_traycode, wms_task_no,status,task_code,wms_task_type from agv_queue
|
select req_code, req_time, position_code_1, position_code_2, task_type, ctnr_type, ctnr_code,
|
||||||
|
ctnr_num, task_mode, priority, agv_type, request, finish_time, wms_traycode, wms_task_no,
|
||||||
|
status,task_code,wms_task_type from agv_queue
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectAgvQueueList" parameterType="AgvQueue" resultMap="AgvQueueResult">
|
<select id="selectAgvQueueList" parameterType="AgvQueue" resultMap="AgvQueueResult">
|
||||||
@@ -53,6 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
order by req_time desc
|
order by req_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectAgvQueueList1" parameterType="AgvQueue" resultMap="AgvQueueResult">
|
||||||
|
select * from agv_queue where status=#{status} and position_code_2 like concat('%',#{positionCode2},'%')
|
||||||
|
</select>
|
||||||
<select id="selectAgvQueueByReqCode" parameterType="String" resultMap="AgvQueueResult">
|
<select id="selectAgvQueueByReqCode" parameterType="String" resultMap="AgvQueueResult">
|
||||||
<include refid="selectAgvQueueVo"/>
|
<include refid="selectAgvQueueVo"/>
|
||||||
where req_code = #{reqCode}
|
where req_code = #{reqCode}
|
||||||
|
|||||||
@@ -255,6 +255,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<select id="selectMydoJobByEntranceList1" resultMap="MydoJobResult">
|
<select id="selectMydoJobByEntranceList1" resultMap="MydoJobResult">
|
||||||
select TOP 1 job_id, status, task_no, roadway_id, cargo_space_id, target_roadway_id, target_cargo_space_id, priority, execution_phase, in_or_out, create_time, start_time, finish_time, entrance_id, exit_id, warehouse_id, fault_flag,flag, tray_code from mydo_job_wcs
|
select TOP 1 job_id, status, task_no, roadway_id, cargo_space_id, target_roadway_id, target_cargo_space_id, priority, execution_phase, in_or_out, create_time, start_time, finish_time, entrance_id, exit_id, warehouse_id, fault_flag,flag, tray_code from mydo_job_wcs
|
||||||
where entrance_id = #{entranceId}
|
where entrance_id = #{entranceId}
|
||||||
|
|
||||||
and in_or_out <= 20 and status = 3
|
and in_or_out <= 20 and status = 3
|
||||||
order by priority desc,create_time desc
|
order by priority desc,create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
where uuid = #{uuid}
|
where uuid = #{uuid}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<delete id="deleteDdjDeviceExecutionQueueByUuid" parameterType="String">
|
<delete id="deleteDdjDeviceExecutionQueueByUuid" parameterType="String">
|
||||||
delete from ddj_device_execution_queue where uuid = #{uuid}
|
delete from ddj_device_execution_queue where uuid = #{uuid}
|
||||||
</delete>
|
</delete>
|
||||||
|
|||||||
@@ -51,3 +51,13 @@ export function delMydoJob(jobId) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function handFinish(jobIds) {
|
||||||
|
return request({
|
||||||
|
url: '/job/mydoJob/OuthandFinish',
|
||||||
|
method: 'get',
|
||||||
|
params: { jobIds: jobIds }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -49,4 +49,5 @@ export function delDdj(uuid) {
|
|||||||
url: '/queue/ddj/' + uuid,
|
url: '/queue/ddj/' + uuid,
|
||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,20 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-delete"
|
||||||
|
size="mini"
|
||||||
|
:disabled="multiple"
|
||||||
|
@click="handleDelete"
|
||||||
|
v-hasPermi="['agv:queue:remove']"
|
||||||
|
>删除</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
<el-table v-loading="loading" :data="queueList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="queueList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="请求编号" align="center" prop="reqCode" />
|
<el-table-column label="请求编号" align="center" prop="reqCode" />
|
||||||
@@ -82,6 +96,18 @@
|
|||||||
<dict-tag :options="dict.type.wms_task_type" :value="scope.row.wmsTaskType"/>
|
<dict-tag :options="dict.type.wms_task_type" :value="scope.row.wmsTaskType"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['agv:queue:remove']"
|
||||||
|
>删除
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
|
|||||||
@@ -158,25 +158,25 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row :gutter="20" class="table-container">
|
<!-- <el-row :gutter="20" class="table-container">-->
|
||||||
<el-col :span="24" class="table-col">
|
<!-- <el-col :span="24" class="table-col">-->
|
||||||
<div class="table-card">
|
<!-- <div class="table-card">-->
|
||||||
<div class="table-header">
|
<!-- <div class="table-header">-->
|
||||||
<span class="table-title">AGV</span>
|
<!-- <span class="table-title">AGV</span>-->
|
||||||
<el-tag type="success" size="mini">{{ agvData.length }}台</el-tag>
|
<!-- <el-tag type="success" size="mini">{{ agvData.length }}台</el-tag>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<el-table :data="agvData" size="mini" style="width: 100%">
|
<!-- <el-table :data="agvData" size="mini" style="width: 100%">-->
|
||||||
<el-table-column label="设备编码" align="center" prop="deviceCode" />
|
<!-- <el-table-column label="设备编码" align="center" prop="deviceCode" />-->
|
||||||
<el-table-column label="设备名称" align="center" prop="name" />
|
<!-- <el-table-column label="设备名称" align="center" prop="name" />-->
|
||||||
<el-table-column label="状态" align="center" prop="status" />
|
<!-- <el-table-column label="状态" align="center" prop="status" />-->
|
||||||
<el-table-column label="起点" align="center" prop="spare1" />
|
<!-- <el-table-column label="起点" align="center" prop="spare1" />-->
|
||||||
<el-table-column label="终点" align="center" prop="spare2" />
|
<!-- <el-table-column label="终点" align="center" prop="spare2" />-->
|
||||||
<el-table-column label="任务号" align="center" prop="taskNo" />
|
<!-- <el-table-column label="任务号" align="center" prop="taskNo" />-->
|
||||||
<el-table-column label="执行阶段" align="center" prop="zxjd" />
|
<!-- <el-table-column label="执行阶段" align="center" prop="zxjd" />-->
|
||||||
</el-table>
|
<!-- </el-table>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
</el-row>
|
<!-- </el-row>-->
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<div class="floor-title">一层</div>
|
<div class="floor-title">一层</div>
|
||||||
|
|||||||
@@ -129,51 +129,20 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<!-- <el-row :gutter="10" class="mb8">-->
|
<el-row :gutter="10" class="mb8">
|
||||||
<!-- <el-col :span="1.5">-->
|
<el-col :span="1.5">
|
||||||
<!-- <el-button-->
|
<el-button
|
||||||
<!-- type="primary"-->
|
type="danger"
|
||||||
<!-- plain-->
|
plain
|
||||||
<!-- icon="el-icon-plus"-->
|
icon="el-icon-delete"
|
||||||
<!-- size="mini"-->
|
size="mini"
|
||||||
<!-- @click="handleAdd"-->
|
:disabled="multiple"
|
||||||
<!-- v-hasPermi="['job:mydoJob:add']"-->
|
@click="OuthandFinish"
|
||||||
<!-- >新增</el-button>-->
|
v-hasPermi="['job:mydoJob:OuthandFinish']"
|
||||||
<!-- </el-col>-->
|
>手动完成</el-button>
|
||||||
<!-- <el-col :span="1.5">-->
|
</el-col>
|
||||||
<!-- <el-button-->
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
<!-- type="success"-->
|
</el-row>
|
||||||
<!-- plain-->
|
|
||||||
<!-- icon="el-icon-edit"-->
|
|
||||||
<!-- size="mini"-->
|
|
||||||
<!-- :disabled="single"-->
|
|
||||||
<!-- @click="handleUpdate"-->
|
|
||||||
<!-- v-hasPermi="['job:mydoJob:edit']"-->
|
|
||||||
<!-- >修改</el-button>-->
|
|
||||||
<!-- </el-col>-->
|
|
||||||
<!-- <el-col :span="1.5">-->
|
|
||||||
<!-- <el-button-->
|
|
||||||
<!-- type="danger"-->
|
|
||||||
<!-- plain-->
|
|
||||||
<!-- icon="el-icon-delete"-->
|
|
||||||
<!-- size="mini"-->
|
|
||||||
<!-- :disabled="multiple"-->
|
|
||||||
<!-- @click="handleDelete"-->
|
|
||||||
<!-- v-hasPermi="['job:mydoJob:remove']"-->
|
|
||||||
<!-- >删除</el-button>-->
|
|
||||||
<!-- </el-col>-->
|
|
||||||
<!-- <el-col :span="1.5">-->
|
|
||||||
<!-- <el-button-->
|
|
||||||
<!-- type="warning"-->
|
|
||||||
<!-- plain-->
|
|
||||||
<!-- icon="el-icon-download"-->
|
|
||||||
<!-- size="mini"-->
|
|
||||||
<!-- @click="handleExport"-->
|
|
||||||
<!-- v-hasPermi="['job:mydoJob:export']"-->
|
|
||||||
<!-- >导出</el-button>-->
|
|
||||||
<!-- </el-col>-->
|
|
||||||
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
|
|
||||||
<!-- </el-row>-->
|
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="mydoJobList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="mydoJobList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
@@ -234,45 +203,45 @@
|
|||||||
<el-form-item label="任务号" prop="taskNo">
|
<el-form-item label="任务号" prop="taskNo">
|
||||||
<el-input v-model="form.taskNo" placeholder="请输入任务号" />
|
<el-input v-model="form.taskNo" placeholder="请输入任务号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="巷道ID" prop="roadwayId">
|
<!-- <el-form-item label="巷道ID" prop="roadwayId">-->
|
||||||
<el-input v-model="form.roadwayId" placeholder="请输入巷道ID" />
|
<!-- <el-input v-model="form.roadwayId" placeholder="请输入巷道ID" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="货位ID" prop="cargoSpaceId">
|
<!-- <el-form-item label="货位ID" prop="cargoSpaceId">-->
|
||||||
<el-input v-model="form.cargoSpaceId" placeholder="请输入货位ID" />
|
<!-- <el-input v-model="form.cargoSpaceId" placeholder="请输入货位ID" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="去向" prop="targetRoadwayId">
|
<!-- <el-form-item label="去向" prop="targetRoadwayId">-->
|
||||||
<el-input v-model="form.targetRoadwayId" placeholder="请输入去向" />
|
<!-- <el-input v-model="form.targetRoadwayId" placeholder="请输入去向" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item label="目标货位ID" prop="targetCargoSpaceId">
|
<!-- <el-form-item label="目标货位ID" prop="targetCargoSpaceId">
|
||||||
<el-input v-model="form.targetCargoSpaceId" placeholder="请输入目标货位ID" />
|
<el-input v-model="form.targetCargoSpaceId" placeholder="请输入目标货位ID" />
|
||||||
</el-form-item>-->
|
</el-form-item>-->
|
||||||
<el-form-item label="优先级" prop="priority">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-input v-model="form.priority" placeholder="请输入优先级" />
|
<el-input v-model="form.priority" placeholder="请修改状态" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="执行阶段" prop="executionPhase">
|
<el-form-item label="执行阶段" prop="executionPhase">
|
||||||
<el-input v-model="form.executionPhase" placeholder="请输入执行阶段" />
|
<el-input v-model="form.executionPhase" placeholder="请修改执行阶段" />
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="任务类型" prop="inOrOut">
|
|
||||||
<el-input v-model="form.inOrOut" placeholder="请输入任务类型" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="开始时间" prop="startTime">
|
|
||||||
<el-input v-model="form.startTime" placeholder="请输入开始时间" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="结束时间" prop="finishTime">
|
|
||||||
<el-input v-model="form.finishTime" placeholder="请输入结束时间" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="入口ID" prop="entranceId">
|
|
||||||
<el-input v-model="form.entranceId" placeholder="请输入入口ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="出口ID" prop="exitId">
|
|
||||||
<el-input v-model="form.exitId" placeholder="请输入出口ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="仓库ID" prop="warehouseId">
|
|
||||||
<el-input v-model="form.warehouseId" placeholder="请输入仓库ID" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="重分标志" prop="faultFlag">
|
|
||||||
<el-input v-model="form.faultFlag" placeholder="请输入重分标志" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="任务类型" prop="inOrOut">-->
|
||||||
|
<!-- <el-input v-model="form.inOrOut" placeholder="请输入任务类型" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="开始时间" prop="startTime">-->
|
||||||
|
<!-- <el-input v-model="form.startTime" placeholder="请输入开始时间" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="结束时间" prop="finishTime">-->
|
||||||
|
<!-- <el-input v-model="form.finishTime" placeholder="请输入结束时间" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="入口ID" prop="entranceId">-->
|
||||||
|
<!-- <el-input v-model="form.entranceId" placeholder="请输入入口ID" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="出口ID" prop="exitId">-->
|
||||||
|
<!-- <el-input v-model="form.exitId" placeholder="请输入出口ID" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="仓库ID" prop="warehouseId">-->
|
||||||
|
<!-- <el-input v-model="form.warehouseId" placeholder="请输入仓库ID" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- <el-form-item label="重分标志" prop="faultFlag">-->
|
||||||
|
<!-- <el-input v-model="form.faultFlag" placeholder="请输入重分标志" />-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
@@ -283,7 +252,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {listMydoJob, getMydoJob, delMydoJob, addMydoJob, updateMydoJob, listMydoJobFinish} from "@/api/job/mydoJob"
|
import {listMydoJob, getMydoJob, delMydoJob, addMydoJob, updateMydoJob, listMydoJobFinish,handFinish} from "@/api/job/mydoJob"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MydoJob",
|
name: "MydoJob",
|
||||||
@@ -450,9 +419,25 @@ export default {
|
|||||||
return delMydoJob(jobIds)
|
return delMydoJob(jobIds)
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.$modal.msgSuccess("删除成功")
|
this.$modal.msgSuccess("操作成功")
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
},
|
},
|
||||||
|
OuthandFinish() {
|
||||||
|
|
||||||
|
if (this.ids.length === 0) {
|
||||||
|
this.$modal.msgError("请选择需要手动完成的任务");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(this.ids.join(','))
|
||||||
|
|
||||||
|
this.$modal.confirm('是否确认手动完成选中的任务?').then(() => {
|
||||||
|
return handFinish(this.ids.join(','));
|
||||||
|
}).then(() => {
|
||||||
|
this.$modal.msgSuccess("手动完成成功");
|
||||||
|
this.getList();
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('job/mydoJob/export', {
|
this.download('job/mydoJob/export', {
|
||||||
|
|||||||
@@ -159,16 +159,6 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<!-- <el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
plain
|
|
||||||
icon="el-icon-plus"
|
|
||||||
size="mini"
|
|
||||||
@click="handleAdd"
|
|
||||||
v-hasPermi="['queue:ddj:add']"
|
|
||||||
>新增</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="success"
|
type="success"
|
||||||
@@ -178,7 +168,7 @@
|
|||||||
:disabled="single"
|
:disabled="single"
|
||||||
@click="handleUpdate"
|
@click="handleUpdate"
|
||||||
v-hasPermi="['queue:ddj:edit']"
|
v-hasPermi="['queue:ddj:edit']"
|
||||||
>修改</el-button>
|
>重新下发</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -191,16 +181,6 @@
|
|||||||
v-hasPermi="['queue:ddj:remove']"
|
v-hasPermi="['queue:ddj:remove']"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="warning"
|
|
||||||
plain
|
|
||||||
icon="el-icon-download"
|
|
||||||
size="mini"
|
|
||||||
@click="handleExport"
|
|
||||||
v-hasPermi="['queue:ddj:export']"
|
|
||||||
>导出</el-button>
|
|
||||||
</el-col>-->
|
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -259,70 +239,70 @@
|
|||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改堆垛机执行队列对话框 -->
|
<!-- 添加或修改堆垛机执行队列对话框-->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>-->
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">-->
|
||||||
<el-form-item label="任务号" prop="rwh">
|
<!-- <el-form-item label="任务号" prop="rwh">-->
|
||||||
<el-input v-model="form.rwh" placeholder="请输入任务号" />
|
<!-- <el-input v-model="form.rwh" placeholder="请输入任务号" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
<el-form-item label="设备id" prop="devId">
|
<!-- <el-form-item label="设备id" prop="devId">-->
|
||||||
<el-input v-model="form.devId" placeholder="请输入设备id" />
|
<!-- <el-input v-model="form.devId" placeholder="请输入设备id" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="任务状态" prop="rwzt">
|
<!-- <el-form-item label="任务状态" prop="rwzt">-->
|
||||||
<el-input v-model="form.rwzt" placeholder="请输入任务状态" />
|
<!-- <el-input v-model="form.rwzt" placeholder="请输入任务状态" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="原排" prop="yph">
|
<!-- <el-form-item label="原排" prop="yph">-->
|
||||||
<el-input v-model="form.yph" placeholder="请输入原排" />
|
<!-- <el-input v-model="form.yph" placeholder="请输入原排" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="原列" prop="ylh">
|
<!-- <el-form-item label="原列" prop="ylh">-->
|
||||||
<el-input v-model="form.ylh" placeholder="请输入原列" />
|
<!-- <el-input v-model="form.ylh" placeholder="请输入原列" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="原层" prop="ych">
|
<!-- <el-form-item label="原层" prop="ych">-->
|
||||||
<el-input v-model="form.ych" placeholder="请输入原层" />
|
<!-- <el-input v-model="form.ych" placeholder="请输入原层" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="目标排" prop="mbph">
|
<!-- <el-form-item label="目标排" prop="mbph">-->
|
||||||
<el-input v-model="form.mbph" placeholder="请输入目标排" />
|
<!-- <el-input v-model="form.mbph" placeholder="请输入目标排" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="目标列" prop="mblh">
|
<!-- <el-form-item label="目标列" prop="mblh">-->
|
||||||
<el-input v-model="form.mblh" placeholder="请输入目标列" />
|
<!-- <el-input v-model="form.mblh" placeholder="请输入目标列" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="目标层" prop="mbch">
|
<!-- <el-form-item label="目标层" prop="mbch">-->
|
||||||
<el-input v-model="form.mbch" placeholder="请输入目标层" />
|
<!-- <el-input v-model="form.mbch" placeholder="请输入目标层" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="堆垛机下发" prop="ddjxf">
|
<!-- <el-form-item label="堆垛机下发" prop="ddjxf">-->
|
||||||
<el-input v-model="form.ddjxf" placeholder="请输入堆垛机下发" />
|
<!-- <el-input v-model="form.ddjxf" placeholder="请输入堆垛机下发" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="任务类型" prop="rwlx">
|
<!-- <el-form-item label="任务类型" prop="rwlx">-->
|
||||||
<el-input v-model="form.rwlx" placeholder="请输入任务类型" />
|
<!-- <el-input v-model="form.rwlx" placeholder="请输入任务类型" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="生成时间" prop="scsj">
|
<!-- <el-form-item label="生成时间" prop="scsj">-->
|
||||||
<el-input v-model="form.scsj" placeholder="请输入生成时间" />
|
<!-- <el-input v-model="form.scsj" placeholder="请输入生成时间" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="下发时间" prop="xfsj">
|
<!-- <el-form-item label="下发时间" prop="xfsj">-->
|
||||||
<el-input v-model="form.xfsj" placeholder="请输入下发时间" />
|
<!-- <el-input v-model="form.xfsj" placeholder="请输入下发时间" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="结束时间" prop="jssj">
|
<!-- <el-form-item label="结束时间" prop="jssj">-->
|
||||||
<el-input v-model="form.jssj" placeholder="请输入结束时间" />
|
<!-- <el-input v-model="form.jssj" placeholder="请输入结束时间" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="命令方式" prop="mlfs">
|
<!-- <el-form-item label="命令方式" prop="mlfs">-->
|
||||||
<el-input v-model="form.mlfs" placeholder="请输入命令方式" />
|
<!-- <el-input v-model="form.mlfs" placeholder="请输入命令方式" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="${comment}" prop="spare1">
|
<!-- <el-form-item label="${comment}" prop="spare1">-->
|
||||||
<el-input v-model="form.spare1" placeholder="请输入${comment}" />
|
<!-- <el-input v-model="form.spare1" placeholder="请输入${comment}" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="${comment}" prop="spare2">
|
<!-- <el-form-item label="${comment}" prop="spare2">-->
|
||||||
<el-input v-model="form.spare2" placeholder="请输入${comment}" />
|
<!-- <el-input v-model="form.spare2" placeholder="请输入${comment}" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="${comment}" prop="spare3">
|
<!-- <el-form-item label="${comment}" prop="spare3">-->
|
||||||
<el-input v-model="form.spare3" placeholder="请输入${comment}" />
|
<!-- <el-input v-model="form.spare3" placeholder="请输入${comment}" />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
</el-form>
|
<!-- </el-form>-->
|
||||||
<div slot="footer" class="dialog-footer">
|
<!-- <div slot="footer" class="dialog-footer">-->
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<!-- <el-button type="primary" @click="submitForm">确 定</el-button>-->
|
||||||
<el-button @click="cancel">取 消</el-button>
|
<!-- <el-button @click="cancel">取 消</el-button>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</el-dialog>
|
<!-- </el-dialog>-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -466,13 +446,27 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset()
|
this.$modal.confirm('是否确认重新下发?').then(() => {
|
||||||
const uuid = row.uuid || this.ids
|
// 只处理第一个选中的
|
||||||
getDdj(uuid).then(response => {
|
const uuids = row.uuid || this.ids
|
||||||
this.form = response.data
|
console.log(uuids)
|
||||||
this.open = true
|
|
||||||
this.title = "修改堆垛机执行队列"
|
if (uuids.length > 0) {
|
||||||
})
|
// 假设DdjDeviceExecutionQueue对象有uuid字段
|
||||||
|
const data = {
|
||||||
|
uuid: uuids[0]
|
||||||
|
// 可能需要的其他字段...
|
||||||
|
};
|
||||||
|
return updateDdj(data);
|
||||||
|
} else {
|
||||||
|
return Promise.reject('请选择要重新下发的记录');
|
||||||
|
}
|
||||||
|
}).then(() => {
|
||||||
|
this.$modal.msgSuccess("重新下发成功");
|
||||||
|
this.getList();
|
||||||
|
}).catch((error) => {
|
||||||
|
console.error(error);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm() {
|
submitForm() {
|
||||||
@@ -480,7 +474,7 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.uuid != null) {
|
if (this.form.uuid != null) {
|
||||||
updateDdj(this.form).then(response => {
|
updateDdj(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功")
|
this.$modal.msgSuccess("下发成功")
|
||||||
this.open = false
|
this.open = false
|
||||||
this.getList()
|
this.getList()
|
||||||
})
|
})
|
||||||
@@ -504,6 +498,19 @@ export default {
|
|||||||
this.$modal.msgSuccess("删除成功")
|
this.$modal.msgSuccess("删除成功")
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
},
|
},
|
||||||
|
/**重新下发 */
|
||||||
|
// OuthandFinish() {
|
||||||
|
// if (this.ids.length === 0) {
|
||||||
|
// this.$modal.msgError("请选择需要重新下发的任务");
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// this.$modal.confirm('是否确认重新下发?').then(() => {
|
||||||
|
// return handFinish(this.ids.join(','));
|
||||||
|
// }).then(() => {
|
||||||
|
// this.$modal.msgSuccess("重新下发成功");
|
||||||
|
// this.getList();
|
||||||
|
// }).catch(() => {});
|
||||||
|
// },
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('queue/ddj/export', {
|
this.download('queue/ddj/export', {
|
||||||
|
|||||||
Reference in New Issue
Block a user