Commit e1cf2260 LN

工单RI类型出库修改

1 个父辈 f7ca4136
package com.neotel.smfcore.core.device.handler.impl;
import com.neotel.smfcore.core.device.api.IOpAuthApi;
import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.order.enums.ORDER_COLOR;
import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.system.service.po.DataLog;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
@Slf4j
public class AccShelfHandler extends BaseDeviceHandler{
public AccShelfHandler(List<IOpAuthApi> apiList) {
super(apiList);
}
@Override
public StatusBean handleClientRequest(StatusBean statusBean, HttpServletRequest request) {
handleMsg(statusBean);
statusBean = saveAlarmAndHumidity(statusBean);
//亮灯
Collection<DataLog> queueTasks = taskService.getQueueTasks(statusBean.getCid());
for (DataLog queueTask : queueTasks) {
if(queueTask.isWait()){
queueTask.setStatus(OP_STATUS.EXECUTING.name());
taskService.updateQueueTask(queueTask);
String rgb = queueTask.getLightColor();
ORDER_COLOR color = ORDER_COLOR.fromRgb(rgb);
if(color == null){
if(queueTask.isPutInTask()){
color = ORDER_COLOR.DARKGREEN;
}else{
color = ORDER_COLOR.BLUE;
}
}
statusBean.addData("open",queueTask.getPosName()+"="+color.name());
log.info("库位["+queueTask.getPosName()+"]+亮灯:" + color.name());
}
}
return statusBean;
}
@Override
public DeviceType getDeviceType() {
return DeviceType.ACCSHELF;
}
}
...@@ -358,7 +358,12 @@ public class LiteOrderCache implements ITaskListener { ...@@ -358,7 +358,12 @@ public class LiteOrderCache implements ITaskListener {
if(cacheOrder.getType()==2){ if(cacheOrder.getType()==2){
//RI //RI
pos=storagePosManager.getByBarcode(orderItem.getRi()); pos=storagePosManager.getByBarcode(orderItem.getRi());
if(excludePosIds.contains(pos.getId())) {
log.info("工单[" + orderNo + "]RI出库,任务数[" + taskReelCount + "]出库位置仓位【" + pos.getPosName() + "】RI=[" + pos.getBarcode().getBarcode() + "]已在操作队列中,跳过不处理");
break;
}
}else{ }else{
//PN
pos=storagePosManager.findPartNumberInStorages(availableStorageIds, partNumber, excludePosIds, checkoutType); pos=storagePosManager.findPartNumberInStorages(availableStorageIds, partNumber, excludePosIds, checkoutType);
} }
if (pos == null) { if (pos == null) {
...@@ -379,8 +384,10 @@ public class LiteOrderCache implements ITaskListener { ...@@ -379,8 +384,10 @@ public class LiteOrderCache implements ITaskListener {
task.setStatus(OP_STATUS.WAIT.name()); task.setStatus(OP_STATUS.WAIT.name());
// task = dataLogDao.save(task); // task = dataLogDao.save(task);
taskService.addTaskToExecute(task); taskService.addTaskToExecute(task);
}
//如果是RI出库,只有一盘,出完就结束
if(cacheOrder.getType()==2){
break;
} }
} }
} }
...@@ -506,7 +513,11 @@ public class LiteOrderCache implements ITaskListener { ...@@ -506,7 +513,11 @@ public class LiteOrderCache implements ITaskListener {
if(cacheOrder.getType()==2){ if(cacheOrder.getType()==2){
//RI //RI
pos=storagePosManager.getByBarcode(orderItem.getRi()); pos=storagePosManager.getByBarcode(orderItem.getRi());
if(excludePosIds.contains(pos.getId())) {
log.info("工单[" + orderNo + "]RI出库,仓位【" + pos.getPosName() + "】RI=[" + pos.getBarcode().getBarcode() + "]已在操作队列中,跳过不处理");
}
}else { }else {
//PN
pos = storagePosManager.findPartNumberInStorages(availableStorageIds, partNumber, excludePosIds, checkoutType); pos = storagePosManager.findPartNumberInStorages(availableStorageIds, partNumber, excludePosIds, checkoutType);
} }
if (pos == null) { if (pos == null) {
......
...@@ -103,12 +103,13 @@ public class OrderController { ...@@ -103,12 +103,13 @@ public class OrderController {
String image = "csv"; String image = "csv";
String fileType = FileUtil.getExtensionName(orderFile.getOriginalFilename()); String fileType = FileUtil.getExtensionName(orderFile.getOriginalFilename());
String fileName= FileUtil.getFileNameNoEx(orderFile.getOriginalFilename());
if (fileType != null && !image.contains(fileType)) { if (fileType != null && !image.contains(fileType)) {
throw new ValidateException("smfcore.feleFormatError", "文件格式错误!, 仅支持{0}格式", new String[]{image}); throw new ValidateException("smfcore.feleFormatError", "文件格式错误!, 仅支持{0}格式", new String[]{image});
} }
File folder = new File(properties.getPath(), "pos"); File folder = new File(properties.getPath(), "pos");
File localFile = FileUtil.upload(orderFile, folder.getAbsolutePath()); File localFile = FileUtil.upload(orderFile, folder.getAbsolutePath());
Map<String, List<LiteOrderItem>> itemMap = handleOrderCsv(localFile.getName(),localFile.getAbsolutePath()); Map<String, List<LiteOrderItem>> itemMap = handleOrderCsv(fileName,localFile.getAbsolutePath());
if (itemMap == null || itemMap.size() <= 0) { if (itemMap == null || itemMap.size() <= 0) {
throw new ValidateException("smfcore.fileError", "文件解析失败"); throw new ValidateException("smfcore.fileError", "文件解析失败");
...@@ -286,13 +287,17 @@ public class OrderController { ...@@ -286,13 +287,17 @@ public class OrderController {
int row = 1; int row = 1;
int newRowCount = 0; int newRowCount = 0;
int updateRowCount = 0; int updateRowCount = 0;
while (csvRead.readRecord()) { while (csvRead.readRecord()) {
row++; row++;
String[] lineValues = csvRead.getValues(); String[] lineValues = csvRead.getValues();
String partNumber = lineValues[partNumberIndex]; String partNumber = lineValues[partNumberIndex];
String ri="";
if (partNumber.isEmpty()) { if(riIndex!=-1){
log.warn("行[partNumber=" + partNumber + "]中PN 为空,此行忽略"); ri=lineValues[riIndex];
}
if (partNumber.isEmpty()&&ri.isEmpty()) {
log.warn("行[partNumber=" + partNumber + "]中PN和RI都 为空,此行忽略");
} else { } else {
int num = 1; int num = 1;
if (qtyIndex != -1) { if (qtyIndex != -1) {
...@@ -309,11 +314,8 @@ public class OrderController { ...@@ -309,11 +314,8 @@ public class OrderController {
if (feederIndex != -1) { if (feederIndex != -1) {
feeder = lineValues[feederIndex]; feeder = lineValues[feederIndex];
} }
String ri="";
String so=fileName; String so=fileName;
if(riIndex!=-1){
ri=lineValues[riIndex];
}
if(soIndex!=-1){ if(soIndex!=-1){
so=lineValues[soIndex]; so=lineValues[soIndex];
} }
...@@ -322,7 +324,11 @@ public class OrderController { ...@@ -322,7 +324,11 @@ public class OrderController {
} }
LiteOrderItem item = new LiteOrderItem(); LiteOrderItem item = new LiteOrderItem();
item.setPn(partNumber); item.setPn(partNumber);
if(partNumber.isEmpty()){
item.setNeedReelCount(1);
}
item.setNeedNum(num); item.setNeedNum(num);
item.setFeederInfo(feeder); item.setFeederInfo(feeder);
item.setRi(ri); item.setRi(ri);
if(!itemMap.containsKey(so)){ if(!itemMap.containsKey(so)){
......
...@@ -182,7 +182,7 @@ public class DataLog extends BasePo implements Serializable { ...@@ -182,7 +182,7 @@ public class DataLog extends BasePo implements Serializable {
/** /**
* 亮灯料架颜色 * 亮灯料架颜色
*/ */
private String lightColor = "FF0000"; private String lightColor = "";
/** /**
* 出入库执行时间,秒 * 出入库执行时间,秒
*/ */
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!