自动化立体仓库 - WMS系统
bfwms
2025-07-07 2fc66774335bfc603aa36b1ca41e5f1be19442b0
src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -6,17 +6,17 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.LocOwnerService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -89,28 +89,59 @@
    private String specs;
    /**
     * 型号
     * 组织编码
     */
    @ApiModelProperty(value= "型号")
    @ApiModelProperty(value= "组织编码")
    private String manu;
    /**
     * 项次
     */
    @ApiModelProperty(value= "项次")
    private String model;
    /**
     * 颜色
     * 任务仓库
     */
    @ApiModelProperty(value= "颜色")
    @ApiModelProperty(value= "任务仓库")
    private String color;
    /**
     * 品牌
     * 任务储位
     */
    @ApiModelProperty(value= "品牌")
    @ApiModelProperty(value= "任务储位")
    private String brand;
    /**
     * 单位
     * 单位编码
     */
    @ApiModelProperty(value= "单位")
    @ApiModelProperty(value= "单位编码")
    private String unit;
    /**
     * 单位名称
     */
    @ApiModelProperty(value= "单位名称")
    private String sku;
    /**
     * 供应商编码
     */
    @ApiModelProperty(value= "供应商编码")
    @TableField("item_num")
    private String itemNum;
    /**
     * 托盘码
     */
    @ApiModelProperty(value= "托盘码")
    private String barcode;
    /**
     * 供应商名称
     */
    @ApiModelProperty(value= "供应商名称")
    private String origin;
    /**
     * 单价
@@ -119,34 +150,11 @@
    private Double price;
    /**
     * sku
     */
    @ApiModelProperty(value= "sku")
    private String sku;
    /**
     * 单位量
     */
    @ApiModelProperty(value= "单位量")
    private Double units;
    /**
     * 条码
     */
    @ApiModelProperty(value= "条码")
    private String barcode;
    /**
     * 产地
     */
    @ApiModelProperty(value= "产地")
    private String origin;
    /**
     * 厂家
     */
    @ApiModelProperty(value= "厂家")
    private String manu;
    /**
     * 生产日期
@@ -154,13 +162,6 @@
    @ApiModelProperty(value= "生产日期")
    @TableField("manu_date")
    private String manuDate;
    /**
     * 品项数
     */
    @ApiModelProperty(value= "品项数")
    @TableField("item_num")
    private String itemNum;
    /**
     * 安全库存量
@@ -288,6 +289,15 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    /**
     * 库存汇总数量
     */
    @TableField(exist=false)
    private Double sum;
    @ApiModelProperty(value= "客户信息ID")
    private Long owner;
    public OrderDetl() {}
    public OrderDetl(Long orderId, String orderNo, Double anfme, Double qty, String matnr, String maktx, String batch, String specs, String model, String color, String brand, String unit, Double price, String sku, Double units, String barcode, String origin, String manu, String manuDate, String itemNum, Double safeQty, Double weight, Double length, Double volume, String threeCode, String supp, String suppCode, Integer beBatch, String deadTime, Integer deadWarn, Integer source, Integer inspect, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
@@ -331,6 +341,16 @@
        this.updateTime = updateTime;
        this.memo = memo;
    }
    public String getOwner$(){
        LocOwnerService service = SpringUtils.getBean(LocOwnerService.class);
        LocOwner locOwner = service.selectById(this.owner);
        if (!Cools.isEmpty(locOwner)){
            return String.valueOf(locOwner.getOwner());
        }
        return null;
    }
    public String getOrderId$(){
        OrderService service = SpringUtils.getBean(OrderService.class);
@@ -442,24 +462,16 @@
        return null;
    }
    public void sync(Object dest) {
        try {
            BeanInfo sourceBean = Introspector.getBeanInfo(this.getClass(),Object.class);
            PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors();
            BeanInfo destBean = Introspector.getBeanInfo(dest.getClass(),Object.class);
            PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors();
            for (PropertyDescriptor propertyDescriptor : sourceProperty) {
                for (PropertyDescriptor descriptor : destProperty) {
                    if (propertyDescriptor.getName().equals(descriptor.getName()) && propertyDescriptor.getPropertyType() == descriptor.getPropertyType()) {
                        descriptor.getWriteMethod().invoke(dest, propertyDescriptor.getReadMethod().invoke(this));
                        break;
                    }
                }
            }
        } catch (Exception e) {
            throw new CoolException("属性复制失败:" + e.getMessage());
        }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
    public Double getSum(){
        LocDetlService service = SpringUtils.getBean(LocDetlService.class);
        if (!Cools.isEmpty(this.getMatnr())) {
            return service.selectSumByMatnr(this.getMatnr());
        } else {
            return null;
        }
    }
}