AppendInfo.java 7.1 KB
package com.myproject.bean.qisda;

import com.myproject.util.StorageConstants;

import java.util.HashMap;
import java.util.Map;

/**
 * 附加信息,用于条码和出入库日志
 * Created by sunke on 2019/12/15.
 */
public class AppendInfo {

    /**
     * 出库时的ItemId
     */
    private String outItemId;

    /**
     * DN单号
     */
    private String dnNo;
    /**
     * facility
     */
    private String facility;

    /**
     * 公司
     */
    private String company;

    /**
     * 动作,用于判断是首盘分盘还是其他操作
     */
    private String action;

    /**
     * 需求单号
     */
    private String hSerial;

    /**
     * 工单
     */
    private String so;

    /**
     * 工单序号
     */
    private String soseq;

    /**
     * 备料单号
     */
    private String refno;

    /**
     * 预绑定slot值
     */
    private String preBindSlot;

    /**
     * 站位信息(预绑定时,不放入slot信息,只有当实际绑定准备出库时再放入slot值)
     */
    private String bindSlot;

    private String slotStr;

    /**
     * 站位编号
     */
    private int slotIndex;

    /**
     * 料架顺序
     */
    private int rfidIndex;

    /**
     * 实际使用的RFID编号
     */
    private String rfid;

    /**
     * 放入的RFID位置,如果为-1,需要即时分配位置
     */
    private int rfidLoc = -1;

    /**
     * 分盘信息,key为so@slot,value为qty=L(子盘)或qty=M(母盘)
     */
    private Map<String, String> cutMap;

    /**
     * 是否是纯入库
     */
    private boolean cisIn = false;

    /**
     * 所需料架类型,入库时即可确定使用哪种料架 SHEFL_TYPE = A/B/C/D/E
     */
    private String shelfType = "";

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getDnNo() {
        if(dnNo == null){
            return "";
        }
        return dnNo;
    }

    public void setDnNo(String dnNo) {
        this.dnNo = dnNo;
    }

    public String getFacility() {
        return facility;
    }

    public void setFacility(String facility) {
        this.facility = facility;
    }

    public String gethSerial() {
        if(hSerial == null){
            hSerial = "";
        }
        return hSerial;
    }

    public void sethSerial(String hSerial) {
        this.hSerial = hSerial;
    }

    public String getRefno() {
        return refno;
    }

    public void setRefno(String refno) {
        this.refno = refno;
    }

    public String getRfid() {
        if(rfid == null){
            rfid = "";
        }
        return rfid;
    }

    public void setRfid(String rfid) {
        this.rfid = rfid;
    }

    public int getRfidLoc() {
        return rfidLoc;
    }

    public void setRfidLoc(int rfidLoc) {
        this.rfidLoc = rfidLoc;
    }

    public String getShelfType() {
        return shelfType;
    }

    public void setShelfType(String shelfType) {
        this.shelfType = shelfType;
    }

    public String getBindSlot() {
        if(bindSlot == null || bindSlot.isEmpty()){
            return "0";
        }
        return bindSlot;
    }

    public void setBindSlot(String bindSlot) {
        this.bindSlot = bindSlot;
    }

    public String getSlotStr() {
        return slotStr;
    }

    public void setSlotStr(String slotStr) {
        this.slotStr = slotStr;
    }

    public int getSlotIndex() {
        return slotIndex;
    }

    public void setSlotIndex(int slotIndex) {
        this.slotIndex = slotIndex;
    }

    public String getSo() {
        return so;
    }

    public void setSo(String so) {
        this.so = so;
    }

    /**
     * 是否可放入A料架 A 带包装料料架 可放9个包装料
     */
    public boolean isAShelfTask(){
        return StorageConstants.SHEFL_TYPE.A.equals(shelfType);
    }

    /**
     * 是否可放入B 料串 分盘料,紧急料,指定料,单独出库, 可放20-30个大小料,由客户端决定是否放满
     */
    public boolean isBShelfTask(){
        return StorageConstants.SHEFL_TYPE.B.equals(shelfType);
    }
    /**
     * 是否可放入C 大(11,13,15寸)料盘料架, 可放12个大料,共2列,每列6个
     */
    public boolean isCShelfTask(){
        return StorageConstants.SHEFL_TYPE.C.equals(shelfType);
    }
    /**
     * 是否可放入D 小(7寸)料盘料架,可放92个小料,共4列,每列23个
     */
    public boolean isDShelfTask(){
        return StorageConstants.SHEFL_TYPE.D.equals(shelfType);
    }

    public Map<String, String> getCutMap() {
        return cutMap;
    }

    public void setCutMap(Map<String, String> cutMap) {
        this.cutMap = cutMap;
    }

    public String getPreBindSlot() {
        return preBindSlot;
    }

    public void setPreBindSlot(String preBindSlot) {
        this.preBindSlot = preBindSlot;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public int getRfidIndex() {
        return rfidIndex;
    }

    public void setRfidIndex(int rfidIndex) {
        this.rfidIndex = rfidIndex;
    }

    /**
     * 首盘需求单
     */
    public boolean isFirstReelAction(){
        if(action == null){
            return false;
        }
        return action.equals("首盘");
    }
    /**
     * 分盘需求单
     */
    public boolean isReelCutAction(){
        if(action == null){
            return false;
        }
        return action.equals("分盘");
    }

    /**
     * 补料需求单
     */
    public boolean isTailAction(){
        if(action == null){
            return false;
        }
        return action.equals("补料");
    }

    public String getDnOrFacility(){
        if(isFacilityIn()){
            return facility;
        }
        return dnNo;
    }

    public boolean isFacilityIn(){
        return dnNo.startsWith(facility);
    }

    public boolean isCISIn(){
        return cisIn || dnNo == null || dnNo.isEmpty();
    }

    public String getSoseq() {
        return soseq;
    }

    public void setSoseq(String soseq) {
        this.soseq = soseq;
    }

    public String getOutItemId() {
        return outItemId;
    }

    public void setOutItemId(String outItemId) {
        this.outItemId = outItemId;
    }

    public boolean isCisIn() {
        return cisIn;
    }

    public void setCisIn(boolean cisIn) {
        this.cisIn = cisIn;
    }

    @Override
    public String toString() {
        return "AppendInfo{" +
                "company='" + company + '\'' +
                ", dnNo='" + dnNo + '\'' +
                ", facility='" + facility + '\'' +
                ", hSerial='" + hSerial + '\'' +
                ", so='" + so + '\'' +
                ", refno='" + refno + '\'' +
                ", bindSlot='" + bindSlot + '\'' +
                ", slotIndex=" + slotIndex +
                ", rfidIndex='" + rfidIndex + '\'' +
                ", rfid='" + rfid + '\'' +
                ", rfidLoc=" + rfidLoc +
                ", cutMap=" + cutMap +
                ", shelfType='" + shelfType + '\'' +
                '}';
    }


}