Commit 96b20c88 LN

1.PCB每次都以标签数量为准。

2. LinePrep 页面API验证失败时数量显示错误问题。再次进入时未进入重试页面问题。
1 个父辈 1abbc9a1
...@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager; ...@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component; import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.custom.micron1053.bean.ExpConfig; import com.neotel.smfcore.custom.micron1053.bean.ExpConfig;
import com.neotel.smfcore.custom.micron1053.util.MicronDataCache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -306,7 +307,11 @@ public class CodeResolve { ...@@ -306,7 +307,11 @@ public class CodeResolve {
//如果点过料,不再更新数量 //如果点过料,不再更新数量
if( currentLabelAmount != lastLabelAmount) { if( currentLabelAmount != lastLabelAmount) {
barcode.setLabelAmount(currentLabelAmount); barcode.setLabelAmount(currentLabelAmount);
if (barcode.getXrayCount() > 0) { //如果是PCB,直接更新数量
if (MicronDataCache.GetReelType(barcode.getPlateSize(), barcode.getHeight()).equals(MicronDataCache.PCB)) {
log.info("重新设置PCB" + codeBeanFromRule.getCodeStr() + "标签数量和实时数量为:" + currentLabelAmount + ",点料次数=" + barcode.getXrayCount());
barcode.setAmount(currentLabelAmount);
} else if (barcode.getXrayCount() > 0) {
log.info("重新设置" + codeBeanFromRule.getCodeStr() + "标签数量和实时数量为:" + currentLabelAmount + ",点料次数=" + barcode.getXrayCount()); log.info("重新设置" + codeBeanFromRule.getCodeStr() + "标签数量和实时数量为:" + currentLabelAmount + ",点料次数=" + barcode.getXrayCount());
barcode.setAmount(currentLabelAmount); barcode.setAmount(currentLabelAmount);
} else { } else {
......
...@@ -451,7 +451,10 @@ public class MicronApi { ...@@ -451,7 +451,10 @@ public class MicronApi {
List<Material> materialList = new ArrayList<>(); List<Material> materialList = new ArrayList<>();
if (Debug) { if (Debug) {
materialList.add(new Material("serialNum1", "partNumber1")); materialList.add(new Material("ASCH240312AV007472", "510-502260A"));
materialList.add(new Material("ASA240326052256333", "510-502259A"));
materialList.add(new Material("240301M1000000358", "511-500804D"));
materialList.add(new Material("PFF4130CE7T19", "511-500839D"));
return materialList; return materialList;
} }
url = MessageFormat.format(url, operationId, linePrepOrderId); url = MessageFormat.format(url, operationId, linePrepOrderId);
...@@ -827,9 +830,9 @@ public class MicronApi { ...@@ -827,9 +830,9 @@ public class MicronApi {
for (Material m : for (Material m :
materialList) { materialList) {
TrackStatus trackStatus = new TrackStatus(); TrackStatus trackStatus = new TrackStatus();
trackStatus.setSuccess(true); trackStatus.setSuccess(false);
trackStatus.setDescription(""); trackStatus.setDescription("api010 fail");
trackStatus.setMaterialStatus("success"); trackStatus.setMaterialStatus("fail");
trackStatus.setPartNumber(m.getPartNumber()); trackStatus.setPartNumber(m.getPartNumber());
trackStatus.setSerialNum(m.getSerialNum()); trackStatus.setSerialNum(m.getSerialNum());
statusList.add(trackStatus); statusList.add(trackStatus);
......
...@@ -46,10 +46,8 @@ import org.springframework.data.mongodb.core.query.Criteria; ...@@ -46,10 +46,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.text.SimpleDateFormat;
import java.util.Collection; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
...@@ -99,6 +97,8 @@ public class MicronPreTaskController { ...@@ -99,6 +97,8 @@ public class MicronPreTaskController {
@GetMapping("/getTaskId") @GetMapping("/getTaskId")
public ResultBean task(String mode) throws ApiException { public ResultBean task(String mode) throws ApiException {
//返回0,无数据,返回1:需要选择,返回2,已出库。
//判断是否验证 //判断是否验证
if (!MicronApi.isEnable()) { if (!MicronApi.isEnable()) {
return ResultBean.newErrorResult(9, "smfcore.micron.apiClose", " Not yet open"); return ResultBean.newErrorResult(9, "smfcore.micron.apiClose", " Not yet open");
...@@ -218,19 +218,37 @@ public class MicronPreTaskController { ...@@ -218,19 +218,37 @@ public class MicronPreTaskController {
itemList.add(item); itemList.add(item);
} }
LiteOrder liteOrder = new LiteOrder(); LiteOrder liteOrder = new LiteOrder();
liteOrder.setOrderNo(operationId); String orderNo=operationId;
liteOrder.setOrderNo(orderNo);
LiteOrder dbOrder = liteOrderManager.findByOrderNo(orderNo);
if (dbOrder != null) {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
//把名字改为带时间的
String newOrderNo = orderNo + "-" + format.format(new Date());
dbOrder = liteOrderManager.findByOrderNo(newOrderNo);
if (dbOrder != null) {
//工单名重复,直接返回
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
}else{
orderNo=newOrderNo;
}
}
liteOrder.setOrderNo(orderNo);
liteOrder.setMode(mode); liteOrder.setMode(mode);
liteOrder.setOperationId(operationId); liteOrder.setOperationId(operationId);
liteOrder.setOrderItems(itemList); liteOrder.setOrderItems(itemList);
liteOrder.setStatus(LITEORDER_STATUS.NEW); liteOrder.setStatus(LITEORDER_STATUS.NEW);
liteOrder = liteOrderManager.createWithItems(liteOrder); liteOrder = liteOrderManager.createWithItems(liteOrder);
liteOrderCache.addOrderToMap(liteOrder); liteOrderCache.addOrderToMap(liteOrder);
log.info("submit 勾选后,生成工单:[" + operationId + "][" + mode + "]"); log.info("submit 勾选后,生成工单:[" + orderNo + "][" + mode + "]");
//开始查询是否可以出库 //开始查询是否可以出库
String msg= liteOrderCache.preTaskCheckOut(liteOrder, operationId, materialList,false); String msg = liteOrderCache.preTaskCheckOut(liteOrder, operationId, materialList, false);
log.info("submit 工单:[" + orderNo + "][" + mode + "]执行结果:" + msg);
} }
}catch (Exception ex){ } catch (Exception ex) {
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败"); return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
} }
...@@ -464,9 +482,11 @@ public class MicronPreTaskController { ...@@ -464,9 +482,11 @@ public class MicronPreTaskController {
int ngQty=0; int ngQty=0;
int tranFailQty=0; int tranFailQty=0;
int successQty=0; int successQty=0;
if(item.getStatus()==OrderItemStatus.notify_fail||item.getStatus()==OrderItemStatus.cancel){ if(item.getStatus().equalsIgnoreCase(OrderItemStatus.notify_fail)||
item.getStatus().equalsIgnoreCase(OrderItemStatus.cancel)||
item.getStatus().equalsIgnoreCase(OrderItemStatus.shortage)){
ngQty=item.getNeedReelCount(); ngQty=item.getNeedReelCount();
}else if(item.getStatus()==OrderItemStatus.executFail) }else if(item.getStatus().equalsIgnoreCase(OrderItemStatus.executFail))
{ {
tranFailQty=item.getNeedReelCount(); tranFailQty=item.getNeedReelCount();
}else{ }else{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!