package com.zy.asrs.controller;
|
|
import com.core.common.Cools;
|
import com.core.common.R;
|
import com.zy.asrs.controller.requestParam.StationRequestParam;
|
import com.zy.asrs.controller.responseParam.StationResponseParam;
|
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 com.zy.core.properties.SlaveProperties;
|
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 CtuController extends BaseController {
|
|
|
@Autowired
|
private SlaveProperties slaveProperties;
|
|
/**
|
* 站点查询
|
*/
|
@ResponseBody
|
@PostMapping("/station/query")
|
public R query(@RequestBody StationRequestParam param) {
|
log.info("站点查询:{}", param);
|
List<String> staNos = param.getStaNos();
|
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
|
List<StationResponseParam> list = new ArrayList<>();
|
Map<Integer, StaProtocol> station = devpThread.getStation();
|
if (Cools.isEmpty(staNos)) {
|
for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
|
staNos.add(entry.getKey() + "");
|
}
|
}
|
StationResponseParam stationResponseParam;
|
for (String staNo : staNos) {
|
StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
|
stationResponseParam = new StationResponseParam();
|
stationResponseParam.setStaNo(staNo);
|
stationResponseParam.setOccupied(staProtocol.isLoading());
|
stationResponseParam.setInEnable(staProtocol.isInEnable());
|
stationResponseParam.setOutEnable(staProtocol.isOutEnable());
|
stationResponseParam.setOnline(staProtocol.isAutoing());
|
list.add(stationResponseParam);
|
}
|
return R.ok(list);
|
}
|
|
|
}
|