package com.sw.mes.yb.report.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
* @Author
* @Description：
* @Date: Create in
* @Modified By:
*/
@Data
@ApiModel(value = "工序次数统计Dto")
public class NumberOfOperationsDto implements Comparable<NumberOfOperationsDto>{

     @ApiModelProperty(value = "片区" )
     String series;
     @ApiModelProperty(value = "运行炉台数" )
     Integer operatingCount;
     @ApiModelProperty(value = "进入引晶" )
     Integer crystalCount;
     @ApiModelProperty(value = "进入放肩" )
     Integer shoulderCount;
     @ApiModelProperty(value = "熔断" )
     Integer fusingCount;
     @ApiModelProperty(value = "引断" )
     Integer breakCount;
     @ApiModelProperty(value = "放断" )
     Integer letOffCount;
     @ApiModelProperty(value = "回熔" )
     Integer mektBackCount;
     @ApiModelProperty(value = "断提<500" )
     Integer breakLessThan500;
     @ApiModelProperty(value = "断提500~1000" )
     Integer breakLess;
     @ApiModelProperty(value = "断提>1000" )
     Integer breakGreaterThan1000;
     @ApiModelProperty(value = "吊多晶" )
     Integer suspendedPolyCrystalCount;
     @ApiModelProperty(value = "断线汇总" )
     Integer lineBreakSummary;
     @ApiModelProperty(value = "引断率" )
     BigDecimal breakRate;
     @ApiModelProperty(value = "回熔率" )
     BigDecimal mektBackRate;
     @ApiModelProperty(value = "停炉数" )
     Integer shutdownCount;
     @ApiModelProperty(value = "手动" )
     Integer manualCount;
     @ApiModelProperty(value = "熔料" )
     Integer meltCount;
     @ApiModelProperty(value = "复投" )
     Integer rerunCount;
     @ApiModelProperty(value = "熔接" )
     Integer weldCount;
     @ApiModelProperty(value = "引晶" )
     Integer leadProcessCount;
     @ApiModelProperty(value = "放肩" )
     Integer shoulderStepCount;
     @ApiModelProperty(value = "等径" )
     Integer equleStepCount;
     @ApiModelProperty(value = "取段收尾" )
     Integer finshStepCount;
     @ApiModelProperty(value = "引放成活率" )
     String shoulderRate;

     @Override
     public int compareTo(NumberOfOperationsDto other) {
          // 根据系列进行排序
          if (this.series.length() < other.series.length()) {
               return -1;
          } else if (this.series.length() > other.series.length()) {
               return 1;
          } else {
               // 长度相等
               return 0;
          }
     }
//     @ApiModelProperty(value = "断线标准" )
//     Integer lineBreakStandard;
//     @ApiModelProperty(value = "标准" )
//     Integer standard;
}