Commit 96b20c88 LN

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

2. LinePrep 页面API验证失败时数量显示错误问题。再次进入时未进入重试页面问题。
1 个父辈 1abbc9a1
......@@ -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.Component;
import com.neotel.smfcore.custom.micron1053.bean.ExpConfig;
import com.neotel.smfcore.custom.micron1053.util.MicronDataCache;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -306,7 +307,11 @@ public class CodeResolve {
//如果点过料,不再更新数量
if( currentLabelAmount != lastLabelAmount) {
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());
barcode.setAmount(currentLabelAmount);
} else {
......
......@@ -451,7 +451,10 @@ public class MicronApi {
List<Material> materialList = new ArrayList<>();
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;
}
url = MessageFormat.format(url, operationId, linePrepOrderId);
......@@ -827,9 +830,9 @@ public class MicronApi {
for (Material m :
materialList) {
TrackStatus trackStatus = new TrackStatus();
trackStatus.setSuccess(true);
trackStatus.setDescription("");
trackStatus.setMaterialStatus("success");
trackStatus.setSuccess(false);
trackStatus.setDescription("api010 fail");
trackStatus.setMaterialStatus("fail");
trackStatus.setPartNumber(m.getPartNumber());
trackStatus.setSerialNum(m.getSerialNum());
statusList.add(trackStatus);
......
......@@ -46,10 +46,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
......@@ -99,6 +97,8 @@ public class MicronPreTaskController {
@GetMapping("/getTaskId")
public ResultBean task(String mode) throws ApiException {
//返回0,无数据,返回1:需要选择,返回2,已出库。
//判断是否验证
if (!MicronApi.isEnable()) {
return ResultBean.newErrorResult(9, "smfcore.micron.apiClose", " Not yet open");
......@@ -218,19 +218,37 @@ public class MicronPreTaskController {
itemList.add(item);
}
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.setOperationId(operationId);
liteOrder.setOrderItems(itemList);
liteOrder.setStatus(LITEORDER_STATUS.NEW);
liteOrder = liteOrderManager.createWithItems(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", "操作失败");
}
......@@ -464,9 +482,11 @@ public class MicronPreTaskController {
int ngQty=0;
int tranFailQty=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();
}else if(item.getStatus()==OrderItemStatus.executFail)
}else if(item.getStatus().equalsIgnoreCase(OrderItemStatus.executFail))
{
tranFailQty=item.getNeedReelCount();
}else{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!