if ($laser_layer{$step}{$tmp}{end_num} == $laser_layer{$step}{$next_layer}{start_num}){
$GEN->selRefFeat(
layers=>$next_layer,
use=>'filter',
# mode=>'touch',
mode=>'cover',
f_types=>'pad',
polarity=>'positive',
filter=>{feat_types=>'pad',
polarity=>'positive',
},
);
if ($GEN->getSelectCount()>0){
$sel_count++;
$GEN->selReverse();
$GEN->selDelete() if($GEN->getSelectCount()>0);
}else{
last;
}
}else{
last;
}
$j++;
}
$GEN->deleteLayer(job=>$Job,step=>$step,layer=>$step.'_drl'.$sta.'_'.$end."_stack_laser") if ($GEN->isLayerExists(job=>$Job,layer=>$step.'_drl'.$sta.'_'.$end."_stack_laser"));
$surface{'gold_fr'}=exposedArea($Job,$Step,$thick,$layerinfo->{Front},'qec_goldfr',$layerinfo->{Back},'ats_empty',$layerinfo->{Drill}) if ($layerinfo->{Goldfr} and $layerinfo->{Reffr});
$surface{'gold_ba'}=exposedArea($Job,$Step,$thick,$layerinfo->{Front},'ats_empty',$layerinfo->{Back},'qec_goldba',$layerinfo->{Drill}) if ($layerinfo->{Goldba} and $layerinfo->{Refba});
if(($layerinfo->{Goldfr} eq '' or $layerinfo->{Goldfr} == 0) and $layerinfo->{Reffr} =~ /gold/i and !$layerinfo->{Goldfr}){
$surface{'gold_fr'}=$surface{'cp_fr'};
}
if(($layerinfo->{Goldba} eq '' or $layerinfo->{Goldba} == 0) and $layerinfo->{Refba} =~ /gold/i and !$layerinfo->{Goldba}){
push@guard_warning,"Exposed Pad Size all Area :${f_all}mm2 ,Single Area:${f}mm2;Ratio:[$ratio%].Pad Point :X:$Center->{1}{x}mm,Y:$Center->{1}{y}mm<br>";
subject=>"[$JOB]There is FV2 stack up which is forbidden in SHA plant",
body=>join("<br>",@fv2_mail),
sand_mode=>'always',
) if ($confirm eq "yes");
}
#
#@fv2_error='';
my $check_eq=$DB->get_job_engchk(-jobid=>$JOB_ID,-engchkitemid=>2180);
#$GUI->debug("@fv2_error");
#$GUI->debug(dump \$check_eq);
my $ENUM_ENGCHK_STATUS = $APP->{DB}->get_enum_hash(-category=>'enum_engchk_status');
my $eq_version = $DB->get_job_engchk_version(-jobid=>$JOB_ID);
my ($exist_eq,$check_by_pe);
my $mark_cam;
my $item_max_version = $check_eq->{version};
foreach my $f (@{$check_eq->{problems}}){
if ($f->{selected}==1 and $item_max_version == $f->{version}){
#Replied
#Check_Finish
if ($ENUM_ENGCHK_STATUS->{$f->{enum_engchk_status}}{flow_order} >= $ENUM_ENGCHK_STATUS->{'Replied'}{flow_order}){
$check_by_pe ='yes';
}
if ($ENUM_ENGCHK_STATUS->{$f->{enum_engchk_status}}{flow_order} >= $ENUM_ENGCHK_STATUS->{'Check_Finish'}{flow_order} and ($f->{enum_engchk_problem_type} =~/ok/i or $f->{enum_engchk_problem_type} =~/na/i)){
$check_by_pe ='yes';
}
$exist_eq ='yes';
}
}
my $now = $APP->{DB}->get_now();
my $log = dump({who=>$APP->{USER_NAME},type=>'info',action=>'Systemupdate',date_time=>$now,remark=>'CreateEQ'}).',';
if ($ENUM_ENGCHK_STATUS->{$f->{enum_engchk_status}}{display_name}) {
if ($GUI->confirm("EQ:[$check_eq->{display_name}]\n条目:$f->{display_name}\n并且为[$f->{enum_engchk_problem_type}]项目\n此EQ已经Follow PE EQ状态:[$ENUM_ENGCHK_STATUS->{$f->{enum_engchk_status}}{display_name}]\n是否升级更新?") eq 'yes'){
// my $customer_code = $IKM->select_value(-sql =>"select c.name from job as j left join public_customer as c on j.customer_id = c.id where j.id = $JOB_ID");