package com.iflytop.a800.model; import com.iflytop.a800.device.Device; import com.iflytop.uf.UfActiveRecord; import com.iflytop.uf.UfActiveRecordField; import com.iflytop.uf.util.UfJsonHelper; import java.util.ArrayList; import java.util.List; public class MdbTubeRackTestTaskTube extends UfActiveRecord { @UfActiveRecordField public String rackId; @UfActiveRecordField public String attenuation; @UfActiveRecordField public String barCode; @UfActiveRecordField public Integer index; @UfActiveRecordField public String projectDetectType; @UfActiveRecordField public String projectIds; @UfActiveRecordField public String sampleType; @UfActiveRecordField public String sampleTypeDetectType; @UfActiveRecordField public String sampleUid; @UfActiveRecordField public String status; // get table name public static String getTableName() { return "app_tube_rack_test_task_tubes"; } // get project id list public List getProjectIdList() { var list = new ArrayList(); var ids = UfJsonHelper.jsonToNode(this.projectIds); for ( var id : ids ) { list.add(id.asText()); } return list; } // 获取项目列表 public List getProjects() { var cardMan = Device.getInstance().testCard; var list = new ArrayList(); for ( var projectId : this.getProjectIdList() ) { var project = cardMan.getProjectById(projectId); if ( project == null ) { project = UfActiveRecord.findOne(MdbProject.class, projectId); } list.add(project); } return list; } }