Переглянути джерело

性能验证模块 开发 (二期) / 重构相关模块

liyuan 1 рік тому
батько
коміт
84a4f74d31
14 змінених файлів з 70 додано та 43 видалено
  1. 9 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/persistence/entity/ExperimentalPo.java
  2. 10 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/repository/impl/ExperimentalRepositoryImpl.java
  3. 10 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model/ConfigVO.java
  4. 10 0
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model/InspectionConfigVO.java
  5. 0 4
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/LinearRangeAverageSlope.java
  6. 0 4
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/LinearRangeEP6A.java
  7. 0 4
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/LinearRangeRecoveryMethod.java
  8. 10 1
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PVItemBuilder.java
  9. 19 1
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PVModel.java
  10. 0 16
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PrecisionEP15.java
  11. 0 4
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PrecisionRepeatability.java
  12. 0 4
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/TruenessBiasAssessment.java
  13. 0 4
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/TruenessEP15Patient.java
  14. 2 1
      ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/service/impl/PerformanceVerificationServiceImpl.java

+ 9 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/persistence/entity/ExperimentalPo.java

@@ -28,6 +28,7 @@ public class ExperimentalPo extends ExperimentalTbl{
 	}	
 	
 	private List<ReagentPo> reagentPoList = new ArrayList<ReagentPo>();
+	private ExperimentalConfigDetailPo configDetailPo;
 	public List<ReagentPo> getReagentPoList() {
 		return reagentPoList;
 	}
@@ -35,6 +36,14 @@ public class ExperimentalPo extends ExperimentalTbl{
 		this.reagentPoList = reagentPoList;
 	}
 
+	public ExperimentalConfigDetailPo getConfigDetailPo() {
+		return configDetailPo;
+	}
+
+	public void setConfigDetailPo(ExperimentalConfigDetailPo configDetailPo) {
+		this.configDetailPo = configDetailPo;
+	}
+
 	public static ExperimentalPo fromJsonString(String data){
 		if(JacksonUtil.isNotJsonObject(data)){
 			return null;

+ 10 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/repository/impl/ExperimentalRepositoryImpl.java

@@ -4,6 +4,9 @@ import java.util.List;
 
 import javax.annotation.Resource;
 
+import com.lc.ibps.components.pv.domain.ExperimentalConfigDetail;
+import com.lc.ibps.components.pv.persistence.entity.ExperimentalConfigDetailPo;
+import com.lc.ibps.components.pv.repository.ExperimentalConfigDetailRepository;
 import org.springframework.stereotype.Repository;
 
 import com.lc.ibps.base.core.util.string.StringUtil;
@@ -35,6 +38,9 @@ public class ExperimentalRepositoryImpl extends AbstractRepository<String, Exper
 	@Resource
 	private  ReagentRepository reagentRepository;
 
+	@Resource
+	private ExperimentalConfigDetailRepository experimentalConfigDetailRepository;
+
 	public Experimental newInstance() {
 		ExperimentalPo po = new ExperimentalPo();
 		Experimental experimental = AppUtil.getBean(Experimental.class);
@@ -72,6 +78,10 @@ public class ExperimentalRepositoryImpl extends AbstractRepository<String, Exper
 				List<ReagentPo> reagentPoList = reagentRepository.findByMainId(experimentalPo.getId());
 				experimentalPo.setReagentPoList(reagentPoList);
 			}
+			if(BeanUtils.isNotEmpty(experimentalPo) && BeanUtils.isNotEmpty(experimentalPo.getFangFaId())){
+				ExperimentalConfigDetailPo detail = experimentalConfigDetailRepository.get(experimentalPo.getFangFaId());
+				experimentalPo.setConfigDetailPo(detail);
+			}
 		}
 		return experimentalPo;
 	}

+ 10 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model/ConfigVO.java

@@ -18,6 +18,8 @@ public class ConfigVO {
 
     private double claimValue;
     private int rejectionRate;
+
+    private boolean isSupportItems;
     public String[] getModel() {
         return model;
     }
@@ -129,4 +131,12 @@ public class ConfigVO {
     public void setRejectionRate(int rejectionRate) {
         this.rejectionRate = rejectionRate;
     }
+
+    public boolean isSupportItems() {
+        return isSupportItems;
+    }
+
+    public void setSupportItems(boolean supportItems) {
+        isSupportItems = supportItems;
+    }
 }

+ 10 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model/InspectionConfigVO.java

@@ -32,6 +32,8 @@ public class InspectionConfigVO extends ConfigVO {
 
     private String[] methodName = {"Y", "X"};
 
+    private String reportTemplate;
+
     public InspectionConfigVO() {
 
     }
@@ -181,4 +183,12 @@ public class InspectionConfigVO extends ConfigVO {
     public void setItemName(String itemName) {
         this.itemName = itemName;
     }
+
+    public String getReportTemplate() {
+        return reportTemplate;
+    }
+
+    public void setReportTemplate(String reportTemplate) {
+        this.reportTemplate = reportTemplate;
+    }
 }

+ 0 - 4
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/LinearRangeAverageSlope.java

@@ -106,10 +106,6 @@ public class LinearRangeAverageSlope extends PVModel {
         return null;
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[0];
-    }
 
     @Override
     public String[] tableNames() {

+ 0 - 4
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/LinearRangeEP6A.java

@@ -153,10 +153,6 @@ public class LinearRangeEP6A extends PVModel {
         return null;
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[]{"EP6-A线性评价"};
-    }
 
     @Override
     public String[] tableNames() {

+ 0 - 4
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/LinearRangeRecoveryMethod.java

@@ -32,10 +32,6 @@ public class LinearRangeRecoveryMethod extends LinearRangeAverageSlope {
         return null;
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[]{"线性稀释回收法"};
-    }
 
     @Override
     public String generateResult() {

+ 10 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PVItemBuilder.java

@@ -21,6 +21,7 @@ public class PVItemBuilder {
 
     private InspectionConfigVO config;
     private PVModel pvModel;
+    private double[][] dataArrays;
 
     private PVItemBuilder() {
 
@@ -84,7 +85,7 @@ public class PVItemBuilder {
             throw new IOException(JSONObject.toJSONString(errorMessage, SerializerFeature.DisableCircularReferenceDetect));
         }
 
-        final double[][] dataArrays = list.get(0).getConvertedData();
+        dataArrays = list.get(0).getConvertedData();
 
         buildPVModel(dataArrays);
 
@@ -114,4 +115,12 @@ public class PVItemBuilder {
         pvModel.calculate();
         return pvModel;
     }
+
+    public double[][] getDataArrays() {
+        return dataArrays;
+    }
+
+    public void setDataArrays(double[][] dataArrays) {
+        this.dataArrays = dataArrays;
+    }
 }

+ 19 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PVModel.java

@@ -14,6 +14,8 @@ import java.util.Map;
 
 public abstract class PVModel {
 
+    private boolean isSupportItems;
+    private String itemName;
     private int scale;
     private String units;
     protected double[][] data;
@@ -28,6 +30,8 @@ public abstract class PVModel {
         this.specimensNum = configVO.getSpecimensNum();
         this.repeatNum = configVO.getRepeatNum();
         this.specimensName = configVO.getSpecimensName();
+        this.itemName = configVO.getItemName();
+        this.isSupportItems = configVO.isSupportItems();
     }
 
     public double[][] getData() {
@@ -38,6 +42,14 @@ public abstract class PVModel {
         this.data = data;
     }
 
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+
     public int getSpecimensNum() {
         return specimensNum;
     }
@@ -137,7 +149,13 @@ public abstract class PVModel {
                 .toArray();
     }
 
-    public abstract String[] sheetNames();
+    public  String[] sheetNames(){
+        if(isSupportItems) {
+            String[] strings = itemName.split(",");
+            return strings;
+        }
+        return new String[]{itemName};
+    };
 
     public abstract String[] tableNames();
 

+ 0 - 16
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PrecisionEP15.java

@@ -76,10 +76,6 @@ public class PrecisionEP15 extends PVModel {
 
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[]{"精密度验证"};
-    }
 
     @Override
     public String[] tableNames() {
@@ -94,18 +90,6 @@ public class PrecisionEP15 extends PVModel {
     @Override
     TableDTO buildTable1DTO(int sheetIndex) {
         TableDTO table = new TableDTO();
-//        String[][] data = new String[8][2];
-//
-//        data[0] = new String[]{"总均值", format(item.getMean())};
-//        data[1] = new String[]{"批内方差 (V<sub>r</sub>)", format(item.getVr())};
-//        data[2] = new String[]{"批内标准差 (SD<sub>r</sub>)", format(item.getSdr())};
-//        data[3] = new String[]{"批内变异系数 (CV<sub>r</sub>)", format(item.getCvr())};
-//        data[4] = new String[]{"批间标准差 (SD<sub>b</sub>)", format(item.getSdb())};
-//        data[5] = new String[]{"批间方差 (V<sub>b</sub>)", format(item.getVb())};
-//        data[6] = new String[]{"实验室内标准差 (SD<sub>1</sub>)", format(item.getSdl())};
-//        data[7] = new String[]{"实验室变异系数 (CV)", format(item.getCvl())};
-//        table.buildData(data);
-//        reports.put(item.name, table);
 
         String[] header = {"样本名", "总均值", "批内标准差S<sub>r</sub>", "批内CV<sub>r</sub>", "验证值<sub>批内</sub>",
                 "批间方差 V<sub>b</sub>", "室内标准差S<sub>l</sub>", "室内CV<sub>l</sub>", "验证值<sub>室内</sub>"};

+ 0 - 4
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/PrecisionRepeatability.java

@@ -96,10 +96,6 @@ public class PrecisionRepeatability extends PVModel {
         return EchartsFreemarkerUtils.generate("/report/precisionRepeatability.ftl", this);
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[]{"重复性验证"};
-    }
 
     @Override
     public String[] tableNames() {

+ 0 - 4
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/TruenessBiasAssessment.java

@@ -67,10 +67,6 @@ public class TruenessBiasAssessment extends PVModel {
         return null;
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[0];
-    }
 
     @Override
     public String[] tableNames() {

+ 0 - 4
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/model2/TruenessEP15Patient.java

@@ -216,10 +216,6 @@ public class TruenessEP15Patient extends PVModel {
         return EchartsFreemarkerUtils.generate("/report/truesnessUsingPatient.ftl", this);
     }
 
-    @Override
-    public String[] sheetNames() {
-        return new String[]{"EP15-A方法学比对"};
-    }
 
     @Override
     public String[] tableNames() {

+ 2 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/verification/service/impl/PerformanceVerificationServiceImpl.java

@@ -37,7 +37,7 @@ public class PerformanceVerificationServiceImpl implements PerformanceVerificati
         Experimental experimental = experimentalRepository.load(id);
 
         ReportDataDTO dataDTO = ReportFactory.build(builder);
-        experimental.getData().setShiYanShuJu(JSONObject.toJSONString(builder.getPvModel().getData(), SerializerFeature.DisableCircularReferenceDetect));
+        experimental.getData().setShiYanShuJu(JSONObject.toJSONString(builder.getDataArrays(), SerializerFeature.DisableCircularReferenceDetect));
         experimental.getData().setJiSuanJieGuo(JSONObject.toJSONString(dataDTO, SerializerFeature.DisableCircularReferenceDetect));
         experimental.getData().setShiYanJieLun(builder.getPvModel().generateResult());
         experimental.save();
@@ -99,6 +99,7 @@ public class PerformanceVerificationServiceImpl implements PerformanceVerificati
         config.setUnits(experimentalPo.getJieGuoDanWei());
         config.setKey(experimentalPo.getFangFaKey());
         config.setItemName(experimentalPo.getShiYanXiangMu());
+        config.setReportTemplate(experimentalPo.getConfigDetailPo().getTemplate());
         if (ArrayUtils.isEmpty(config.getSpecimensName())) {
             String[] names = new String[config.getSpecimensNum()];
             for (int i = 0; i < config.getSpecimensNum(); i++) {