WarehouseActionInfo.java 2.34 KB
package com.huaheng.api.wmsinfo.domain;

import com.huaheng.common.constant.Constants;
import com.huaheng.common.utils.DateUtils;
import com.huaheng.pc.task.taskDetail.domain.TaskDetail;

import java.util.ArrayList;
import java.util.List;

public class WarehouseActionInfo {
    public List<Action> RuKuList = new ArrayList<>();
    public List<Action> ChuKuList = new ArrayList<>();
    public List<Action> YiKuList = new ArrayList<>();

    public class Action {
        public String CreateTime;
        public int Number;
        public String MaterialName;
        public String FromBinId;
        public String ToBinId;

        public Action(String createTime, int number, String materialName, String fromBinId, String toBinId) {
            CreateTime = createTime;
            Number = number;
            MaterialName = materialName;
            FromBinId = fromBinId;
            ToBinId = toBinId;
        }
    }

    public void addRuKu(String createTime, int number, String materialName, String toBinId) {
        RuKuList.add(new Action(createTime, number, materialName, null, toBinId));
    }

    public void addChuKu(String createTime, int number, String materialName, String toBinId) {
        ChuKuList.add(new Action(createTime, number, materialName, null, toBinId));
    }

    public void addYiKu(String createTime, int number, String materialName, String fromBinId, String toBinId) {
        YiKuList.add(new Action(createTime, number, materialName, fromBinId, toBinId));
    }

    public void add(TaskDetail detail){
        int type = detail.getTaskType();
        String fromLocation = Constants.getCscLocationCode(detail.getFromLocation(), detail.getContainerCode());
        String toLocation = Constants.getCscLocationCode(detail.getToLocation(), detail.getContainerCode());
        if(type == 100 || type == 200){
            addRuKu(DateUtils.getDate(detail.getCreated()), detail.getQty().intValue(),
                    detail.getMaterialName(), toLocation);
        }else if(type==300 || type == 400){
            addChuKu(DateUtils.getDate(detail.getCreated()), detail.getQty().intValue(),
                    detail.getMaterialName(), fromLocation);
        } else if(type == 800){
            addYiKu(DateUtils.getDate(detail.getCreated()), detail.getQty().intValue(),
                    detail.getMaterialName(), fromLocation, toLocation);
        }
    }
}