Commit 73358990 LN

AccShelf增加亮灯指引功能

1 个父辈 487e8abd
package com.neotel.smfcore.core.device.handler.impl; package com.neotel.smfcore.core.device.handler.impl;
import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.Lists;
import com.neotel.smfcore.core.device.api.IOpAuthApi; import com.neotel.smfcore.core.device.api.IOpAuthApi;
import com.neotel.smfcore.core.device.bean.StatusBean; import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP_STATUS; import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.order.enums.ORDER_COLOR; import com.neotel.smfcore.core.order.enums.ORDER_COLOR;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import com.neotel.smfcore.core.storage.enums.DeviceType; import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.system.bean.OrderSetting;
import com.neotel.smfcore.core.system.service.po.DataLog; import com.neotel.smfcore.core.system.service.po.DataLog;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -21,25 +27,44 @@ public class AccShelfHandler extends BaseDeviceHandler{ ...@@ -21,25 +27,44 @@ public class AccShelfHandler extends BaseDeviceHandler{
public StatusBean handleClientRequest(StatusBean statusBean, HttpServletRequest request) { public StatusBean handleClientRequest(StatusBean statusBean, HttpServletRequest request) {
handleMsg(statusBean); handleMsg(statusBean);
statusBean = saveAlarmAndHumidity(statusBean); statusBean = saveAlarmAndHumidity(statusBean);
OrderSetting orderSetting = dataCache.getOrderSetting();
boolean openZhiYin = orderSetting.getShelfLightType().equals(1);
Map<String, List<DataLog>> outMap = new HashMap<>();
//亮灯 //亮灯
Collection<DataLog> queueTasks = taskService.getQueueTasks(statusBean.getCid()); Collection<DataLog> queueTasks = taskService.getQueueTasks(statusBean.getCid());
for (DataLog queueTask : queueTasks) { for (DataLog queueTask : queueTasks) {
if(queueTask.isWait()){ if (queueTask.isWait()) {
queueTask.setStatus(OP_STATUS.EXECUTING.name()); queueTask.setStatus(OP_STATUS.EXECUTING.name());
taskService.updateQueueTask(queueTask); taskService.updateQueueTask(queueTask);
String rgb = queueTask.getLightColor(); String rgb = queueTask.getLightColor();
ORDER_COLOR color = ORDER_COLOR.fromRgb(rgb); ORDER_COLOR color = ORDER_COLOR.fromRgb(rgb);
if(color == null){ if (color == null) {
if(queueTask.isPutInTask()){ if (queueTask.isPutInTask()) {
color = ORDER_COLOR.DARKGREEN; color = ORDER_COLOR.DARKGREEN;
}else{ } else {
if (openZhiYin && ObjectUtil.isNotEmpty(queueTask.getSourceId())) {
List<DataLog> dataLogList = outMap.get(queueTask.getSourceId());
if (dataLogList == null) {
dataLogList = new ArrayList<>();
}
dataLogList.add(queueTask);
outMap.put(queueTask.getSourceId(), dataLogList);
} else {
color = ORDER_COLOR.BLUE; color = ORDER_COLOR.BLUE;
} }
} }
statusBean.addData("open",queueTask.getPosName()+"="+color.name()); }
log.info("库位["+queueTask.getPosName()+"]+亮灯:" + color.name()); statusBean.addData("open", queueTask.getPosName() + "=" + color.name());
log.info("库位[" + queueTask.getPosName() + "]+亮灯:" + color.name());
} }
} }
List<DataLog> dataLogs = getLightGuideTask(outMap);
for (DataLog task :
dataLogs) {
statusBean.addData("open", task.getPosName() + "=" + ORDER_COLOR.fromRgb(task.getLightColor()).name());
}
return statusBean; return statusBean;
} }
......
...@@ -539,4 +539,16 @@ public class LiteOrderCache implements ITaskListener { ...@@ -539,4 +539,16 @@ public class LiteOrderCache implements ITaskListener {
} }
return "smfcore.order.supplementOutFail"; return "smfcore.order.supplementOutFail";
} }
public LiteOrder getOrderSortItems(String sourceId) {
LiteOrder order = liteOrderManager.findByOrderNo(sourceId);
if (order != null && order.getOrderItems().size() > 0) {
List<LiteOrderItem> list = order.getOrderItems();
//根据站位号排序
Collections.sort(list);
order.setOrderItems(list);
return order;
}
return null;
}
} }
...@@ -8,7 +8,7 @@ import org.springframework.data.mongodb.core.mapping.Document; ...@@ -8,7 +8,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@Document @Document
public class LiteOrderItem extends BasePo implements Serializable { public class LiteOrderItem extends BasePo implements Serializable ,Comparable<LiteOrderItem> {
/** /**
* 物料编号 * 物料编号
*/ */
...@@ -78,4 +78,12 @@ public class LiteOrderItem extends BasePo implements Serializable { ...@@ -78,4 +78,12 @@ public class LiteOrderItem extends BasePo implements Serializable {
public boolean isOutFinished(){ public boolean isOutFinished(){
return outNum - needNum >=0; return outNum - needNum >=0;
} }
@Override
public int compareTo(LiteOrderItem o) {
if(this.getOutNum()!=o.getOutNum()){
return this.outNum-o.getOutNum();
}
return this.getId().compareTo(o.getId());
}
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!