Commit a21f4916 张少辉

1.出库提交

1 个父辈 76e737b0
...@@ -155,6 +155,12 @@ public class Barcode extends BasePo implements Serializable { ...@@ -155,6 +155,12 @@ public class Barcode extends BasePo implements Serializable {
private String pidBarcode; private String pidBarcode;
//出库增加的参数
private String stockoutNo; //出库单号
private String stockoutNoLine; //出库对应的行数
private String lastStockOutNum; //上一次出库的数量
/** /**
* 关联条码,夹具时关联相关的物料,用于入库完成时插入相关物料 * 关联条码,夹具时关联相关的物料,用于入库完成时插入相关物料
*/ */
......
...@@ -9,6 +9,8 @@ import com.neotel.smfcore.common.utils.Constants; ...@@ -9,6 +9,8 @@ import com.neotel.smfcore.common.utils.Constants;
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.api.SmfApi; import com.neotel.smfcore.core.api.SmfApi;
import com.neotel.smfcore.core.barcode.rest.bean.mapstruct.BarcodeMapper;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.bean.StatusBean; import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP; import com.neotel.smfcore.core.device.enums.OP;
...@@ -64,6 +66,9 @@ public class LiteOrderCache { ...@@ -64,6 +66,9 @@ public class LiteOrderCache {
@Autowired @Autowired
private SmfApi smfApi; private SmfApi smfApi;
@Autowired
private IBarcodeManager barcodeManager;
// //最大工单数 // //最大工单数
// public int MaxOrderCount=1; // public int MaxOrderCount=1;
// public boolean SingleOrderMode(){ // public boolean SingleOrderMode(){
...@@ -75,6 +80,8 @@ public class LiteOrderCache { ...@@ -75,6 +80,8 @@ public class LiteOrderCache {
* 正在执行的liteOrderMap, key 为orderNo,value 为order * 正在执行的liteOrderMap, key 为orderNo,value 为order
*/ */
private static Map<String, LiteOrder> liteOrderMap = new ConcurrentHashMap<>(); private static Map<String, LiteOrder> liteOrderMap = new ConcurrentHashMap<>();
@Autowired
private BarcodeMapper barcodeMapper;
public void loadUnEndOrderInfos() { public void loadUnEndOrderInfos() {
...@@ -625,6 +632,16 @@ public class LiteOrderCache { ...@@ -625,6 +632,16 @@ public class LiteOrderCache {
task.setSo(cacheOrder.getSo()); task.setSo(cacheOrder.getSo());
task.setSoltNum(orderItem.getSlotNum()); task.setSoltNum(orderItem.getSlotNum());
taskService.addTaskToExecute(task); taskService.addTaskToExecute(task);
//修改barcode的信息
Barcode barcode = pos.getBarcode();
barcode.setStockoutNo(orderNo);
barcode.setStockoutNoLine(orderItem.getRowNumber());
barcode.setLastStockOutNum(barcode.getAmount()+"");
barcodeManager.saveBarcode(barcode);
pos.setBarcode(barcode);
storagePosManager.save(pos);
} }
//如果是RI出库,只有一盘,出完就结束 //如果是RI出库,只有一盘,出完就结束
if(!Strings.isNullOrEmpty(reelId)){ if(!Strings.isNullOrEmpty(reelId)){
......
...@@ -231,7 +231,7 @@ public class MaterialBoxController { ...@@ -231,7 +231,7 @@ public class MaterialBoxController {
barcodeManager.save(barcode); barcodeManager.save(barcode);
//设置料盒的数量 //设置料盒的数量
int amount = barcode.getAmount(); int amount = boxBarcode.getAmount();
String pidBarcode = boxBarcode.getPidBarcode(); String pidBarcode = boxBarcode.getPidBarcode();
if (StringUtils.isEmpty(pidBarcode)){ if (StringUtils.isEmpty(pidBarcode)){
amount = 0; amount = 0;
......
...@@ -17,6 +17,7 @@ import com.neotel.smfcore.core.inList.util.InListCache; ...@@ -17,6 +17,7 @@ import com.neotel.smfcore.core.inList.util.InListCache;
import com.neotel.smfcore.core.storage.enums.DeviceType; import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos; import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.manager.IDataLogManager;
import com.neotel.smfcore.core.system.service.po.DataLog; import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService; import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.aiqingzhiyin1643.bean.CtuCheckOutTask; import com.neotel.smfcore.custom.aiqingzhiyin1643.bean.CtuCheckOutTask;
...@@ -57,6 +58,9 @@ public class AgvDeviceController { ...@@ -57,6 +58,9 @@ public class AgvDeviceController {
private DataCache dataCache; private DataCache dataCache;
@Autowired @Autowired
private IDataLogManager dataLogManager;
@Autowired
private MomoApi momoApi; private MomoApi momoApi;
@Autowired @Autowired
...@@ -224,8 +228,10 @@ public class AgvDeviceController { ...@@ -224,8 +228,10 @@ public class AgvDeviceController {
taskService.updateFinishedTask(opTask); taskService.updateFinishedTask(opTask);
if (!opTask.isNotifyMomo()) { if (!opTask.isNotifyMomo()) {
opTask.setNotifyMomo(true); opTask.setNotifyMomo(true);
taskService.updateFinishedTask(opTask); taskService.moveTaskToFinished(opTask);
dataLogManager.save(opTask);
} }
if (OP_STATUS.FINISHED.name().equals(statusStr)) { if (OP_STATUS.FINISHED.name().equals(statusStr)) {
//已完成,从完成缓存中清除 //已完成,从完成缓存中清除
taskService.removeFinishedTask(opTask); taskService.removeFinishedTask(opTask);
......
...@@ -128,33 +128,34 @@ public class MomoApi extends BaseSmfApiListener { ...@@ -128,33 +128,34 @@ public class MomoApi extends BaseSmfApiListener {
@Override @Override
public void outTaskStatusChange(String outNotifyUrl, DataLog task) { public void outTaskStatusChange(String outNotifyUrl, DataLog task) {
if (!task.isNotifyMomo()) { if (!task.isNotifyMomo()) {
/*Map<String, Object> paramMap = new HashMap<>(); Barcode barcode = barcodeManager.findByBarcode(task.getBarcode());
paramMap.put("StockoutNo", task.getStockoutNo()); if (barcode != null && StringUtils.isNotEmpty(barcode.getStockoutNo())){
Map<String, Object> paramMap = new HashMap<>();
List<Map<String, Object>> DetailItems = new ArrayList<>(); paramMap.put("StockoutNo", barcode.getStockoutNo());
Map<String, Object> itemMap = new HashMap<>();
List<Map<String, Object>> DetailItems = new ArrayList<>();
if (StringUtils.isNotEmpty(task.getContainer())) { Map<String, Object> itemMap = new HashMap<>();
itemMap.put("Container", task.getContainer());
} else { if (StringUtils.isNotEmpty(barcode.getPidBarcode())) {
itemMap.put("Container", task.getBarcode()); itemMap.put("Container", barcode.getPidBarcode());
} else {
itemMap.put("Container", task.getBarcode());
}
//itemMap.put("Container", task.getBarcode());
itemMap.put("ProductName", barcode.getDescription());
itemMap.put("ProductNo", task.getPartNumber());
itemMap.put("QuantityOnHand", task.getNum());
itemMap.put("StockoutNoLine", barcode.getStockoutNoLine());
DetailItems.add(itemMap);
paramMap.put("DetailItems", DetailItems);
log.info("接口5:MOM接收WMS的出库结果,请求参数为:" + JSON.toJSONString(paramMap));
try {
String resultStr = HttpHelper.postJson(outNotifyUrl, paramMap);
log.info("接口5:MOM接收WMS的出库结果,返回参数为:" + resultStr);
} catch (ApiException e) {
log.error("接口5:MOM接收WMS的出库结果,请求异常:", e);
}
} }
//itemMap.put("Container", task.getBarcode());
itemMap.put("ProductName", task.getProductName());
itemMap.put("ProductNo", task.getPartNumber());
itemMap.put("QuantityOnHand", task.getNum());
itemMap.put("StockoutNoLine", task.getStockoutNoLine());
DetailItems.add(itemMap);
paramMap.put("DetailItems", DetailItems);
log.info("接口5:MOM接收WMS的出库结果,请求参数为:" + JSON.toJSONString(paramMap));
try {
String resultStr = HttpHelper.postJson(outNotifyUrl, paramMap);
log.info("接口5:MOM接收WMS的出库结果,返回参数为:" + resultStr);
} catch (ApiException e) {
log.error("接口5:MOM接收WMS的出库结果,请求异常:", e);
}*/
} }
} }
......
...@@ -77,6 +77,9 @@ public class BoxUtil { ...@@ -77,6 +77,9 @@ public class BoxUtil {
barcode.setInOpor(""); barcode.setInOpor("");
barcode.setCheckOutDate(null, ""); barcode.setCheckOutDate(null, "");
barcode.setPosName(opTask.getPosName()); barcode.setPosName(opTask.getPosName());
barcode.setStockoutNoLine("");
barcode.setLastStockOutNum("");
barcode.setStockoutNo("");
storagePos.setBarcode(barcode); storagePos.setBarcode(barcode);
dataCache.updateInventory(storagePos, barcode); dataCache.updateInventory(storagePos, barcode);
barcode = barcodeManager.save(barcode); barcode = barcodeManager.save(barcode);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!