Commit 5a8408ac zshaohui

功能优化 修改提交

1 个父辈 91d5d0b8
......@@ -901,7 +901,7 @@ public class LiteOrderCache {
liteOrder.setTaskFinishedTime(-1);
liteOrder.setFinishedReelCount(0);
liteOrder.setStatus(LITEORDER_STATUS.TAILS);
liteOrderMap.put(liteOrder.getOrderNo(), liteOrder);
//liteOrderMap.put(liteOrder.getOrderNo(), liteOrder);
//5.开始处理工单详情
List<StoragePos> needOutPosList = new ArrayList<>();
......@@ -1250,6 +1250,7 @@ public class LiteOrderCache {
while (taskNum < remainNum) {
log.info("当前分配的数量为:"+taskNum+",剩余数量为:"+remainNum);
Collection<String> excludePosIds = excludeOutPosIds();
StoragePos pos = storagePosManager.findPartNumberInStorages(storageIdList, partNumber, excludePosIds, checkoutType, orderItem.getBrand());
if (pos == null) {
......@@ -1257,7 +1258,7 @@ public class LiteOrderCache {
} else {
Barcode barcode = pos.getBarcode();
log.info(barcode.getBarcode() + "需要生成出库任务,工单号为:" + orderNo);
taskNum = taskNum + barcode.getAmount();
taskNum = taskNum + barcode.getQty();
taskReelCount = taskReelCount + 1;
DataLog task = newTask(pos);
task.setSourceId(cacheOrder.getId());
......@@ -1327,11 +1328,13 @@ public class LiteOrderCache {
while (taskNum < remainNum) {
log.info(orderNo + "已分配数量为:"+taskNum+",剩余数量为:"+remainNum);
Collection<String> excludePosIds = excludeOutPosIds();
//1.先从执行的料箱中出库
StoragePos pos = null;
if (storagePosList != null && !storageIdList.isEmpty()) {
if (storagePosList != null && !storagePosList.isEmpty()) {
for (StoragePos storagePos : storagePosList) {
if (excludePosIds.contains(storagePos.getId())) {
continue;
......@@ -1350,8 +1353,8 @@ public class LiteOrderCache {
break;
} else {
Barcode barcode = pos.getBarcode();
log.info(barcode.getBarcode() + "需要生成出库任务,工单号为:" + orderNo);
taskNum = taskNum + barcode.getAmount();
log.info(barcode.getBarcode() + "需要生成出库任务,工单号为:" + orderNo+",数量为:"+barcode.getQty());
taskNum = taskNum + barcode.getQty();
taskReelCount = taskReelCount + 1;
DataLog task = newTask(pos);
task.setSourceId(cacheOrder.getId());
......
......@@ -393,7 +393,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
}
Query q = new Query(c);
//Sort sort = getSortByCheckOutType(checkOutType);
Sort sort = Sort.by(Sort.Direction.ASC, "barcode.amount", "barcode.expireDate", "barcode.createDate");
Sort sort = Sort.by(Sort.Direction.DESC, "barcode.amount", "barcode.expireDate", "barcode.createDate");
q.with(sort);
StoragePos pos = storagePosDao.findOne(q);
if (pos == null) {
......@@ -863,7 +863,8 @@ public class StoragePosManagerImpl implements IStoragePosManager {
@Override
public List<StoragePos> findStoragePosByPartNumber(List<String> partNumberList) {
Criteria c = Criteria.where("barcode").exists(true)
.and("enabled").is(true).and("barcode.subCodeList.partNumber").in(partNumberList);//可用;
.and("enabled").is(true).and("barcode.subCodeList.partNumber").in(partNumberList)
.and("barcode.status").is(BARCODE_STATUS.IN_STORE);;//可用;
return storagePosDao.findByQuery(new Query(c));
}
......
......@@ -103,6 +103,24 @@ public class CDeviceController {
resultMap.put("h", bindGrInfo.getH());
}
}
else if (MaterialUtil.storTransfer(codeStr)){
StorTransfer storTransfer = MaterialUtil.getStorTransferInfo(codeStr);
log.info(codeStr + ":绑定储位移转信息为:" + JSON.toJSONString(storTransfer));
resultMap.put("w", storTransfer.getW());
resultMap.put("h", storTransfer.getH());
}
else if (MaterialUtil.ticketReturn(codeStr)){
TicketReturn ticketReturn = MaterialUtil.getTicketReturnInfo(codeStr);
log.info(codeStr + ":绑定单据退料信息为:" + JSON.toJSONString(ticketReturn));
resultMap.put("w", ticketReturn.getW());
resultMap.put("h", ticketReturn.getH());
}
else if (MaterialUtil.ticketTransfer(codeStr)){
TicketTransfer ticketTransfer = MaterialUtil.getTicketTransferInfo(codeStr);
log.info(codeStr + ":绑定单据转库信息为:" + JSON.toJSONString(ticketTransfer));
resultMap.put("w", ticketTransfer.getW());
resultMap.put("h", ticketTransfer.getH());
}
return ResultBean.newOkResult(resultMap);
}
......@@ -573,7 +591,15 @@ public class CDeviceController {
barcode.setOrderItemId("");
barcode.setBarSource("");
barcodeManager.saveBarcode(barcode);
return ResultBean.newOkResult("");
Map<String,String> resultMap = new HashMap<>();
resultMap.put("binCode",boxStr);
resultMap.put("seq",seq+"");
resultMap.put("barcode",barcode.getBarcode());
resultMap.put("pickingId",orderNo);
return ResultBean.newOkResult(resultMap);
}
......
......@@ -88,9 +88,15 @@ public class TicketController {
liteOrder = liteOrderManager.findByOrderNo(ticket);
}
if (liteOrder != null) {
if (!liteOrder.isTaskFinished() && !liteOrder.isNew()) {
if (liteOrder.isClosed()){
return ResultBean.newErrorResult(-1, "", "单据号" + ticket + "已经关闭");
}
if (!liteOrder.isTaskFinished() && !liteOrder.isNew() && !liteOrder.isClosed()) {
return ResultBean.newErrorResult(-1, "", "单据号" + ticket + "有正在执行的任务");
}
} else {
liteOrder = new LiteOrder();
liteOrder.setOrderNo(ticket);
......
......@@ -113,6 +113,8 @@ public class AgvDeviceController {
if (OP_STATUS.FINISHED.name().equals(statusStr)) {
finishedPutInTask(task);
taskService.moveTaskToFinished(task);
dataLogManager.save(task);
//WipBoxHandleUtil.intoPos(task);
ReelLockPosUtil.removeReelLockPosInfo(task.getBarcode());
......@@ -161,14 +163,14 @@ public class AgvDeviceController {
Barcode barcode = barcodeManager.findByBarcode(queueTask.getBarcode());
//通知WMS
PalletUpdateRequest palletUpdateRequest = new PalletUpdateRequest();
/*PalletUpdateRequest palletUpdateRequest = new PalletUpdateRequest();
palletUpdateRequest.setREQUEST_ID(System.currentTimeMillis()+"");
palletUpdateRequest.setPALLET_LIST(Lists.newArrayList(barcode.getPalletId()));
//上架是SWC, 下架是SWCT
palletUpdateRequest.setBIN_CODE("SWCT");
palletUpdateRequest.setBIZ_TYPE("M");
palletUpdateRequest.setPLANT_CODE(CommonUtil.plantCode);
LuxsanApi.palletUpdate(palletUpdateRequest);
LuxsanApi.palletUpdate(palletUpdateRequest);*/
//已完成,从库存中清除,并且从完成队列中清除
......@@ -192,8 +194,8 @@ public class AgvDeviceController {
storagePos.setUsed(false);
storagePosManager.save(storagePos);
queueTask.setStatus(OP_STATUS.FINISHED.name());
taskService.moveTaskToFinished(queueTask);
//queueTask.setStatus(OP_STATUS.FINISHED.name());
//taskService.moveTaskToFinished(queueTask);
}
......@@ -227,8 +229,5 @@ public class AgvDeviceController {
storagePosManager.save(storagePos);
queueTask.setStatus(OP_STATUS.FINISHED.name());
taskService.moveTaskToFinished(queueTask);
dataLogManager.save(queueTask);
}
}
......@@ -13,6 +13,8 @@ import com.neotel.smfcore.core.barcode.utils.CodeResolve;
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.service.manager.ILiteOrderItemManager;
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.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
......@@ -70,6 +72,9 @@ public class LineController {
@Autowired
private TaskService taskService;
@Autowired
private ILiteOrderItemManager liteOrderItemManager;
/**
* 线体第一个扫码器扫码调用
......@@ -221,7 +226,7 @@ public class LineController {
@AnonymousAccess
public ResultBean odnReCartonQty(@RequestBody Map<String, String> paramMap) {
String boxId = paramMap.get("cartonId");
log.info("判断是否为最后一箱,入参为:"+boxId);
//解析出来条码信息
Barcode barcode = codeResolve.resolveOneValideBarcode(boxId);
if (barcode == null) {
......@@ -236,6 +241,7 @@ public class LineController {
List<DataLog> allTasks = taskService.getAllTasks();
for (DataLog task : allTasks) {
if (task.isCheckOutTask() && barcode.getBarcode().equals(task.getBarcode())) {
log.info(boxId+"任务需要改成FINISHED");
soureId = task.getSourceId();
sourceName = task.getSourceName();
if (!task.isFinished()){
......@@ -271,13 +277,19 @@ public class LineController {
resultMap.put("odn", sourceName);
resultMap.put("qty", num);
resultMap.put("palletId", barcode.getPalletId());
if (num == 0){
return ResultBean.newOkResult(resultMap);
} else{
ResultBean resultBean = ResultBean.newErrorResult(-1, "", "剩余还有" + num + "箱");
resultBean.setData(resultMap);
return resultBean;
resultMap.put("ticketCode","");
resultMap.put("ticketItem","");
resultMap.put("plantCode","");
if (StringUtils.isNotEmpty(dataLog.getSubSourceId())){
LiteOrderItem orderItem = liteOrderItemManager.get(dataLog.getSubSourceId());
if (orderItem != null){
resultMap.put("ticketCode",orderItem.getTicketCode());
resultMap.put("ticketItem",orderItem.getTicketItem());
resultMap.put("plantCode",orderItem.getPlantCode());
}
}
return ResultBean.newOkResult(resultMap);
}
return ResultBean.newErrorResult(-1, "", "未找到对应的信息");
......
......@@ -215,7 +215,7 @@ public class WipStorCheckOutController {
liteOrderCache.odnCheckOut(odn,storagePosList);
return ResultBean.newOkResult(Arrays.asList("111","222"));
return ResultBean.newOkResult("");
}
@ApiOperation("人员调用wms手动解绑")
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!