Commit 8ec15142 LN

1.API010失败后状态还是wait

  2.return页面的数据点了数量后没有数据
1 个父辈 38838ba3
...@@ -108,7 +108,7 @@ public class InListItem extends BasePo implements Serializable { ...@@ -108,7 +108,7 @@ public class InListItem extends BasePo implements Serializable {
} }
public boolean isXray() { public boolean isXray() {
return state == INITEM_STATUS.XRay || state == INITEM_STATUS.XRayFail; return state == INITEM_STATUS.XRay || state == INITEM_STATUS.XRayFail||state==INITEM_STATUS.XRayEnd;
} }
public boolean isFailure() { public boolean isFailure() {
......
...@@ -843,46 +843,55 @@ public class LiteOrderCache { ...@@ -843,46 +843,55 @@ public class LiteOrderCache {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
//mes提前扣除,扣除成功的直接出库,失败的标记状态 //mes提前扣除,扣除成功的直接出库,失败的标记状态
List<TrackStatus> trackStatusList = MicronApi.Api010(operationId, materialList);
if (trackStatusList != null && !trackStatusList.isEmpty()) { List<TrackStatus> trackStatusList = new ArrayList<>();
for (LiteOrderItem orderItem : order.getOrderItems()) {
String ri = orderItem.getRi(); try {
MicronApi.Api010(operationId, materialList);
//判断是否缺料 } catch (Exception exception) {
StoragePos storagePos = storagePosList.stream().filter(pos -> pos.getBarcode().equals(ri)).findFirst().orElse(null); log.error("Api010 出错: " + exception.toString());
if (storagePos == null) { }
//缺料 if (trackStatusList == null) {
orderItem.setStatus(OrderItemStatus.shortage); trackStatusList = new ArrayList<>();
}
for (LiteOrderItem orderItem : order.getOrderItems()) {
String ri = orderItem.getRi();
//判断是否缺料
StoragePos storagePos = storagePosList.stream().filter(pos -> pos.getBarcode().equals(ri)).findFirst().orElse(null);
if (storagePos == null) {
//缺料
orderItem.setStatus(OrderItemStatus.shortage);
} else {
orderItem.setNeedNum(storagePos.getBarcode().getAmount());
TrackStatus trackStatus = trackStatusList.stream().filter(item -> ri.equals(item.getSerialNum())).findAny().orElse(null);
if (trackStatus != null && trackStatus.isSuccess()) {
//生成任务
DataLog dataLog = new DataLog(dataCache.getStorageById(storagePos.getStorageId()), storagePos.getBarcode(), storagePos);
dataLog.setType(OP.CHECKOUT);
dataLog.setSourceId(order.getId());
dataLog.setSourceName(order.getOrderNo());
dataLog.setSubSourceId(orderItem.getId());
dataLog.setStatus(OP_STATUS.WAIT.name());
dataLog.setOperationId(operationId);
taskService.addTaskToExecute(dataLog);
taskReelCount++;
//设置状态.正在出库
orderItem.setStatus(OrderItemStatus.executing);
log.info("preTaskCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] ,pn[" + orderItem.getPn() + "] ,RI[" + ri + "] 验证成功,开始出库,累计出库盘数=" + taskReelCount);
} else { } else {
orderItem.setNeedNum(storagePos.getBarcode().getAmount());
TrackStatus trackStatus = trackStatusList.stream().filter(item -> ri.equals(item.getSerialNum())).findAny().orElse(null);
if (trackStatus != null && trackStatus.isSuccess()) {
//生成任务
DataLog dataLog = new DataLog(dataCache.getStorageById(storagePos.getStorageId()), storagePos.getBarcode(), storagePos);
dataLog.setType(OP.CHECKOUT);
dataLog.setSourceId(order.getId());
dataLog.setSourceName(order.getOrderNo());
dataLog.setSubSourceId(orderItem.getId());
dataLog.setStatus(OP_STATUS.WAIT.name());
dataLog.setOperationId(operationId);
taskService.addTaskToExecute(dataLog);
taskReelCount++;
//设置状态.正在出库
orderItem.setStatus(OrderItemStatus.executing);
log.info("preTaskCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] ,pn[" + orderItem.getPn() + "] ,RI[" + ri + "] 验证成功,开始出库,累计出库盘数=" + taskReelCount);
} else {
//标记状态为mes扣除失败 //标记状态为mes扣除失败
orderItem.setStatus(OrderItemStatus.executFail); orderItem.setStatus(OrderItemStatus.executFail);
log.info("preTaskCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] ,pn[" + orderItem.getPn() + "] ,RI[" + ri + "] 验证失败,更改状态=executFail"); log.info("preTaskCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] ,pn[" + orderItem.getPn() + "] ,RI[" + ri + "] 验证失败,更改状态=executFail");
}
} }
liteOrderItemManager.save(orderItem);
} }
liteOrderItemManager.save(orderItem);
} }
log.info("preTaskCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] 出库完成,累计任务数=" + taskReelCount); log.info("preTaskCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] 出库完成,累计任务数=" + taskReelCount);
order.setTaskReelCount(taskReelCount); order.setTaskReelCount(taskReelCount);
order.setTotalTaskReelCount(order.getTotalTaskReelCount() + taskReelCount); order.setTotalTaskReelCount(order.getTotalTaskReelCount() + taskReelCount);
......
...@@ -83,8 +83,7 @@ public class LoadingController { ...@@ -83,8 +83,7 @@ public class LoadingController {
dto.setSuccessQty(dto.getSuccessQty() + 1); dto.setSuccessQty(dto.getSuccessQty() + 1);
} else if(item.getState()==INITEM_STATUS.API001NG) { } else if(item.getState()==INITEM_STATUS.API001NG) {
dto.setNg(dto.getNg() + 1); dto.setNg(dto.getNg() + 1);
}else }else if (item.isFailure()) {
if (item.isFailure()) {
dto.setFailure(dto.getFailure() + 1); dto.setFailure(dto.getFailure() + 1);
} else if (item.isXray()) { } else if (item.isXray()) {
dto.setXRay(dto.getXRay() + 1); dto.setXRay(dto.getXRay() + 1);
...@@ -113,44 +112,46 @@ public class LoadingController { ...@@ -113,44 +112,46 @@ public class LoadingController {
//参数:mType 物料类型:pcb/shoebox/pizzaBox/reel/tray //参数:mType 物料类型:pcb/shoebox/pizzaBox/reel/tray
//参数:state 状态: success/xray/failure //参数:state 状态: success/xray/failure
String mType=params.get("mType").toString(); String mType = params.get("mType").toString();
String state=params.get("state").toString(); String state = params.get("state").toString();
List<MaterialDtialDto> dtos=new ArrayList<>(); List<MaterialDtialDto> dtos = new ArrayList<>();
if(MicronApi.Debug){ if (MicronApi.Debug) {
for (int i = 1; i <= 5; i++ for (int i = 1; i <= 5; i++
){ ) {
MaterialDtialDto dto=new MaterialDtialDto("barcode"+i,"pn"+i,new Date(),"proN"+i, MaterialDtialDto dto = new MaterialDtialDto("barcode" + i, "pn" + i, new Date(), "proN" + i,
233,7,8,"provider"+i,"batch"+i,"msl"+i,"posName"+i,""); 233, 7, 8, "provider" + i, "batch" + i, "msl" + i, "posName" + i, "");
dtos.add(dto); dtos.add(dto);
} }
} }
InList inList=loadingUtil.getInlist(); InList inList = loadingUtil.getInlist();
if(inList==null) { if (inList == null) {
return ResultBean.newErrorResult(-1, "smfcore.micron.nodata", "未找到信息"); return ResultBean.newErrorResult(-1, "smfcore.micron.nodata", "未找到信息");
} }
for (InListItem item : for (InListItem item :
inList.getInListItems()) { inList.getInListItems()) {
if(item.getMType().equals(mType)) { if (item.getMType().equalsIgnoreCase(mType)) {
boolean is=false; boolean is = false;
if (item.isSuccess() && state.equals("success")) { if (item.isSuccess() && state.equalsIgnoreCase("success")) {
is=true; is = true;
} else if (item.isFailure()&& state.equals("xray")) { } else if (item.getState() == INITEM_STATUS.API001NG && state.equalsIgnoreCase("ng")) {
is=true; is = true;
} else if (item.isXray()&& state.equals("failure")) { } else if (item.isFailure() && state.equalsIgnoreCase("failure")) {
is=true; is = true;
} else if (item.isXray() && state.equalsIgnoreCase("xray")) {
is = true;
} }
if(is){
Barcode code=barcodeManager.findByBarcode(item.getRi()); if (is) {
MaterialDtialDto dto=new MaterialDtialDto(code.getBarcode(),code.getPartNumber(),code.getExpireDate(),code.getProviderNumber(), Barcode code = barcodeManager.findByBarcode(item.getRi());
code.getAmount(),code.getPlateSize(),code.getHeight(),code.getProvider(),code.getBatch(),code.getMsl(),code.getPosName(),"" ); MaterialDtialDto dto = new MaterialDtialDto(code.getBarcode(), code.getPartNumber(), code.getExpireDate(), code.getProviderNumber(),
code.getAmount(), code.getPlateSize(), code.getHeight(), code.getProvider(), code.getBatch(), code.getMsl(), code.getPosName(), "");
dtos.add(dto); dtos.add(dto);
} }
} }
} }
return ResultBean.newOkResult(dtos); return ResultBean.newOkResult(dtos);
......
...@@ -8,6 +8,8 @@ import com.neotel.smfcore.common.utils.Constants; ...@@ -8,6 +8,8 @@ import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.JsonUtil; import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.common.utils.SecurityUtils; import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils; import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.enums.OP; import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS; import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
...@@ -75,6 +77,8 @@ public class MicronPreTaskController { ...@@ -75,6 +77,8 @@ public class MicronPreTaskController {
@Autowired @Autowired
private IDataLogManager dataLogManager; private IDataLogManager dataLogManager;
@Autowired
private IBarcodeManager barcodeManager;
// @Autowired // @Autowired
// private MicronConfig micronConfig; // private MicronConfig micronConfig;
...@@ -195,15 +199,15 @@ public class MicronPreTaskController { ...@@ -195,15 +199,15 @@ public class MicronPreTaskController {
item.setRi(material.getSerialNum()); item.setRi(material.getSerialNum());
item.setNeedReelCount(1); item.setNeedReelCount(1);
item.setMode(mode); item.setMode(mode);
// //验证是否有料,无料直接显示缺料
// StoragePos pos = storagePosManager.getByBarcode(item.getRi());
// if (pos == null) {
// item.setStatus(OrderItemStatus.shortage);
// } else {
item.setStatus(OrderItemStatus.wait); item.setStatus(OrderItemStatus.wait);
// }
Barcode barcode= barcodeManager.findByBarcode(material.getSerialNum());
if(barcode!=null){
item.setNeedNum(barcode.getAmount());
}else{
item.setNeedNum(0);
log.info("未找到 serialNum="+material.getSerialNum()+",设置amount=0");
}
itemList.add(item); itemList.add(item);
} }
LiteOrder liteOrder = new LiteOrder(); LiteOrder liteOrder = new LiteOrder();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!