package com.zy.asrs.controller;
|
|
import com.core.common.R;
|
import com.zy.asrs.controller.requestParam.StaParam;
|
import com.zy.asrs.controller.responseParam.StationResponseParam;
|
import com.zy.asrs.controller.vo.PlcErrorTableVo;
|
import com.zy.asrs.entity.Job;
|
import com.zy.asrs.service.JobService;
|
import com.zy.common.web.BaseController;
|
import com.zy.core.DevpThread;
|
import com.zy.core.cache.SlaveConnection;
|
import com.zy.core.enums.SlaveType;
|
import com.zy.core.model.protocol.StaProtocol;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 对ctu系统的接口
|
*/
|
@Slf4j
|
@RestController
|
public class WmsController extends BaseController {
|
|
|
@Autowired
|
private JobService jobService;
|
|
/**
|
* 站点查询
|
*/
|
@ResponseBody
|
@PostMapping("/station/getTaskNo")
|
public R query(@RequestBody StaParam param) {
|
log.info("根据站点查询staNo:{}", param);
|
String staNo = param.getStaNo();
|
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
|
List<StationResponseParam> list = new ArrayList<>();
|
Map<Integer, StaProtocol> station = devpThread.getStation();
|
StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
|
Integer workNo = staProtocol.getWorkNo();
|
if (workNo != null) {
|
Job jobByJobNo = jobService.getJobByJobNo(workNo);
|
if (jobByJobNo != null) {
|
return R.ok(jobByJobNo.getJobNo());
|
}
|
}
|
return R.ok(list);
|
}
|
|
|
/**
|
* 查询异常
|
*/
|
@ResponseBody
|
@PostMapping("/station/getError")
|
public R getError(@RequestBody StaParam param) {
|
log.info("根据站点查询staNo:{}", param);
|
String staNo = param.getStaNo();
|
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
|
Map<Integer, StaProtocol> station = devpThread.getStation();
|
StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
|
return R.ok(staPlcErr(staProtocol));
|
}
|
|
|
private List<PlcErrorTableVo> staPlcErr(StaProtocol staProtocol) {
|
if (staProtocol == null) {
|
return null;
|
}
|
List<PlcErrorTableVo> list = new ArrayList<>();
|
if (staProtocol.getBreakerErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("断路器故障");
|
vo.setError("断路器故障");
|
list.add(vo);
|
}
|
if (staProtocol.getInfraredErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("光电异常");
|
vo.setError("光电异常");
|
list.add(vo);
|
}
|
if (staProtocol.getOutTimeErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("运行超时");
|
vo.setError("运行超时");
|
list.add(vo);
|
}
|
if (staProtocol.getSeizeSeatErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("占位超时");
|
vo.setError("占位超时");
|
list.add(vo);
|
}
|
if (staProtocol.getWrkYgoodsN()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("有任务无货故障");
|
vo.setError("有任务无货故障");
|
list.add(vo);
|
}
|
if (staProtocol.getInverterErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("变频器故障");
|
vo.setError("变频器故障");
|
list.add(vo);
|
}
|
if (staProtocol.getContactErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("电机接触器故障");
|
vo.setError("电机接触器故障");
|
list.add(vo);
|
}
|
if (staProtocol.getUpcontactErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("顶升电机接触器故障");
|
vo.setError("顶升电机接触器故障");
|
list.add(vo);
|
}
|
if (staProtocol.isFrontErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("前超限");
|
vo.setError("前超限");
|
list.add(vo);
|
}
|
if (staProtocol.isBackErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("后超限");
|
vo.setError("后超限");
|
list.add(vo);
|
}
|
if (staProtocol.isHighErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("高超限");
|
vo.setError("高超限");
|
list.add(vo);
|
}
|
if (staProtocol.isLeftErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("左超限");
|
vo.setError("左超限");
|
list.add(vo);
|
}
|
if (staProtocol.isRightErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("右超限");
|
vo.setError("右超限");
|
list.add(vo);
|
}
|
if (staProtocol.isBarcodeErr()) {
|
PlcErrorTableVo vo = new PlcErrorTableVo();
|
vo.setStaNo(staProtocol.getSiteId()); // 序号
|
vo.setPlcDesc("扫码失败");
|
vo.setError("扫码失败");
|
list.add(vo);
|
}
|
return list;
|
}
|
|
}
|