Commit 00b067af LN

工单虚拟回仓功能

1 个父辈 d09ac086
......@@ -91,6 +91,18 @@ public class LiteOrderCache implements ITaskListener {
liteOrderMap.put(order.getOrderNo(), order);
}
// public LiteOrder getOrder(String orderNo){
// LiteOrder order = liteOrderMap.get(orderNo);
//
// if (order == null) {
// order = liteOrderManager.findByOrderNo(orderNo);
// if(order!=null){
// addOrderToMap(order);
// }
// }
// return order;
// }
private boolean isProcessTimer = false;
public void runTimer(){
......
......@@ -9,6 +9,7 @@ import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -216,5 +217,18 @@ public class LiteOrder extends BasePo implements Serializable {
return sdate;
}
public void updateOrderItems(LiteOrderItem item) {
if (orderItems == null) {
orderItems = new ArrayList<>();
}
int size = orderItems.size();
for (int i = 0; i < size; i++) {
if (orderItems.get(i).getId().equals(item.getId())) {
orderItems.set(i, item);
return;
}
}
orderItems.add(item);
}
}
......@@ -16,19 +16,13 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import com.neotel.smfcore.core.order.enums.ORDER_COLOR;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.rest.dto.TacticsOutDto;
import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.manager.impl.StorageManagerImpl;
import com.neotel.smfcore.core.storage.service.manager.impl.StoragePosManagerImpl;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.bean.MSDAppendInfo;
import com.neotel.smfcore.core.system.listener.ITaskListener;
import com.neotel.smfcore.core.system.service.dao.IDataLogDao;
import com.neotel.smfcore.core.system.service.po.DataLog;
......@@ -827,6 +821,57 @@ public class TaskService {
}
}
public void addVirtualOutToFinished( LiteOrder liteOrder, Barcode barcode,Integer num, String opUser) {
try {
Collection<DataLog> allTasks = taskMap.values();
DataLog dataLog = new DataLog();
dataLog.setPartNumber(barcode.getPartNumber());
dataLog.setBarcode(barcode.getBarcode());
dataLog.setNum(num);
dataLog.setMemo(barcode.getMemo());
dataLog.setPutInDate(barcode.getPutInDate());
MSDAppendInfo msdAppendInfo = new MSDAppendInfo();
msdAppendInfo.setMsl(barcode.getMsl());
msdAppendInfo.setOpenTime(barcode.getOpenTime());
msdAppendInfo.setThickness(barcode.getThickness());
dataLog.setMsdAppendInfo(msdAppendInfo);
dataLog.setCid("");
dataLog.setStorageId("");
dataLog.setStorageName("OutLine");
dataLog.setPosId("");
dataLog.setPosName("OutLine");
dataLog.setStatus(OP_STATUS.WAIT.name());
//操作人,工单信息
dataLog.setOperator(opUser);
dataLog.setSourceName(liteOrder.getOrderNo());
dataLog.setSourceId(liteOrder.getId());
log.info(opUser + "虚拟回仓: PN【"+barcode.getPartNumber()+"】条码【" + barcode.getBarcode() + "】 工单号【" + liteOrder.getOrderNo() + "】数量【" + num + "】");
dataLog.setType(OP.CHECKOUT);
barcode.setUsed(true);
barcode.setUsedDate(new Date());
//仓位状态
barcode.setCheckOutDate(new Date(), dataLog.getOperator());
barcode.setPosName("");
barcodeManager.save(barcode);
dataLog.setStatus(OP_STATUS.FINISHED.name());
dataLog = dataLogDao.save(dataLog);
theFinishedTaskMap.put(dataLog.getBarcode(), dataLog);
} catch (Exception e) {
log.error("addVirtualOutToFinished Error:", e);
}
}
/**
* 出库完成
*/
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!