Commit bf7c6d36 zshaohui

人工接收手动tower预警 修改

1 个父辈 328d68a9
......@@ -594,6 +594,8 @@ public class LiteOrderCache {
task.setKeeperCode(pos.getBarcode().getKeeperCode());
task.setExport(exportStr);
task.setPickingId(orderItem.getPickingId());
task.setItemNo(orderItem.getItemNo());
task.setModel(orderItem.getModel());
//先调用tower发料
String result = lizhenApi.towerIssue(task);
......
......@@ -243,6 +243,11 @@ public class LiteOrderItem extends BasePo implements Serializable ,Comparable<Li
private String pickingId;
private String model;
private String rowId;
private int itemNo;
public void setOutReelList(String reel) {
if (outReelList == null){
......
......@@ -373,6 +373,10 @@ public class DataLog extends BasePo implements Serializable {
*/
private String pickingId;
private String model = "";
private int itemNo = 1;
public String getBarcode() {
if(barcode == null){
return "";
......
......@@ -291,11 +291,13 @@ public class LizhenApi extends DefaultSmfApiListener {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("PLANT_CODE", CommonUtil.plantCode);
paramMap.put("PICKING_ID", "SMFT"+System.currentTimeMillis());
paramMap.put("ITEM_NO",1);
paramMap.put("MATERIAL_CODE", task.getPartNumber());
paramMap.put("WAREHOUSE_CODE", task.getWarehouseCode());
paramMap.put("BRAND", task.getProvider());
paramMap.put("FACE", "");
paramMap.put("BATCH_CODE", task.getBatchInfo());
paramMap.put("MODEL","");
paramMap.put("REEL_LIST", Arrays.asList(task.getBarcode()));
log.info(task.getBarcode() + "出库通知,调用Tower发料,请求参数为:" + JSON.toJSONString(paramMap));
try {
......@@ -320,11 +322,13 @@ public class LizhenApi extends DefaultSmfApiListener {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("PLANT_CODE", CommonUtil.plantCode);
paramMap.put("PICKING_ID", task.getPickingId());
paramMap.put("ITEM_NO",task.getItemNo());
paramMap.put("MATERIAL_CODE", task.getPartNumber());
paramMap.put("WAREHOUSE_CODE", task.getWarehouseCode());
paramMap.put("BRAND", task.getProvider());
paramMap.put("FACE", task.getSide());
paramMap.put("BATCH_CODE", task.getBatchInfo());
paramMap.put("MODEL",task.getModel());
paramMap.put("REEL_LIST", Arrays.asList(task.getBarcode()));
log.info(task.getBarcode() + "出库通知,调用Tower发料,请求参数为:" + JSON.toJSONString(paramMap));
try {
......
......@@ -2,6 +2,7 @@ package com.neotel.smfcore.custom.lizhen.wcs;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import com.neotel.smfcore.common.bean.ResultBean;
......@@ -322,30 +323,61 @@ public class LizhenController {
@ApiOperation("Tower接收手动发料信息")
@RequestMapping("/manualTower")
@AnonymousAccess
public Map<String, String> manualTower(@RequestBody List<ManualTower> itemList) {
log.info("收到WMS手动发料数据为:" + JSON.toJSONString(itemList));
//createManualOrder(itemList);
for (ManualTower tower : itemList) {
PreWarningItem item = new PreWarningItem();
item.setMachinename(tower.getMACHINE_NAME());
item.setStation(tower.getMACHINE());
item.setSide(tower.getFACE());
item.setSlot(tower.getSLOT());
item.setSubslot(tower.getSUBSLOT());
item.setPartnumber(tower.getMATERIAL_CODE());
item.setLine(tower.getLINE());
item.setItemId(tower.getPICKING_ID());
item.setPickingId(tower.getPICKING_ID());
item.setPriority(0);
item.setBrand(tower.getBRAND());
PreWarningItemCache.addItems(Arrays.asList(item));
}
public Map<String, String> manualTower(@RequestBody JSONObject jsonObject) {
log.info("收到WMS手动发料数据为:" + JSON.toJSONString(jsonObject));
Map<String, String> resultMap = new HashMap<>();
resultMap.put("MSGTY", "S");
resultMap.put("MSGTX", "接收成功");
String pickingId = jsonObject.getString("PICKING_ID");
String data = jsonObject.getString("DATA");
List<ManualTower> manualTowerList = JSONArray.parseArray(data, ManualTower.class);
LiteOrder liteOrder = liteOrderManager.findByOrderNo(pickingId);
if (liteOrder == null){
String line = "";
List<LiteOrderItem> itemList = new ArrayList<>();
for (ManualTower manualTower : manualTowerList) {
LiteOrderItem item = new LiteOrderItem();
item.setPn(manualTower.getMATERIAL_CODE());
item.setNeedReelCount(manualTower.getREQ_REEL() == 0 ? 1 : manualTower.getREQ_REEL());
item.setNeedNum(manualTower.getREQ_QTY());
item.setSide(manualTower.getFACE());
item.setBrand(manualTower.getBRAND());
item.setLine(manualTower.getLINE());
if (StringUtils.isEmpty(line)){
line = manualTower.getLINE();
}
item.setPickingId(pickingId);
item.setRowId(manualTower.getROW_ID());
item.setItemNo(manualTower.getITEM_NO());
item.setStation(manualTower.getMACHINE());
item.setMo(manualTower.getMO());
item.setSlot(manualTower.getSLOT());
item.setSubSlot(manualTower.getSUBSLOT());
item.setBatchCode(manualTower.getBATCH_CODE());
item.setModel(manualTower.getMODEL());
itemList.add(item);
}
liteOrder = new LiteOrder();
liteOrder.setOrderNo(pickingId);
liteOrder.setLine(line);
liteOrder.setOrderItems(itemList);
liteOrder = liteOrderManager.createWithItems(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
resultMap.put("MSGTY", "S");
resultMap.put("MSGTX", "接收成功");
} else {
resultMap.put("MSGTY", "E");
resultMap.put("MSGTX", pickingId+"已经存在");
}
return resultMap;
}
private String createManualOrder(List<ManualTower> itemList) {
/*private String createManualOrder(List<ManualTower> itemList) {
Map<String, LiteOrder> orderMap = new HashMap<>();
for (ManualTower manualTower : itemList) {
......@@ -393,7 +425,7 @@ public class LizhenController {
log.info("工单["+newOrder.getOrderNo()+"]已创建完成");
}
return "OK";
}
}*/
......
......@@ -4,27 +4,30 @@ import lombok.Data;
@Data
public class ManualTower {
private String PLANT_CODE; // 厂区
private String PICKING_ID; // 挑料编码
private String ROW_ID; // 假设这是一个唯一标识符,可以使用String
private int ITEM_NO; // 项目号,使用int,如果可能超出int范围,则使用long
private String PLANT_CODE; // 工厂代码
private String MATERIAL_CODE; // 料号
private String LINE; // 线别
private String MACHINE_NAME; // 机台名
private String MACHINE; // 原为MACHINE,但为避免与机台名冲突,改为机台类型
private String MACHINE; // 机台(可能与MACHINE_NAME重复,但保持原样)
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_QTY; // 剩余数量,使用int,根据需求调整
private int LEFT_PCBS; // 剩余板数
private int LEFT_TIMES; // 剩余时间,假设为浮点数,根据需要可改为其他类型
private int LEFT_TIMES; // 剩余时间,根据时间单位可能需要调整为long或特定时间类型
private int PRIORITY; // 优先级
private int PRODUCT_BOARDS; // 主板数
private int STATUS; // 状态
private String RECIEVE_TYPE; // 接收类型
private String STATUS; // 状态,如果状态值很多且有具体含义,考虑使用枚举
private String MACHINE_TYPE; // 机台类型
private String RECIEVE_TYPE; // 接收类型,注意拼写错误,应为RECEIVE_TYPE
private String PITCH; // 摊位
private int TAP_LENGTH; // 料盘长度,假设为浮点数
private double TAP_LENGTH; // 料盘长度,假设需要较高的精度
private int REQ_REEL; // 需求卷数
private int REQ_QTY; // 需求数量
private String MODEL; // 机种
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!