优化
This commit is contained in:
@@ -20,49 +20,49 @@ import com.ruoyi.job.service.IMydoJobService;
|
||||
|
||||
/**
|
||||
* 大屏接口Controller
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Anonymous
|
||||
@RestController
|
||||
@RequestMapping("/api/screen")
|
||||
public class ScreenController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private IDeviceSsjService deviceSsjService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private IMydoJobService mydoJobService;
|
||||
|
||||
|
||||
// 定义各区域输送机编号数组
|
||||
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"
|
||||
"L2007", "L2008", "L2005", "L2006", "L2013"
|
||||
));
|
||||
|
||||
|
||||
// 2区域输送机编号
|
||||
AREA_SSJ_CODES.put(2, Arrays.asList(
|
||||
"L2003","L2004","L2012","L2001","L2002"
|
||||
"L2003", "L2004", "L2012", "L2001", "L2002"
|
||||
));
|
||||
|
||||
|
||||
// 3区域输送机编号
|
||||
AREA_SSJ_CODES.put(3, Arrays.asList(
|
||||
"L1001","L1002","L1011"
|
||||
"L1001", "L1002", "L1011"
|
||||
));
|
||||
|
||||
|
||||
// 4区域输送机编号
|
||||
AREA_SSJ_CODES.put(4, Arrays.asList(
|
||||
"L1003","L1004","L1012"
|
||||
"L1003", "L1004", "L1012"
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据区域编号查询输送机列表
|
||||
*
|
||||
*
|
||||
* @param areaNum 区域编号(1-4)
|
||||
* @return 输送机数据列表
|
||||
*/
|
||||
@@ -71,54 +71,155 @@ public class ScreenController extends BaseController {
|
||||
if (areaNum < 1 || areaNum > 4) {
|
||||
return AjaxResult.error("区域编号必须在1-4之间");
|
||||
}
|
||||
|
||||
|
||||
// 获取该区域的输送机编号数组
|
||||
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("kx", getSsjKx(ssj.getKx()));
|
||||
map.put("dw", getSsjDw(ssj.getDw()));
|
||||
map.put("sbzt", getSSzt(ssj.getSszt()));
|
||||
// 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("exception", getSSzt(ssj.getSszt()));
|
||||
map.put("taskNo", ssj.getTaskNo());
|
||||
resultList.add(map);
|
||||
|
||||
|
||||
// 如果taskNo大于0,查询对应的作业信息
|
||||
if (ssj.getTaskNo()> 0) {
|
||||
MydoJob job = mydoJobService.selectMydoJobByTaskNo(Long.valueOf(ssj.getTaskNo()));
|
||||
if (ssj.getTaskNo() > 0) {
|
||||
MydoJob job = mydoJobService.selectJobByTaskNo(String.valueOf(ssj.getTaskNo()));
|
||||
if (job != null) {
|
||||
if("1".equals(job.getInOrOut())){
|
||||
job.setInOrOut("生产入库");
|
||||
job.setExitId(job.getEntranceId());
|
||||
}else if("2".equals(job.getInOrOut())){
|
||||
job.setInOrOut("退货入库");
|
||||
job.setExitId(job.getEntranceId());
|
||||
}else if("3".equals(job.getInOrOut())){
|
||||
job.setInOrOut("其他入库");
|
||||
job.setExitId(job.getEntranceId());
|
||||
}else if("5".equals(job.getInOrOut())){
|
||||
job.setInOrOut("盘点入库");
|
||||
job.setExitId(job.getEntranceId());
|
||||
}else if("21".equals(job.getInOrOut())){
|
||||
job.setInOrOut("物资出库");
|
||||
}else if("26".equals(job.getInOrOut())){
|
||||
job.setInOrOut("盘点出库");
|
||||
}
|
||||
|
||||
|
||||
jobList.add(job);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 返回结果包含data和job两个字段
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("ssj", resultList);
|
||||
result.put("job", jobList);
|
||||
|
||||
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
|
||||
private String getSsjDw(int dw) {
|
||||
if(dw == 1){
|
||||
return "到位";
|
||||
}else{
|
||||
return "未到位";
|
||||
}
|
||||
}
|
||||
|
||||
private String getSsjKx(int kx) {
|
||||
if(kx == 1){
|
||||
return "空闲";
|
||||
}else{
|
||||
return "不空闲";
|
||||
}
|
||||
}
|
||||
|
||||
private String getSSzt(int sszt) {
|
||||
String msg = "";
|
||||
switch (sszt) {
|
||||
case 1:
|
||||
msg = "手动";
|
||||
break;
|
||||
case 2:
|
||||
msg = "自动";
|
||||
break;
|
||||
case 3:
|
||||
msg = "运行";
|
||||
break;
|
||||
case 4:
|
||||
msg = "输送超时";
|
||||
break;
|
||||
case 5:
|
||||
msg = "断路器跳闸";
|
||||
break;
|
||||
case 6:
|
||||
msg = "变频器报警";
|
||||
break;
|
||||
case 7:
|
||||
msg = "开关任务异常";
|
||||
break;
|
||||
case 8:
|
||||
msg = "急停";
|
||||
break;
|
||||
case 9:
|
||||
msg = "输送超界";
|
||||
break;
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
private String getBjxx(int bjxx) {
|
||||
String msg = "";
|
||||
switch (bjxx) {
|
||||
case 1:
|
||||
msg = "前超长";
|
||||
break;
|
||||
case 2:
|
||||
msg = "后超长";
|
||||
break;
|
||||
case 3:
|
||||
msg = "左超宽";
|
||||
break;
|
||||
case 4:
|
||||
msg = "右超宽";
|
||||
break;
|
||||
case 5:
|
||||
msg = "超高";
|
||||
break;
|
||||
case 6:
|
||||
msg = "无任务";
|
||||
break;
|
||||
case 7:
|
||||
msg = "未扫到条码";
|
||||
break;
|
||||
case 8:
|
||||
msg = "称重异常";
|
||||
break;
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user