Commit 216f6313 LN

dispatch增加detial

1 个父辈 f6735d05
...@@ -11,6 +11,10 @@ import com.neotel.smfcore.core.device.enums.OP_STATUS; ...@@ -11,6 +11,10 @@ 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.LiteOrderCache;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS; import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import com.neotel.smfcore.core.order.rest.bean.dto.OrderDto;
import com.neotel.smfcore.core.order.rest.bean.dto.OrderItemDto;
import com.neotel.smfcore.core.order.rest.bean.mapstruct.OrderItemMapper;
import com.neotel.smfcore.core.order.rest.bean.mapstruct.OrderMapper;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager; import com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager; 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.LiteOrder;
...@@ -20,6 +24,7 @@ import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE; ...@@ -20,6 +24,7 @@ import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
import com.neotel.smfcore.core.storage.rest.dto.TacticsOutDto; import com.neotel.smfcore.core.storage.rest.dto.TacticsOutDto;
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.bean.OrderSetting;
import com.neotel.smfcore.core.system.service.manager.IDataLogManager; 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;
...@@ -69,8 +74,6 @@ public class MicronDispatchController { ...@@ -69,8 +74,6 @@ public class MicronDispatchController {
private final FileProperties properties; private final FileProperties properties;
@Autowired @Autowired
private LiteOrderCache liteOrderCache; private LiteOrderCache liteOrderCache;
@Autowired
private DispatchItemMapper dispatchItemMapper;
@Autowired @Autowired
private OrderFileWatch orderFileWatch; private OrderFileWatch orderFileWatch;
...@@ -78,8 +81,12 @@ public class MicronDispatchController { ...@@ -78,8 +81,12 @@ public class MicronDispatchController {
@Autowired @Autowired
private TaskService taskService; private TaskService taskService;
@Autowired
private final OrderMapper orderMapper;
@Autowired @Autowired
private final OrderItemMapper orderItemMapper;
@Autowired
private IStoragePosManager storagePosManager; private IStoragePosManager storagePosManager;
private String Mode_RACK="RACK"; private String Mode_RACK="RACK";
...@@ -959,11 +966,86 @@ public class MicronDispatchController { ...@@ -959,11 +966,86 @@ public class MicronDispatchController {
} }
// public List<LiteOrderItem> getLiteOrderItemList(String mode) { @ApiOperation("查看工单详情")
// LiteOrder order=getOrderByMode(mode); @PostMapping("/orderDetial")
// if(order!=null){ @AnonymousAccess
// return order.getOrderItems(); public OrderDto detial(@RequestBody Map<String, Object> params) {
// } String mode = params.get("mode").toString();
// return null; log.info(" abort :mode=" + mode);
// } LiteOrder liteOrder = getOrderByMode(mode);
TaskDto taskDto = getTaskDtoByMode(mode);
if (liteOrder == null || taskDto == null) {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"orderNo"});
}
return toOrderDto(liteOrder);
}
private OrderDto toOrderDto(LiteOrder liteOrder) {
OrderSetting orderSetting = dataCache.getOrderSetting();
OrderDto dto = orderMapper.toDto(liteOrder);
List<LiteOrderItem> orderItemDtos = liteOrder.getOrderItems();
List<OrderItemDto> dtos = new ArrayList<>();
List<Map<String,StoragePos>> allPosLists =dataCache.getAllUsedPosMap();;
for (LiteOrderItem item : orderItemDtos
) {
OrderItemDto orderItemDto = orderItemMapper.toDto(item);
if (orderSetting.getAppendData() != null && orderSetting.getAppendData().size() > 0 && orderItemDto.getAppendData() != null && orderItemDto.getAppendData().size() > 0) {
Map<String, String> newMap = new HashMap<>();
for (String key :
orderItemDto.getAppendData().keySet()) {
String v = orderItemDto.appendData.getOrDefault(key, "");
String title = orderSetting.getAppendData().getOrDefault(key, "");
newMap.put(title, v);
}
orderItemDto.setAppendData(newMap);
}
//设置库存数量,库存盘数
int inventoryReelCount = 0;
int inventoryQty = 0;
try {
for (Map<String,StoragePos> list :
allPosLists) {
for (StoragePos pos : list.values()) {
//如果已锁定,直接跳过
if(pos.isLocked()){
continue;
}
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);
}
dto.setOrderItems(dtos);
dto.setCurrTaskCount(liteOrderCache.getOrderTaskCount(liteOrder.getOrderNo()));
return dto;
}
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!