Commit 6915816d zshaohui

手动抛送缺料预警修改

1 个父辈 7e26e143
......@@ -190,12 +190,11 @@ public class DeviceController {
}
//判断库别是否为空
/*Barcode barcode1F = lizhenApi.getBarcode(barcode.getBarcode());
Barcode barcode1F = lizhenApi.getBarcode(barcode.getBarcode());
if (barcode1F == null || StringUtils.isEmpty(barcode1F.getWarehouseCode())){
throw new ValidateException("", barcode.getBarcode()+"未找到对应的库别信息");
}
String warhouseCode = barcode1F.getWarehouseCode();*/
String warhouseCode = "";
String warhouseCode = barcode1F.getWarehouseCode();
//判断虚拟仓有没有存在,如果有,把虚拟仓库位置空
StoragePos storagePos = storagePosManager.getByBarcode(barcode.getBarcode());
......@@ -319,7 +318,7 @@ public class DeviceController {
Storage theStorage = dataCache.getStorageById(pos.getStorageId());
//lizhenApi.backToWarehouse(warhouseCode,theStorage.getName(),barcode.getBarcode());
lizhenApi.backToWarehouse(warhouseCode,theStorage.getName(),barcode.getBarcode());
barcode.setWarehouseCode(warhouseCode);
barcode.setAskPutIn(true);
......
package com.neotel.smfcore.custom.lizhen;
package com.neotel.smfcore.custom.lizhen.wcs;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSON;
......@@ -27,6 +27,7 @@ import com.neotel.smfcore.custom.lizhen.innerBox.util.PreWarningItemCache;
import com.neotel.smfcore.custom.lizhen.innerBox.util.StorageExportUtil;
import com.neotel.smfcore.custom.lizhen.third.maicheng.bean.AskReelBox;
import com.neotel.smfcore.custom.lizhen.third.maicheng.bean.AskReelBoxList;
import com.neotel.smfcore.custom.lizhen.wcs.bean.ManualTower;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -321,7 +322,7 @@ public class LizhenController {
@ApiOperation("Tower接收手动发料信息")
@RequestMapping("/manualTower")
@AnonymousAccess
public Map<String, String> manualTower(@RequestBody List<AskReelBoxList> itemList) {
public Map<String, String> manualTower(@RequestBody List<ManualTower> itemList) {
log.info("收到WMS手动发料数据为:" + JSON.toJSONString(itemList));
createManualOrder(itemList);
Map<String, String> resultMap = new HashMap<>();
......@@ -329,47 +330,52 @@ public class LizhenController {
resultMap.put("MSGTX", "接收成功");
return resultMap;
}
private String createManualOrder(List<AskReelBoxList> itemList) {
private String createManualOrder(List<ManualTower> itemList) {
Map<String, LiteOrder> orderMap = new HashMap<>();
for (AskReelBoxList askItem : itemList) {
String orderNo = askItem.getWORKORDERNO();
for (ManualTower manualTower : itemList) {
String orderNo = manualTower.getPICKING_ID();
LiteOrder order = orderMap.get(orderNo);
if(order == null){
order = new LiteOrder();
order.setOrderNo(askItem.getWORKORDERNO());
order.setLine(askItem.getLINE());
order = liteOrderManager.save(order);
order.setOrderNo(manualTower.getPICKING_ID());
order.setLine(manualTower.getLINE());
}
LiteOrderItem orderItem = new LiteOrderItem();
orderItem.setLine(askItem.getLINE());
orderItem.setWarningItemId(askItem.getID());
orderItem.setMo(askItem.getWORKORDERNO());
int needReelCount = NumberUtil.parseInt(askItem.getREQ_REEL());
orderItem.setNeedReelCount(needReelCount);
int needNum = NumberUtil.parseInt(askItem.getREQ_QTY());
orderItem.setNeedNum(needNum);
orderItem.setMachineName(askItem.getMACHINENAME());
orderItem.setPn(askItem.getPARTNUMBER());
orderItem.setSide(askItem.getSIDE()); //设置面别
orderItem.setSlot(askItem.getSLOT()); //站位
orderItem.setSubSlot(askItem.getSUBSLOT());
orderItem.setTableNo(askItem.getSTATION());
orderItem.setOrderNo(order.getOrderNo());
orderItem.setOrderId(order.getId());
orderItem.setMachineName(askItem.getMACHINENAME());
orderItem.setReel(askItem.getREEL());
orderItem.setBrand(askItem.getVENDOR());
orderItem.setWidth(askItem.getWidth());
orderItem.setDia(askItem.getDia());
order.updateOrderItems(orderItem);
orderItem.setPickingId(orderNo);
orderItem.setPlantCode(manualTower.getPLANT_CODE());
orderItem.setPn(manualTower.getMATERIAL_CODE());
orderItem.setLine(manualTower.getLINE());
orderItem.setMachineName(manualTower.getMACHINE_NAME());
orderItem.setSide(manualTower.getFACE());
orderItem.setSlot(manualTower.getSLOT());
orderItem.setSubSlot(manualTower.getSUBSLOT());
orderItem.setMo(manualTower.getMO());
orderItem.setBrand(manualTower.getBRAND());
orderItem.setBatchCode(manualTower.getBATCH_CODE());
orderItem.setPriority(manualTower.getPRIORITY());
orderItem.setNeedReelCount(manualTower.getREQ_REEL());
orderItem.setNeedNum(manualTower.getREQ_QTY());
List<LiteOrderItem> orderItems = order.getOrderItems();
if (orderItems == null){
orderItems = new ArrayList<>();
}
orderItems.add(orderItem);
order.setOrderItems(orderItems);
orderMap.put(orderNo,order);
}
for (LiteOrder liteOrder : orderMap.values()) {
liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
log.info("工单["+liteOrder.getOrderNo()+"]已创建完成");
LiteOrder dbOrder = liteOrderManager.findByOrderNo(liteOrder.getOrderNo());
if (dbOrder != null){
continue;
}
LiteOrder newOrder = liteOrderManager.createWithItems(liteOrder);
liteOrderManager.save(newOrder);
liteOrderCache.addOrderToMap(newOrder);
log.info("工单["+newOrder.getOrderNo()+"]已创建完成");
}
return "OK";
}
......
package com.neotel.smfcore.custom.lizhen.wcs.bean;
import lombok.Data;
@Data
public class ManualTower {
private String PLANT_CODE; // 厂区
private String PICKING_ID; // 挑料编码
private String MATERIAL_CODE; // 料号
private String LINE; // 线别
private String MACHINE_NAME; // 机台名
private String MACHINE; // 原为MACHINE,但为避免与机台名冲突,改为机台类型
private String FACE; // 面别
private String SLOT; // 料站
private String SUBSLOT; // 左右料站
private String MO; // 工单
private String BRAND; // 制造商
private String BATCH_CODE; // 批次号
private int LEFT_QTY; // 剩余数量,假设为浮点数,根据需要可改为Integer
private int LEFT_PCBS; // 剩余板数
private int LEFT_TIMES; // 剩余时间,假设为浮点数,根据需要可改为其他类型
private int PRIORITY; // 优先级
private int PRODUCT_BOARDS; // 主板数
private int STATUS; // 状态
private String RECIEVE_TYPE; // 接收类型
private String PITCH; // 摊位
private int TAP_LENGTH; // 料盘长度,假设为浮点数
private int REQ_REEL; // 需求卷数
private int REQ_QTY; // 需求数量
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!