package com.casic.PgInterface.devTable.dto;

import com.casic.PgInterface.devTable.domain.PgIntelPlan;

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

public class PgIntelPlanDto {

    private Long id;
    private String parName;//分区名称
    private String lineName;//排线名称
    private int maxNum;//最大排线数
    private int existNum;//当前排线数
    private boolean canStore;//是否可以入库

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getParName() {
        return parName;
    }

    public void setParName(String parName) {
        this.parName = parName;
    }

    public String getLineName() {
        return lineName;
    }

    public void setLineName(String lineName) {
        this.lineName = lineName;
    }

    public int getMaxNum() {
        return maxNum;
    }

    public void setMaxNum(int maxNum) {
        this.maxNum = maxNum;
    }

    public int getExistNum() {
        return existNum;
    }

    public void setExistNum(int existNum) {
        this.existNum = existNum;
    }

    public boolean isCanStore() {
        return canStore;
    }

    public void setCanStore(boolean canStore) {
        this.canStore = canStore;
    }

    public static PgIntelPlanDto ConvertToDTO(PgIntelPlan pgIntelPlan){

        PgIntelPlanDto pgIntelPlanDto=new PgIntelPlanDto();

        pgIntelPlanDto.setId(pgIntelPlan.getId());
        pgIntelPlanDto.setParName(pgIntelPlan.getParName());
        pgIntelPlanDto.setLineName(pgIntelPlan.getLineName());
        pgIntelPlanDto.setMaxNum(pgIntelPlan.getMaxNum());
        pgIntelPlanDto.setExistNum(pgIntelPlan.getExistNum());

        if(pgIntelPlan.getExistNum()<pgIntelPlan.getMaxNum())
            pgIntelPlanDto.setCanStore(true);
        else
            pgIntelPlanDto.setCanStore(false);

        return pgIntelPlanDto;
    }

    public static List<PgIntelPlanDto> ConvertToDTOList(List<PgIntelPlan> pgIntelPlanList){
        List<PgIntelPlanDto> pgIntelPlanDtoList=new ArrayList<>();

        for(PgIntelPlan pgIntelPlan:pgIntelPlanList) {
            PgIntelPlanDto pgIntelPlanDto=new PgIntelPlanDto();
            pgIntelPlanDto=ConvertToDTO(pgIntelPlan);

            pgIntelPlanDtoList.add(pgIntelPlanDto);
        }

        return pgIntelPlanDtoList;
    }

}