页面展示修改

This commit is contained in:
liuhanqing
2025-07-30 11:37:24 +08:00
parent a0f975e6fa
commit 405a8771d8
26 changed files with 611 additions and 1377 deletions

View File

@@ -1,104 +0,0 @@
package com.ruoyi.bas.cachePort.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
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.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bas.cachePort.domain.WcsCachePort;
import com.ruoyi.bas.cachePort.service.IWcsCachePortService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 缓存点管理Controller
*
* @author ruoyi
* @date 2025-06-11
*/
@RestController
@RequestMapping("/bas/cachePort")
public class WcsCachePortController extends BaseController
{
@Autowired
private IWcsCachePortService wcsCachePortService;
/**
* 查询缓存点管理列表
*/
@PreAuthorize("@ss.hasPermi('bas:cachePort:list')")
@GetMapping("/list")
public TableDataInfo list(WcsCachePort wcsCachePort)
{
startPage();
List<WcsCachePort> list = wcsCachePortService.selectWcsCachePortList(wcsCachePort);
return getDataTable(list);
}
/**
* 导出缓存点管理列表
*/
@PreAuthorize("@ss.hasPermi('bas:cachePort:export')")
@Log(title = "缓存点管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, WcsCachePort wcsCachePort)
{
List<WcsCachePort> list = wcsCachePortService.selectWcsCachePortList(wcsCachePort);
ExcelUtil<WcsCachePort> util = new ExcelUtil<WcsCachePort>(WcsCachePort.class);
util.exportExcel(response, list, "缓存点管理数据");
}
/**
* 获取缓存点管理详细信息
*/
@PreAuthorize("@ss.hasPermi('bas:cachePort:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(wcsCachePortService.selectWcsCachePortById(id));
}
/**
* 新增缓存点管理
*/
@PreAuthorize("@ss.hasPermi('bas:cachePort:add')")
@Log(title = "缓存点管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody WcsCachePort wcsCachePort)
{
return toAjax(wcsCachePortService.insertWcsCachePort(wcsCachePort));
}
/**
* 修改缓存点管理
*/
@PreAuthorize("@ss.hasPermi('bas:cachePort:edit')")
@Log(title = "缓存点管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody WcsCachePort wcsCachePort)
{
return toAjax(wcsCachePortService.updateWcsCachePort(wcsCachePort));
}
/**
* 删除缓存点管理
*/
@PreAuthorize("@ss.hasPermi('bas:cachePort:remove')")
@Log(title = "缓存点管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(wcsCachePortService.deleteWcsCachePortByIds(ids));
}
}

View File

@@ -1,157 +0,0 @@
package com.ruoyi.bas.cachePort.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 缓存点管理对象 wcs_cache_port
*
* @author ruoyi
* @date 2025-06-11
*/
public class WcsCachePort extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 点位编码 */
@Excel(name = "点位编码")
private String portCode;
/** 点位名称 */
@Excel(name = "点位名称")
private String portName;
/** 1-ctu放货点位 2-高架库放货点位 3-平库放货点位 */
@Excel(name = "1-ctu放货点位 2-高架库放货点位 3-平库放货点位")
private String portType;
/** 点位区域 */
@Excel(name = "点位区域")
private String portRegion;
/** 备用字段 */
@Excel(name = "备用字段")
private String spare1;
/** 备用字段 */
@Excel(name = "备用字段")
private String spare2;
/** 备用字段 */
@Excel(name = "备用字段")
private String spare3;
/** 点位状态 */
@Excel(name = "点位状态")
private String status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setPortCode(String portCode)
{
this.portCode = portCode;
}
public String getPortCode()
{
return portCode;
}
public void setPortName(String portName)
{
this.portName = portName;
}
public String getPortName()
{
return portName;
}
public void setPortType(String portType)
{
this.portType = portType;
}
public String getPortType()
{
return portType;
}
public void setPortRegion(String portRegion)
{
this.portRegion = portRegion;
}
public String getPortRegion()
{
return portRegion;
}
public void setSpare1(String spare1)
{
this.spare1 = spare1;
}
public String getSpare1()
{
return spare1;
}
public void setSpare2(String spare2)
{
this.spare2 = spare2;
}
public String getSpare2()
{
return spare2;
}
public void setSpare3(String spare3)
{
this.spare3 = spare3;
}
public String getSpare3()
{
return spare3;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("portCode", getPortCode())
.append("portName", getPortName())
.append("portType", getPortType())
.append("portRegion", getPortRegion())
.append("spare1", getSpare1())
.append("spare2", getSpare2())
.append("spare3", getSpare3())
.append("status", getStatus())
.toString();
}
}

View File

@@ -1,61 +0,0 @@
package com.ruoyi.bas.cachePort.mapper;
import java.util.List;
import com.ruoyi.bas.cachePort.domain.WcsCachePort;
/**
* 缓存点管理Mapper接口
*
* @author ruoyi
* @date 2025-06-11
*/
public interface WcsCachePortMapper
{
/**
* 查询缓存点管理
*
* @param id 缓存点管理主键
* @return 缓存点管理
*/
public WcsCachePort selectWcsCachePortById(Long id);
/**
* 查询缓存点管理列表
*
* @param wcsCachePort 缓存点管理
* @return 缓存点管理集合
*/
public List<WcsCachePort> selectWcsCachePortList(WcsCachePort wcsCachePort);
/**
* 新增缓存点管理
*
* @param wcsCachePort 缓存点管理
* @return 结果
*/
public int insertWcsCachePort(WcsCachePort wcsCachePort);
/**
* 修改缓存点管理
*
* @param wcsCachePort 缓存点管理
* @return 结果
*/
public int updateWcsCachePort(WcsCachePort wcsCachePort);
/**
* 删除缓存点管理
*
* @param id 缓存点管理主键
* @return 结果
*/
public int deleteWcsCachePortById(Long id);
/**
* 批量删除缓存点管理
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteWcsCachePortByIds(Long[] ids);
}

View File

@@ -1,61 +0,0 @@
package com.ruoyi.bas.cachePort.service;
import java.util.List;
import com.ruoyi.bas.cachePort.domain.WcsCachePort;
/**
* 缓存点管理Service接口
*
* @author ruoyi
* @date 2025-06-11
*/
public interface IWcsCachePortService
{
/**
* 查询缓存点管理
*
* @param id 缓存点管理主键
* @return 缓存点管理
*/
public WcsCachePort selectWcsCachePortById(Long id);
/**
* 查询缓存点管理列表
*
* @param wcsCachePort 缓存点管理
* @return 缓存点管理集合
*/
public List<WcsCachePort> selectWcsCachePortList(WcsCachePort wcsCachePort);
/**
* 新增缓存点管理
*
* @param wcsCachePort 缓存点管理
* @return 结果
*/
public int insertWcsCachePort(WcsCachePort wcsCachePort);
/**
* 修改缓存点管理
*
* @param wcsCachePort 缓存点管理
* @return 结果
*/
public int updateWcsCachePort(WcsCachePort wcsCachePort);
/**
* 批量删除缓存点管理
*
* @param ids 需要删除的缓存点管理主键集合
* @return 结果
*/
public int deleteWcsCachePortByIds(Long[] ids);
/**
* 删除缓存点管理信息
*
* @param id 缓存点管理主键
* @return 结果
*/
public int deleteWcsCachePortById(Long id);
}

View File

@@ -1,93 +0,0 @@
package com.ruoyi.bas.cachePort.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bas.cachePort.mapper.WcsCachePortMapper;
import com.ruoyi.bas.cachePort.domain.WcsCachePort;
import com.ruoyi.bas.cachePort.service.IWcsCachePortService;
/**
* 缓存点管理Service业务层处理
*
* @author ruoyi
* @date 2025-06-11
*/
@Service
public class WcsCachePortServiceImpl implements IWcsCachePortService
{
@Autowired
private WcsCachePortMapper wcsCachePortMapper;
/**
* 查询缓存点管理
*
* @param id 缓存点管理主键
* @return 缓存点管理
*/
@Override
public WcsCachePort selectWcsCachePortById(Long id)
{
return wcsCachePortMapper.selectWcsCachePortById(id);
}
/**
* 查询缓存点管理列表
*
* @param wcsCachePort 缓存点管理
* @return 缓存点管理
*/
@Override
public List<WcsCachePort> selectWcsCachePortList(WcsCachePort wcsCachePort)
{
return wcsCachePortMapper.selectWcsCachePortList(wcsCachePort);
}
/**
* 新增缓存点管理
*
* @param wcsCachePort 缓存点管理
* @return 结果
*/
@Override
public int insertWcsCachePort(WcsCachePort wcsCachePort)
{
return wcsCachePortMapper.insertWcsCachePort(wcsCachePort);
}
/**
* 修改缓存点管理
*
* @param wcsCachePort 缓存点管理
* @return 结果
*/
@Override
public int updateWcsCachePort(WcsCachePort wcsCachePort)
{
return wcsCachePortMapper.updateWcsCachePort(wcsCachePort);
}
/**
* 批量删除缓存点管理
*
* @param ids 需要删除的缓存点管理主键
* @return 结果
*/
@Override
public int deleteWcsCachePortByIds(Long[] ids)
{
return wcsCachePortMapper.deleteWcsCachePortByIds(ids);
}
/**
* 删除缓存点管理信息
*
* @param id 缓存点管理主键
* @return 结果
*/
@Override
public int deleteWcsCachePortById(Long id)
{
return wcsCachePortMapper.deleteWcsCachePortById(id);
}
}

View File

@@ -25,7 +25,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
* agv历史队列Controller
*
* @author ruoyi
* @date 2025-07-03
* @date 2025-07-30
*/
@RestController
@RequestMapping("/agv/queueFinish")

View File

@@ -9,7 +9,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* agv历史队列对象 agv_queue_finish
*
* @author ruoyi
* @date 2025-07-03
* @date 2025-07-30
*/
public class AgvQueueFinish extends BaseEntity
{
@@ -18,8 +18,8 @@ public class AgvQueueFinish extends BaseEntity
/** 请求编号 */
private String reqCode;
/** 请求时间截 yyyy-MM-dd HH:mm:ss */
@Excel(name = "请求时间截 yyyy-MM-dd HH:mm:ss")
/** 请求时间 */
@Excel(name = "请求时间")
private String reqTime;
/** 起点 */
@@ -62,8 +62,8 @@ public class AgvQueueFinish extends BaseEntity
@Excel(name = "继续请求")
private String request;
/** 结束时间 yyyy-MM-dd HH:mm:ss */
@Excel(name = "结束时间 yyyy-MM-dd HH:mm:ss")
/** 结束时间 */
@Excel(name = "结束时间")
private String finishTime;
/** wms托盘码/容器码 */
@@ -74,6 +74,18 @@ public class AgvQueueFinish extends BaseEntity
@Excel(name = "wms任务号")
private String wmsTaskNo;
/** 任务单号 */
@Excel(name = "任务单号")
private String taskCode;
/** 任务状态 */
@Excel(name = "任务状态")
private String status;
/** wms任务类型 */
@Excel(name = "wms任务类型")
private String wmsTaskType;
public void setReqCode(String reqCode)
{
this.reqCode = reqCode;
@@ -224,6 +236,36 @@ public class AgvQueueFinish extends BaseEntity
return wmsTaskNo;
}
public void setTaskCode(String taskCode)
{
this.taskCode = taskCode;
}
public String getTaskCode()
{
return taskCode;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setWmsTaskType(String wmsTaskType)
{
this.wmsTaskType = wmsTaskType;
}
public String getWmsTaskType()
{
return wmsTaskType;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -242,6 +284,9 @@ public class AgvQueueFinish extends BaseEntity
.append("finishTime", getFinishTime())
.append("wmsTraycode", getWmsTraycode())
.append("wmsTaskNo", getWmsTaskNo())
.append("taskCode", getTaskCode())
.append("status", getStatus())
.append("wmsTaskType", getWmsTaskType())
.toString();
}
}

View File

@@ -7,7 +7,7 @@ import com.ruoyi.device.agv.domain.AgvQueueFinish;
* agv历史队列Mapper接口
*
* @author ruoyi
* @date 2025-07-03
* @date 2025-07-30
*/
public interface AgvQueueFinishMapper
{

View File

@@ -7,7 +7,7 @@ import com.ruoyi.device.agv.domain.AgvQueueFinish;
* agv历史队列Service接口
*
* @author ruoyi
* @date 2025-07-03
* @date 2025-07-30
*/
public interface IAgvQueueFinishService
{

View File

@@ -11,7 +11,7 @@ import com.ruoyi.device.agv.service.IAgvQueueFinishService;
* agv历史队列Service业务层处理
*
* @author ruoyi
* @date 2025-07-03
* @date 2025-07-30
*/
@Service
public class AgvQueueFinishServiceImpl implements IAgvQueueFinishService

View File

@@ -11,6 +11,7 @@ import com.ruoyi.schedule.scheduleTask.ssj.bs.BsPickSsjTread;
import com.ruoyi.schedule.scheduleTask.ssj.js.JsInSsjThread;
import com.ruoyi.schedule.scheduleTask.ssj.js.JsOutSsjThread;
import com.ruoyi.schedule.scheduleTask.ssj.js.JsPickSsjTread;
import com.ruoyi.schedule.scheduleTask.ssj.monitor.SsjMonitorThread;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -31,6 +32,7 @@ public class ScheduleThread {
public CustomThread<JsOutSsjThread> jsOutSsjThread;
public CustomThread<BsPickSsjTread> bsPickSsjThread;
public CustomThread<JsPickSsjTread> jsPickSsjThread;
public CustomThread<SsjMonitorThread> ssjMonitorThread;
/**
* 项目初始化启动
@@ -60,6 +62,9 @@ public class ScheduleThread {
bsPickSsjThread = new CustomThread<BsPickSsjTread>(new Thread(bsPickSsjTread1), bsPickSsjTread1);
JsPickSsjTread jsPickSsjTread1 = new JsPickSsjTread();
jsPickSsjThread = new CustomThread<JsPickSsjTread>(new Thread(jsPickSsjTread1), jsPickSsjTread1);
SsjMonitorThread ssjMonitorThread1 = new SsjMonitorThread();
ssjMonitorThread = new CustomThread<SsjMonitorThread>(new Thread(ssjMonitorThread1), ssjMonitorThread1);
}
/**
@@ -106,6 +111,8 @@ public class ScheduleThread {
//剪上出库到位线程调度-wms电子屏交互
//jsPickSsjThread.getThread().start();
//监控输送机
ssjMonitorThread.getThread().start();
}
/**

View File

@@ -50,373 +50,6 @@ public class PlcRead implements Runnable {
int baseOffset = 0;
for (String ssjCode : deviceMap.keySet()) {
DeviceSsj ssjDevice = deviceMap.get(ssjCode);
String readAddress = "";
String writeAddress = "";
switch (ssjDevice.getDeviceCode()) {
case "G5011":
// 处理 G5011
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5012":
// 处理 G5012
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5016":
// 处理 G5016
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5017":
// 处理 G5017
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5002":
// 处理 G5002
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5003":
// 处理 G5003
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5007":
// 处理 G5007
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5008":
// 处理 G5008
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3011":
// 处理 G3011
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3012":
// 处理 G3012
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4007":
// 处理 G4007
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4008":
// 处理 G4008
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4016":
// 处理 G4016
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4017":
// 处理 G4017
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4011":
// 处理 G4011
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4012":
// 处理 G4012
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4002":
// 处理 G4002
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4003":
// 处理 G4003
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3002":
// 处理 G3002
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3003":
// 处理 G3003
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2002":
// 处理 G2002
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2003":
// 处理 G2003
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1011":
// 处理 G1011
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3016":
// 处理 G3016
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3017":
// 处理 G3017
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3007":
// 处理 G3007
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3008":
// 处理 G3008
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1007":
// 处理 G1007
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1008":
// 处理 G1008
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1005":
// 处理 G1005
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1001":
// 处理 G1001
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1002":
// 处理 G1002
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2010":
// 处理 G2010
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2011":
// 处理 G2011
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1003":
// 处理 G1003
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1009":
// 处理 G1009
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2012":
// 处理 G2012
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3009":
// 处理 G3009
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3018":
// 处理 G3018
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4009":
// 处理 G4009
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4018":
// 处理 G4018
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5009":
// 处理 G5009
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5018":
// 处理 G5018
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5013":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5014":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5015":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5004":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5005":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5006":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4013":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4014":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4015":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4004":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4005":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4006":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1012":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3004":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3005":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3006":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3013":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3014":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3015":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1006":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2004":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2005":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2006":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2007":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2008":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2009":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1004":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G1010":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G2001":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3001":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G3010":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4001":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G4010":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5001":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
case "G5010":
readAddress = "DB501." + baseOffset;
writeAddress = "DB502." + baseOffset;
break;
default:
continue;
}
baseOffset +=step;
ssjDevice.setPlcDbReadAddress(readAddress);
ssjDevice.setPlcDbWriteAddress(writeAddress);
switch (ssjDevice.getType()) {
case "1":
readPlcOutSsj(ssjDevice);
@@ -439,7 +72,7 @@ public class PlcRead implements Runnable {
} catch (InterruptedException e) {
// 捕获中断异常,退出循环
Thread.currentThread().interrupt(); // 重新设置中断标志
break;
return;
} catch (Exception e) {
log.info("********IP:" + this.ip + " port:" + this.port + "读取数据异常 " + e.getMessage());
}

View File

@@ -81,14 +81,14 @@ public class BsPickSsjTread implements Runnable{
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
if (CollUtil.isNotEmpty(wcsPorts)){
WcsPort wcsPort = wcsPorts.get(0);
if ("0".equals(wcsPort.getStatus())){
if ("1".equals(wcsPort.getStatus())){
Map<String, Object> param = new HashMap<>();
param.put("taskNo", pickSsjDevice.getTaskNo());
param.put("wmsType", "2");
param.put("pickSsj", pickSsjDevice.getDeviceCode());
RequestLog requestLog = apiService.finishMydoJob(JOB_FINISH_URL, "出库任务到达拣选口", param);
if ("1".equals(requestLog.getIsSuccessful())){
wcsPort.setStatus("1");
wcsPort.setStatus("2");
wcsPortService.updateWcsPort(wcsPort);
}else {
log.error("任务失败{}", requestLog.getErrorDetails());
@@ -106,8 +106,8 @@ public class BsPickSsjTread implements Runnable{
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
if (CollUtil.isNotEmpty(wcsPorts)){
WcsPort wcsPort = wcsPorts.get(0);
if ("1".equals(wcsPort.getStatus())){
wcsPort.setStatus("0");
if ("2".equals(wcsPort.getStatus())){
wcsPort.setStatus("1");
wcsPortService.updateWcsPort(wcsPort);
}

View File

@@ -93,14 +93,14 @@ public class JsPickSsjTread implements Runnable {
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
if (CollUtil.isNotEmpty(wcsPorts)){
WcsPort wcsPort = wcsPorts.get(0);
if ("0".equals(wcsPort.getStatus())){
if ("1".equals(wcsPort.getStatus())){
Map<String, Object> param = new HashMap<>();
param.put("taskNo", pickSsjDevice.getTaskNo());
param.put("wmsType", "2");
param.put("pickSsj", pickSsjDevice.getDeviceCode());
RequestLog requestLog = apiService.finishMydoJob(JOB_FINISH_URL, "出库任务到达拣选口", param);
if ("1".equals(requestLog.getIsSuccessful())){
wcsPort.setStatus("1");
wcsPort.setStatus("2");
wcsPortService.updateWcsPort(wcsPort);
}else {
log.error("任务失败{}", requestLog.getErrorDetails());
@@ -118,8 +118,8 @@ public class JsPickSsjTread implements Runnable {
List<WcsPort> wcsPorts = wcsPortService.selectWcsPortList(wcsPortParam);
if (CollUtil.isNotEmpty(wcsPorts)){
WcsPort wcsPort = wcsPorts.get(0);
if ("1".equals(wcsPort.getStatus())){
wcsPort.setStatus("0");
if ("2".equals(wcsPort.getStatus())){
wcsPort.setStatus("1");
wcsPortService.updateWcsPort(wcsPort);
}

View File

@@ -0,0 +1,95 @@
package com.ruoyi.schedule.scheduleTask.ssj.monitor;
import cn.hutool.core.util.ObjUtil;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.device.ssj.domain.DeviceSsj;
import com.ruoyi.device.ssj.service.IDeviceSsjService;
import com.ruoyi.schedule.plcRead.ssj.PlcRead;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CarMonitorThread implements Runnable {
private IDeviceSsjService deviceSsjService;
public boolean isRun = true;
public void init() {
deviceSsjService = SpringUtils.getBean(IDeviceSsjService.class);
log.info("初始化服务 {}", deviceSsjService);
}
@Override
public void run() {
init();
while (isRun) {
for (String ssjCode : PlcRead.deviceMap.keySet()) {
try {
DeviceSsj deviceSsj = PlcRead.deviceMap.get(ssjCode);
if (ObjUtil.isNotNull(deviceSsj)){
switch (deviceSsj.getType()) {
case "1":
monitor1(deviceSsj);
break;
case "2":
monitor2(deviceSsj);
break;
case "3":
monitor3(deviceSsj);
break;
case "4":
monitor4(deviceSsj);
break;
}
}else {
log.error("设备不存在 {}", ssjCode);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
/**
*其他输送机监控
* @param deviceSsj
*/
private void monitor4(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
/**
*入库输送机监控
* @param deviceSsj
*/
private void monitor3(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
/**
*拣选输送机监控
* @param deviceSsj
*/
private void monitor2(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
/**
*出库输送机监控
* @param deviceSsj
*/
private void monitor1(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
}

View File

@@ -0,0 +1,106 @@
package com.ruoyi.schedule.scheduleTask.ssj.monitor;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskResponse;
import com.ruoyi.api.domain.wcs2wms.MydoJob;
import com.ruoyi.api.service.IApiService;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.device.agv.domain.AgvQueue;
import com.ruoyi.device.agv.service.IAgvQueueService;
import com.ruoyi.device.ssj.domain.DeviceSsj;
import com.ruoyi.device.ssj.service.IDeviceSsjService;
import com.ruoyi.schedule.plcRead.ssj.PlcRead;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Slf4j
public class SsjMonitorThread implements Runnable {
private IDeviceSsjService deviceSsjService;
public boolean isRun = true;
public void init() {
deviceSsjService = SpringUtils.getBean(IDeviceSsjService.class);
log.info("初始化服务 {}", deviceSsjService);
}
@Override
public void run() {
init();
while (isRun) {
for (String ssjCode : PlcRead.deviceMap.keySet()) {
try {
DeviceSsj deviceSsj = PlcRead.deviceMap.get(ssjCode);
if (ObjUtil.isNotNull(deviceSsj)){
switch (deviceSsj.getType()) {
case "1":
monitor1(deviceSsj);
break;
case "2":
monitor2(deviceSsj);
break;
case "3":
monitor3(deviceSsj);
break;
case "4":
monitor4(deviceSsj);
break;
}
}else {
log.error("设备不存在 {}", ssjCode);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
/**
*其他输送机监控
* @param deviceSsj
*/
private void monitor4(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
/**
*入库输送机监控
* @param deviceSsj
*/
private void monitor3(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
/**
*拣选输送机监控
* @param deviceSsj
*/
private void monitor2(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
/**
*出库输送机监控
* @param deviceSsj
*/
private void monitor1(DeviceSsj deviceSsj) {
deviceSsjService.updateDeviceSsj(deviceSsj);
}
}