自动化立体仓库 - WMS系统
zwl
2025-10-22 a9f7a73efb4fc132ad2c9a353d300b708430e961
src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -6,20 +6,19 @@
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.DocTypeService;
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;
import java.util.Objects;
@Data
@TableName("man_order_detl")
@@ -58,11 +57,27 @@
    /**
     * 作业数量
     *
     *  1. 入库 : qty 👆
     *  1. 出库 : qty 👆
     *  入库 : 组托完成,组托档、工作档、入库完成数量
     *  出库 : 工作档、出库完成数量
     */
    @ApiModelProperty(value= "作业数量")
    @TableField("work_qty")
    private Double workQty;
    /**
     * 完成数量
     *
     *  入库 : qty 👆
     *  出库 : qty 👆
     */
    @ApiModelProperty(value= "完成数量")
    private Double qty;
    /**
     * 上报数量
     */
    @ApiModelProperty(value= "上报数量")
    private Double units=0.0;
    /**
     * 商品编码
@@ -124,11 +139,6 @@
    @ApiModelProperty(value= "sku")
    private String sku;
    /**
     * 单位量
     */
    @ApiModelProperty(value= "单位量")
    private Double units;
    /**
     * 条码
@@ -208,9 +218,9 @@
    private String suppCode;
    /**
     * 是否批次 1: 是  0: 否
     * 红蓝字
     */
    @ApiModelProperty(value= "是否批次 1: 是  0: 否  ")
    @ApiModelProperty(value= "红蓝字")
    @TableField("be_batch")
    private Integer beBatch;
@@ -235,10 +245,10 @@
    private Integer source;
    /**
     * 要求检验 1: 是  0: 否
     * 上报次数
     */
    @ApiModelProperty(value= "要求检验 1: 是  0: 否  ")
    private Integer check;
    @ApiModelProperty(value= "上报次数")
    private Integer inspect;
    /**
     * 危险品 1: 是  0: 否
@@ -290,7 +300,7 @@
    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 check, Integer danger, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
    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) {
        this.orderId = orderId;
        this.orderNo = orderNo;
        this.anfme = anfme;
@@ -322,7 +332,7 @@
        this.deadTime = deadTime;
        this.deadWarn = deadWarn;
        this.source = source;
        this.check = check;
        this.inspect = inspect;
        this.danger = danger;
        this.status = status;
        this.createBy = createBy;
@@ -337,6 +347,30 @@
        Order order = service.selectById(this.orderId);
        if (!Cools.isEmpty(order)){
            return String.valueOf(order.getId());
        }
        return null;
    }
    public String getAnfme$(){
        if(Objects.equals(this.qty, this.anfme)){
            return "已完成";
        }else if(this.workQty==0){
            return "待处理";
        }else if(this.anfme>this.qty){
            return "作业中";
        }else if(this.anfme<this.qty){
            return "异常";
        }
        return "";
    }
    public String getDanger$(){
        DocTypeService service = SpringUtils.getBean(DocTypeService.class);
        OrderService orderServicer=SpringUtils.getBean(OrderService.class);
        Order order = orderServicer.selectByNo(this.orderNo);
        DocType docType = service.selectById(order.getDocType());
        if (!Cools.isEmpty(docType)){
            return String.valueOf(docType.getDocName());
        }
        return null;
    }
@@ -367,27 +401,15 @@
        }
    }
    public String getCheck$(){
        if (null == this.check){ return null; }
        switch (this.check){
    public String getInspect$(){
        if (null == this.inspect){ return null; }
        switch (this.inspect){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.check);
        }
    }
    public String getDanger$(){
        if (null == this.danger){ return null; }
        switch (this.danger){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.danger);
                return String.valueOf(this.inspect);
        }
    }
@@ -436,30 +458,17 @@
    }
    public Double getEnableQty() {
        if (null != this.anfme && this.qty != null) {
            return this.anfme - this.qty;
        if (null != this.anfme && this.workQty != null) {
            return this.anfme - this.workQty;
        }
//        if (null != this.anfme && this.qty != null) {
//            return this.anfme - this.qty;
//        }
        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);
    }
}
}