Commit ed542779 LN

工单详情增加 库存盘数和库存数量

1 个父辈 3a5ac57b
...@@ -500,7 +500,14 @@ public class DataCache { ...@@ -500,7 +500,14 @@ public class DataCache {
} }
public List<List<StoragePos>> getAllUsedPosMap() { public List<List<StoragePos>> getAllUsedPosMap() {
List<List<StoragePos>> posList = new ArrayList<>(usedPosMap.values()); List<List<StoragePos>> posList = new ArrayList<>( );
for (String key :
allStorage.keySet()) {
List<StoragePos> list=getUsedPosList(key);
if(list.size()>0) {
posList.add(list);
}
}
return posList; return posList;
} }
......
...@@ -299,6 +299,7 @@ public class OrderController { ...@@ -299,6 +299,7 @@ public class OrderController {
OrderDto dto = orderMapper.toDto(liteOrder); OrderDto dto = orderMapper.toDto(liteOrder);
List<LiteOrderItem> orderItemDtos = liteOrder.getOrderItems(); List<LiteOrderItem> orderItemDtos = liteOrder.getOrderItems();
List<OrderItemDto> dtos = new ArrayList<>(); List<OrderItemDto> dtos = new ArrayList<>();
List<List<StoragePos>> allPosLists = null;
for (LiteOrderItem item : orderItemDtos for (LiteOrderItem item : orderItemDtos
) { ) {
OrderItemDto orderItemDto = orderItemMapper.toDto(item); OrderItemDto orderItemDto = orderItemMapper.toDto(item);
...@@ -312,6 +313,44 @@ public class OrderController { ...@@ -312,6 +313,44 @@ public class OrderController {
} }
orderItemDto.setAppendData(newMap); orderItemDto.setAppendData(newMap);
} }
//设置库存数量,库存盘数
int inventoryReelCount = 0;
int inventoryQty = 0;
if (allPosLists == null) {
allPosLists = dataCache.getAllUsedPosMap();
}
try {
for (List<StoragePos> list :
allPosLists) {
for (StoragePos pos : list) {
boolean isItemPos = false;
if (ObjectUtil.isNotEmpty(item.getRi())) {
if (pos.getBarcode().getBarcode().equals(item.getRi())) {
isItemPos = true;
}
} else if (ObjectUtil.isNotEmpty(item.getPn())) {
if (ObjectUtil.isNotEmpty(pos.getBarcode().getPartNumber()) && pos.getBarcode().getPartNumber().startsWith(item.getPn())) {
isItemPos = true;
}
} else if (ObjectUtil.isNotEmpty(item.getMpn())) {
if (ObjectUtil.isNotEmpty(pos.getBarcode().getMpn()) && pos.getBarcode().getMpn().equals(item.getMpn())) {
isItemPos = true;
}
}
if (isItemPos) {
inventoryReelCount += 1;
inventoryQty += pos.getBarcode().getAmount();
}
}
}
} catch (Exception ex) {
log.error("error:" + ex.toString());
}
orderItemDto.setInventoryQty(inventoryQty);
orderItemDto.setInventoryReelCount(inventoryReelCount);
dtos.add(orderItemDto); dtos.add(orderItemDto);
} }
dto.setOrderItems(dtos); dto.setOrderItems(dtos);
......
...@@ -49,13 +49,29 @@ public class OrderItemDto { ...@@ -49,13 +49,29 @@ public class OrderItemDto {
*/ */
@ApiModelProperty("面别") @ApiModelProperty("面别")
private String side = ""; private String side = "";
//
@ApiModelProperty("库存信息") // @ApiModelProperty("库存信息")
@Transient // @Transient
private int inventoryNum = 0; // private int inventoryNum = 0;
@ApiModelProperty("制造商物料编号") @ApiModelProperty("制造商物料编号")
private String mpn = ""; private String mpn = "";
/**
* 库存数量
*/
private int inventoryQty = 0;
/**
* 库存盘数
*/
private int inventoryReelCount = 0;
// Inventory Quantity
// Inventory Reel / Bundle count
// Insufficient Quantity
// Insufficient Reel / Bundle count
// Insufficient
@ApiModelProperty("自定义的附加字段,key=字段名,value=值") @ApiModelProperty("自定义的附加字段,key=字段名,value=值")
public Map<String,String> appendData = new HashMap<>(); public Map<String,String> appendData = new HashMap<>();
......
...@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.bean.ResultBean; ...@@ -5,6 +5,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.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditItemManager; import com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditItemManager;
import com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditManager; import com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditManager;
...@@ -46,6 +47,8 @@ public class SelfAuditDeviceController { ...@@ -46,6 +47,8 @@ public class SelfAuditDeviceController {
private TaskService taskService; private TaskService taskService;
@Autowired @Autowired
private ISelfAuditItemManager selfAuditItemManager; private ISelfAuditItemManager selfAuditItemManager;
@Autowired
private CodeResolve codeResolve;
private SelfAudit getCurrObj(){ private SelfAudit getCurrObj(){
...@@ -177,8 +180,13 @@ public class SelfAuditDeviceController { ...@@ -177,8 +180,13 @@ public class SelfAuditDeviceController {
StoragePos storagePos = storagePosManager.getByPosName(posName); StoragePos storagePos = storagePosManager.getByPosName(posName);
if (storagePos != null) { if (storagePos != null) {
try { try {
log.info("盘点入库完成,自动生成入库任务,更新库位[" + storagePos.getPosName() + "]"); if(ObjectUtil.isNotEmpty(barcode)&&barcode.equals(actualBarcode)){
Barcode barcode1=codeResolve.resolveOneValideBarcode(barcode);
if(barcode1!=null){
log.info("盘点入库完成,条码一致,自动生成入库任务,更新库位[" + storagePos.getPosName() + "]");
taskService.addTaskToFinished(storagePos,barcode1,"selfAudit");
}
}
//TODO //TODO
...@@ -187,6 +195,7 @@ public class SelfAuditDeviceController { ...@@ -187,6 +195,7 @@ public class SelfAuditDeviceController {
} }
} }
item.setActualBarcode(actualBarcode);
item.setItemStatus(2); item.setItemStatus(2);
selfAuditItemManager.save(item); selfAuditItemManager.save(item);
} }
......
...@@ -242,13 +242,13 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -242,13 +242,13 @@ public class StoragePosManagerImpl implements IStoragePosManager {
@Override @Override
public List<StoragePos> findUsedPosNameByStorageId(String storageId) { public List<StoragePos> findUsedPosNameByStorageId(String storageId) {
Criteria c = Criteria.where("barcode").exists(true) Criteria c = Criteria.where("barcode").exists(true)
.and("enabled").is(true);//可用; .and("enabled").is(true);//可用;
if(!Strings.isNullOrEmpty(storageId)){ if(!Strings.isNullOrEmpty(storageId)){
c = c.and("storageId").is(storageId); c = c.and("storageId").is(storageId);
} }
Query query = new Query(c); Query query = new Query(c);
query.fields().include("posName").exclude("id"); // query.fields().include("posName").exclude("id");
return storagePosDao.findByQuery(query); return storagePosDao.findByQuery(query);
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!