Commit 65fae3cf zshaohui

1.工单出库时,绑定物料与orderitemId

2.料箱中物料出库时,任务增加so与slotnum字段
1 个父辈 a1d9ad19
...@@ -2,6 +2,7 @@ package com.neotel.smfcore.core.barcode.service.manager; ...@@ -2,6 +2,7 @@ package com.neotel.smfcore.core.barcode.service.manager;
import com.neotel.smfcore.common.base.IBaseManager; import com.neotel.smfcore.common.base.IBaseManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import org.springframework.data.mongodb.core.query.Query;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
...@@ -19,4 +20,6 @@ public interface IBarcodeManager extends IBaseManager<Barcode> { ...@@ -19,4 +20,6 @@ public interface IBarcodeManager extends IBaseManager<Barcode> {
void deleteBarcodes(Set<String> ids); void deleteBarcodes(Set<String> ids);
Barcode findByPartNumber(String partNumber); Barcode findByPartNumber(String partNumber);
Barcode findByQueryOne(Query query);
} }
...@@ -104,6 +104,11 @@ public class BarcodeManagerImpl implements IBarcodeManager { ...@@ -104,6 +104,11 @@ public class BarcodeManagerImpl implements IBarcodeManager {
} }
@Override @Override
public Barcode findByQueryOne(Query query) {
return barcodeDao.findOne(query);
}
@Override
public Barcode saveBarcode(Barcode resources) { public Barcode saveBarcode(Barcode resources) {
validateSave(resources); validateSave(resources);
......
...@@ -161,6 +161,11 @@ public class Barcode extends BasePo implements Serializable { ...@@ -161,6 +161,11 @@ public class Barcode extends BasePo implements Serializable {
private List<Barcode> subCodeList; private List<Barcode> subCodeList;
/** /**
*
*/
private String orderItemId;
/**
* 是否是锡膏 * 是否是锡膏
*/ */
public boolean isSolder() { public boolean isSolder() {
......
...@@ -7,6 +7,7 @@ import com.neotel.smfcore.common.bean.ResultBean; ...@@ -7,6 +7,7 @@ import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException; import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants; 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.core.api.SmfApi; import com.neotel.smfcore.core.api.SmfApi;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager; 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;
...@@ -180,6 +181,7 @@ public class LiteOrderCache { ...@@ -180,6 +181,7 @@ public class LiteOrderCache {
task.setSourceId(liteOrder.getId()); task.setSourceId(liteOrder.getId());
task.setSourceName(liteOrder.getOrderNo()); task.setSourceName(liteOrder.getOrderNo());
task.setSo(liteOrder.getSo());
task.setSubSourceId(barcode.getLockName()); task.setSubSourceId(barcode.getLockName());
task.setSubSourceInfo(barcode.getLockName()); task.setSubSourceInfo(barcode.getLockName());
task.setType(OP.CHECKOUT); task.setType(OP.CHECKOUT);
...@@ -440,6 +442,7 @@ public class LiteOrderCache { ...@@ -440,6 +442,7 @@ public class LiteOrderCache {
task.setType(OP.CHECKOUT); task.setType(OP.CHECKOUT);
task.setLightColor(nextColor.getRgb()); task.setLightColor(nextColor.getRgb());
task.setStatus(OP_STATUS.WAIT.name()); task.setStatus(OP_STATUS.WAIT.name());
task.setSlotnum(orderItem.getSlotNum());
// task = dataLogDao.save(task); // task = dataLogDao.save(task);
taskService.addTaskToExecute(task); taskService.addTaskToExecute(task);
} }
...@@ -447,9 +450,27 @@ public class LiteOrderCache { ...@@ -447,9 +450,27 @@ public class LiteOrderCache {
if(cacheOrder.getType()==2){ if(cacheOrder.getType()==2){
break; break;
} }
//开始工单与料盘绑定
String orderItemId = orderItem.getId();
//物料与需求单绑定
Barcode barcode = barcodeManager.findByBarcode(orderItem.getRi());
if (barcode != null) {
barcode.setOrderItemId(orderItemId);
barcodeManager.save(barcode);
//同时更新
Criteria c = Criteria.where("subCodeList.barcode").is(orderItem.getRi());
Barcode parBarcode = barcodeManager.findByQueryOne(new Query(c));
if (parBarcode != null) {
List<Barcode> subCodeList = parBarcode.getSubCodeList();
subCodeList.removeIf(subCode -> subCode.getBarcode().equals(barcode.getBarcode()));
subCodeList.add(barcode);
parBarcode.setSubCodeList(subCodeList);
barcodeManager.saveBarcode(parBarcode);
}
}
} }
} }
} }
cacheOrder.setTaskReelCount(taskReelCount); cacheOrder.setTaskReelCount(taskReelCount);
...@@ -617,4 +638,16 @@ public class LiteOrderCache { ...@@ -617,4 +638,16 @@ public class LiteOrderCache {
} }
return null; return null;
} }
public LiteOrder getLiteOrderByOrderItemId(String orderItemId) {
if (StringUtils.isBlank(orderItemId)) {
return null;
}
LiteOrderItem liteOrderItem = liteOrderItemManager.get(orderItemId);
if (liteOrderItem != null) {
String orderId = liteOrderItem.getOrderId();
return liteOrderManager.get(orderId);
}
return null;
}
} }
...@@ -16,6 +16,10 @@ import com.neotel.smfcore.core.barcode.utils.CodeResolve; ...@@ -16,6 +16,10 @@ import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.enums.OP; import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS; import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager; import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
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.manager.IDataLogManager;
...@@ -62,6 +66,9 @@ public class MaterialBoxController { ...@@ -62,6 +66,9 @@ public class MaterialBoxController {
@Autowired @Autowired
protected SmfApi smfApi; protected SmfApi smfApi;
@Autowired
private LiteOrderCache liteOrderCache;
@ApiOperation("查询料盒信息") @ApiOperation("查询料盒信息")
@PostMapping @PostMapping
@PreAuthorize("@el.check('materialBox')") @PreAuthorize("@el.check('materialBox')")
...@@ -583,6 +590,21 @@ public class MaterialBoxController { ...@@ -583,6 +590,21 @@ public class MaterialBoxController {
task.setBarcode(subBarcode.getBarcode()); task.setBarcode(subBarcode.getBarcode());
task.setNum(opQty); task.setNum(opQty);
task.setType(opType); task.setType(opType);
//开始查询工单
LiteOrder liteOrder = liteOrderCache.getLiteOrderByOrderItemId(subBarcode.getOrderItemId());
task.setSo(liteOrder.getSo());
task.setSourceName(liteOrder.getOrderNo());
if (liteOrder != null){
List<LiteOrderItem> orderItems = liteOrder.getOrderItems();
for (LiteOrderItem orderItem : orderItems) {
if (orderItem.getRi().equals(subBarcode.getBarcode())){
task.setSlotnum(orderItem.getSlotNum());
break;
}
}
}
if (task.isCheckOutTask()) { if (task.isCheckOutTask()) {
opQty = -opQty; opQty = -opQty;
} }
......
...@@ -206,6 +206,15 @@ public class DataLog extends BasePo implements Serializable { ...@@ -206,6 +206,15 @@ public class DataLog extends BasePo implements Serializable {
private Date putInDate; private Date putInDate;
/** /**
* 需求单号
*/
private String so;
/**
* 站位号
*/
private int slotnum = 0;
/**
* MSD附加信息 * MSD附加信息
*/ */
private MSDAppendInfo msdAppendInfo; private MSDAppendInfo msdAppendInfo;
......
...@@ -156,7 +156,6 @@ public class TaskService { ...@@ -156,7 +156,6 @@ public class TaskService {
*/ */
public DataLog updateQueueTask(DataLog task) { public DataLog updateQueueTask(DataLog task) {
tiggerTaskChangeListener(task); tiggerTaskChangeListener(task);
log.info("开始保存----"+ JsonUtil.toJsonStr(task));
task = dataLogDao.save(task); task = dataLogDao.save(task);
taskMap.put(task.getId(), task); taskMap.put(task.getId(), task);
//tiggerTaskChangeListener(task); //tiggerTaskChangeListener(task);
......
...@@ -91,7 +91,8 @@ public class NeotelApi extends BaseSmfApiListener { ...@@ -91,7 +91,8 @@ public class NeotelApi extends BaseSmfApiListener {
paramMap.put("boxNo", task.getCid()); paramMap.put("boxNo", task.getCid());
paramMap.put("location", task.getPosName()); paramMap.put("location", task.getPosName());
paramMap.put("hSerial", task.getSourceName()); paramMap.put("hSerial", task.getSourceName());
paramMap.put("slotNum", task.getSubSourceId()); paramMap.put("slotNum", task.getSlotnum());
paramMap.put("so",task.getSo());
int type = getType(task), w = 0, h = 0; int type = getType(task), w = 0, h = 0;
if (type != 2) { if (type != 2) {
......
...@@ -90,7 +90,8 @@ public class NeotelController { ...@@ -90,7 +90,8 @@ public class NeotelController {
orderItem.setSlotNum(Integer.valueOf(outItem.get("slotNum").toString())); //站位编号 orderItem.setSlotNum(Integer.valueOf(outItem.get("slotNum").toString())); //站位编号
} }
if (outItem.get("reelId") != null) { if (outItem.get("reelId") != null) {
orderItem.setRi(outItem.get("reelId").toString()); //料盘唯一码 String reelId = outItem.get("reelId").toString();
orderItem.setRi(reelId); //料盘唯一码
orderItem.setNeedNum(1); orderItem.setNeedNum(1);
} }
orderItemList.add(orderItem); orderItemList.add(orderItem);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!