package com.zy.asrs.entity.param;
|
|
import com.core.common.Cools;
|
import lombok.AllArgsConstructor;
|
import lombok.Data;
|
|
import java.util.Date;
|
import java.util.List;
|
|
@Data
|
public class OpenOrderParam {
|
|
/**
|
* 订单编码
|
*/
|
private String orderNo;
|
|
/**
|
* 单据内码 唯一标识 若没有可以补充订单编码
|
*/
|
private String orderInternalCode;
|
|
/**
|
* 订单类型 1 出库单 2 入库单 3 调拨单
|
*/
|
private long orderType;
|
|
/**
|
* 业务类型 枚举类型 采购入库单 销售退货单 销售出库单 调拨申请单
|
*/
|
private String wkType;
|
|
/**
|
* 业务日期 时间戳 精确到秒
|
*/
|
private Date businessTime;
|
|
/**
|
* 创建日期
|
*/
|
private Date createTime;
|
|
/**
|
* 订单明细
|
*/
|
private List<OrderItem> orderItems;
|
|
/**
|
* 入/出库接驳站点 (出库时将物料出库后运输至该站点 入库时从该站点将物料运回库中) 需要则补充 否则不用补充
|
*/
|
private String stationId;
|
|
/**
|
* 操作类型 1 新增(默认) 2 修改 3 取消
|
*/
|
private Integer operateType;
|
|
@Data
|
@AllArgsConstructor
|
public static class OrderItem {
|
/**
|
* 行内码 唯一标识
|
*/
|
private String lineId;
|
|
/**
|
* 物料编码
|
*/
|
private String matNr;
|
|
/**
|
* 物料名称
|
*/
|
private String makTx;
|
|
/**
|
* 数量 小数点默认4位
|
*/
|
private Double anfme;
|
|
/**
|
* 规格
|
*/
|
private String spec;
|
|
/**
|
* 型号
|
*/
|
private String model;
|
|
/**
|
* 单位
|
*/
|
private String unit;
|
|
/**
|
* 批次号
|
*/
|
private String batch;
|
|
/**
|
* 托盘码 若订单类型为出库单时 则指定该托盘出库
|
*/
|
private String palletId;
|
|
/**
|
* 计划跟踪号
|
*/
|
private String planNo;
|
|
/**
|
* 建议入库仓库
|
*/
|
private String targetWareHouseId;
|
|
/**
|
* 建议出库仓库
|
*/
|
private String sourceWareHouseId;
|
|
public static boolean hasLineNumber(List<OrderItem> list, OrderItem orderItem) {
|
for (OrderItem item : list) {
|
if (item.getLineId().equals(orderItem.getLineId()) && item.getMatNr().equals(orderItem.getMatNr()) && Cools.eq(item.getModel(),orderItem.getModel()) &&
|
Cools.eq(item.getBatch(),orderItem.getBatch()) && Cools.eq(item.getPalletId(),orderItem.getPalletId()) && Cools.eq(item.getPlanNo(),orderItem.getPlanNo()) &&
|
Cools.eq(item.getSourceWareHouseId(),orderItem.getSourceWareHouseId()) && Cools.eq(item.getSpec(),orderItem.getSpec()) && Cools.eq(item.getUnit(),orderItem.getUnit()) &&
|
Cools.eq(item.getTargetWareHouseId(),orderItem.getTargetWareHouseId())){
|
return true;
|
}
|
}
|
return false;
|
}
|
|
public static OrderItem findLineNumber(List<OrderItem> list, String lineId, String matNr, String makTx, Double anfme, String spec, String model, String unit, String batch, String palletId, String planNo, String targetWarehouseId, String sourceWarehouseId) {
|
for (OrderItem orderItem : list) {
|
if (orderItem.getLineId().equals(lineId) && orderItem.getMatNr().equals(matNr) && Cools.eq(orderItem.getModel(),model) &&
|
Cools.eq(orderItem.getBatch(),batch) && Cools.eq(orderItem.getPalletId(),palletId) && Cools.eq(orderItem.getPlanNo(),planNo) &&
|
Cools.eq(orderItem.getSourceWareHouseId(),sourceWarehouseId) && Cools.eq(orderItem.getSpec(),spec) && Cools.eq(orderItem.getUnit(),unit) &&
|
Cools.eq(orderItem.getTargetWareHouseId(),targetWarehouseId)){
|
return orderItem;
|
}
|
}
|
return null;
|
}
|
}
|
}
|