Commit 216f6313 LN

dispatch增加detial

1 个父辈 f6735d05
......@@ -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.order.LiteOrderCache;
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.ILiteOrderManager;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
......@@ -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.service.manager.IStoragePosManager;
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.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService;
......@@ -69,8 +74,6 @@ public class MicronDispatchController {
private final FileProperties properties;
@Autowired
private LiteOrderCache liteOrderCache;
@Autowired
private DispatchItemMapper dispatchItemMapper;
@Autowired
private OrderFileWatch orderFileWatch;
......@@ -78,8 +81,12 @@ public class MicronDispatchController {
@Autowired
private TaskService taskService;
@Autowired
private final OrderMapper orderMapper;
@Autowired
private final OrderItemMapper orderItemMapper;
@Autowired
private IStoragePosManager storagePosManager;
private String Mode_RACK="RACK";
......@@ -959,11 +966,86 @@ public class MicronDispatchController {
}
// public List<LiteOrderItem> getLiteOrderItemList(String mode) {
// LiteOrder order=getOrderByMode(mode);
// if(order!=null){
// return order.getOrderItems();
// }
// return null;
// }
@ApiOperation("查看工单详情")
@PostMapping("/orderDetial")
@AnonymousAccess
public OrderDto detial(@RequestBody Map<String, Object> params) {
String mode = params.get("mode").toString();
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!