This commit is contained in:
ls
2025-06-23 11:40:07 +08:00
parent c624cc6146
commit 8e6c7f7059
52 changed files with 674 additions and 281 deletions

View File

@@ -71,16 +71,16 @@ public class ExperimentReviewController extends JeecgController<ExperimentReview
/** /**
* 添加 * 添加
* *
* @param experimentReviewResult * @param experimentReview
* @return * @return
*/ */
@AutoLog(value = "试验评定结果-添加") @AutoLog(value = "试验评定结果-添加")
@Operation(summary = "试验评定结果-添加") @Operation(summary = "试验评定结果-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<ExperimentReview> add(@RequestBody ExperimentReview experimentReviewResult) { public Result<ExperimentReview> add(@RequestBody ExperimentReview experimentReview) {
Experiment experiment = experimentService.getById(experimentReviewResult.getExperimentId()); Experiment experiment = experimentService.getById(experimentReview.getExperimentId());
ExperimentSampleInfo sampleInfo = experimentSampleInfoService.getById(experimentReviewResult.getSampleId()); ExperimentSampleInfo sampleInfo = experimentSampleInfoService.getById(experimentReview.getSampleId());
ExperimentReview review = experimentReviewService.review(experiment, sampleInfo, ExperimentReviewProcessType.GJB548C); ExperimentReview review = experimentReviewService.review(experiment, sampleInfo, experimentReview);
return Result.OK(review); return Result.OK(review);
} }

View File

@@ -4,8 +4,7 @@
*/ */
package org.jeecg.modules.database.service; package org.jeecg.modules.database.service;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
/** /**
* @author lise * @author lise
@@ -17,5 +16,5 @@ public interface IExperimentReviewRuleExecutor {
int getPriority(); int getPriority();
String execute(Experiment experiment, ExperimentSampleInfo sampleInfo); String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview);
} }

View File

@@ -14,7 +14,7 @@ import java.util.List;
*/ */
public interface IExperimentReviewService extends IService<ExperimentReview> { public interface IExperimentReviewService extends IService<ExperimentReview> {
ExperimentReview review(Experiment experiment, ExperimentSampleInfo sampleInfo, String processType); ExperimentReview review(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview);
ExperimentReview getBySampleId(String experimentId, String sampleId); ExperimentReview getBySampleId(String experimentId, String sampleId);

View File

@@ -0,0 +1,18 @@
package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class BaseExecutor {
@Autowired
protected IExperimentService experimentService;
@Autowired
protected IExperimentRadiationProcessService experimentRadiationProcessService;
@Autowired
protected IExperimentAnnealProcessService experimentAnnealProcessService;
@Autowired
protected IExperimentTestProcessService experimentTestProcessService;
}

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC225001Executor implements IExperimentReviewRuleExecutor { public class ESCC225001Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC22500; return ExperimentReviewProcessType.ESCC22500;
@@ -27,7 +27,7 @@ public class ESCC225001Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC225002Executor implements IExperimentReviewRuleExecutor { public class ESCC225002Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC22500; return ExperimentReviewProcessType.ESCC22500;
@@ -27,7 +27,7 @@ public class ESCC225002Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC225003Executor implements IExperimentReviewRuleExecutor { public class ESCC225003Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC22500; return ExperimentReviewProcessType.ESCC22500;
@@ -27,7 +27,7 @@ public class ESCC225003Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC225004Executor implements IExperimentReviewRuleExecutor { public class ESCC225004Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC22500; return ExperimentReviewProcessType.ESCC22500;
@@ -27,7 +27,7 @@ public class ESCC225004Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290001Executor implements IExperimentReviewRuleExecutor { public class ESCC2290001Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290001Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290002Executor implements IExperimentReviewRuleExecutor { public class ESCC2290002Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290002Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290003Executor implements IExperimentReviewRuleExecutor { public class ESCC2290003Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290003Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290004Executor implements IExperimentReviewRuleExecutor { public class ESCC2290004Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290004Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290005Executor implements IExperimentReviewRuleExecutor { public class ESCC2290005Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290005Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290006Executor implements IExperimentReviewRuleExecutor { public class ESCC2290006Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290006Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290007Executor implements IExperimentReviewRuleExecutor { public class ESCC2290007Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290007Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290008Executor implements IExperimentReviewRuleExecutor { public class ESCC2290008Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290008Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class ESCC2290009Executor implements IExperimentReviewRuleExecutor { public class ESCC2290009Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.ESCC229000; return ExperimentReviewProcessType.ESCC229000;
@@ -27,7 +27,7 @@ public class ESCC2290009Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -2,8 +2,7 @@ package org.jeecg.modules.database.service.executor;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import org.jeecg.modules.database.constant.ExperimentReviewResultEnum; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -21,13 +20,13 @@ public class ExecutorHolder {
executorList.forEach(executor -> executorMap.put(executor.getProcessType() + executor.getPriority(), executor)); executorList.forEach(executor -> executorMap.put(executor.getProcessType() + executor.getPriority(), executor));
} }
public String execute(String processType, Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(String processType, Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
IExperimentReviewRuleExecutor executor = executorMap.get(processType); IExperimentReviewRuleExecutor executor = executorMap.get(processType);
if (executor == null) { if (executor == null) {
return null; return null;
} }
try { try {
return executor.execute(experiment, sampleInfo); return executor.execute(experiment, sampleInfo,experimentReview);
} catch (Exception e) { } catch (Exception e) {
return ExperimentReviewResultEnum.UNKNOWN; return ExperimentReviewResultEnum.UNKNOWN;
} }

View File

@@ -4,18 +4,23 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C10Executor implements IExperimentReviewRuleExecutor { public class GJB548C10Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +31,44 @@ public class GJB548C10Executor implements IExperimentReviewRuleExecutor {
return 10; return 10;
} }
/**
* 10
*
* 器件未使用最劣偏置
*
* 可能高估器件的抗辐射性能
*
* 参见附件二知识库中84条目《辐射试验》的解释
*
* 采用应用偏置条件
*
* 试验数据中偏置条件选择动态偏置,启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
String deviationCondition = experimentAnnealProcess.getDeviationCondition();
JSONObject jsonObject = JSON.parseObject(deviationCondition);
if (jsonObject.containsKey("offsetCondition")) {
String offsetCondition = jsonObject.getString("offsetCondition");
if (StringUtils.contains(offsetCondition, "dtpz")) {
condition1 = true;
break;
}
}
}
if (condition1) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,9 +4,10 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +16,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class GJB548C11Executor implements IExperimentReviewRuleExecutor { public class GJB548C11Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +27,29 @@ public class GJB548C11Executor implements IExperimentReviewRuleExecutor {
return 11; return 11;
} }
/**
* 11
*
* 需要老炼而未老炼
*
* 可能高估器件的抗辐射性能
*
* 老炼后氧化层的氢分布会不一样,并且激活一部分缺陷,对器件的辐射损伤起到加速退化的作用
*
* 以前有表征试验证明或设计上证明老炼对总剂量辐射响应的影响可以忽略(电参数符合辐射后规范)
*
* 在评定流程中询问用户是否进行了老炼试验,用户选否,启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; if (StringUtils.equals(experimentReview.getNeedBurnin(), "N")) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,17 +5,19 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C12Executor implements IExperimentReviewRuleExecutor { public class GJB548C12Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +28,48 @@ public class GJB548C12Executor implements IExperimentReviewRuleExecutor {
return 12; return 12;
} }
/**
* 12
*
* 辐射室温环境温度不在标准范围内
*
* 温度高可能高估器件的抗辐射性能;温度低可能低估器件的抗辐射性能
*
* 参见附件二知识库中85条目《辐射试验的辐射试验-温度》的解释
*
* 可参考QJ10004A-2018分析辐射室温环境温度在QJ10004A-2018的适用性
*
* 辐照过程中的辐照环境温度在18-30℃范围外启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId());
for (ExperimentRadiationProcess experimentRadiationProcess : radiationProcessList) {
String environmentalTemperature = experimentRadiationProcess.getEnvironmentalTemperature();
Integer temp = Integer.valueOf(environmentalTemperature);
if (temp < 18) {
condition1 = true;
break;
}
if (temp > 30) {
condition2 = true;
break;
}
}
if (condition1) {
return ExperimentReviewResultEnum.LOW;
}
if (condition2) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,21 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C13Executor implements IExperimentReviewRuleExecutor { public class GJB548C13Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +29,41 @@ public class GJB548C13Executor implements IExperimentReviewRuleExecutor {
return 13; return 13;
} }
/**
* 13
*
* 未使用干冰保存
*
* 可能高估器件的抗辐射性能
*
* 氧化物陷阱电荷在干冰条件下退火减弱
*
* 未使用干冰保存的适用范围:如果应用环境比干冰环境温度低,采用应用环境温度进行保存
*
* 在退火过程的备注中,有“保存”字段但是没有“干冰”字段,启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
String comment = experimentAnnealProcess.getComment();
if (StringUtils.contains(comment, "保存") && !StringUtils.contains(comment, "干冰")) {
condition1 = true;
break;
}
}
if (condition1) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,21 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C14Executor implements IExperimentReviewRuleExecutor { public class GJB548C14Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +29,45 @@ public class GJB548C14Executor implements IExperimentReviewRuleExecutor {
return 14; return 14;
} }
/**
* 14
*
* 使用干冰保存器件,应通过针对性的退火表征试验
*
* 可能高估器件的抗辐射性能
*
* 氧化物陷阱电荷在干冰条件下退火减弱
*
* 没有给出过表征试验的结果的适用范围试验方案按照QJ10004A-2018的相关规定进行执行
*
* 在退火过程的备注中,有“干冰”字段,在评定流程中询问用户是否进行了针对性的退火表征试验,用户选否,启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
String comment = experimentAnnealProcess.getComment();
if (StringUtils.contains(comment, "干冰")) {
condition1 = true;
break;
}
}
if (StringUtils.contains(experimentReview.getNeedAnneal(), "N")) {
condition2 = true;
}
if (condition1 && condition2) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,23 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import cn.hutool.core.collection.CollUtil;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.dto.TestMeteringPointDTO;
import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C15Executor implements IExperimentReviewRuleExecutor { public class GJB548C15Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +31,52 @@ public class GJB548C15Executor implements IExperimentReviewRuleExecutor {
return 15; return 15;
} }
/**
* 15
*
* 试验过程未缺失,并且都符合试验标准的要求,参数测试结果未超差
*
* 评定结果通过
*
* 辐照过程中备注栏有“已过辐照”字段有100℃高温退火过程最后一次测试通过启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false, condition3 = false;
List<ExperimentRadiationProcess> experimentRadiationProcessList = experimentRadiationProcessService.getByExperimentId(
experiment.getId());
for (ExperimentRadiationProcess v : experimentRadiationProcessList) {
if (StringUtils.contains(v.getComment(), "已过辐照")) {
condition1 = true;
break;
}
}
List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
if (StringUtils.contains(experimentAnnealProcess.getAnnealTemperature(), "100")) {
condition2 = true;
}
}
List<ExperimentTestProcess> experimentTestProcessList = experimentTestProcessService.getByExperimentId(experiment.getId());
for (ExperimentTestProcess v : experimentTestProcessList) {
List<TestMeteringPointDTO> testMeteringPointList = v.getTestMeteringPointList();
TestMeteringPointDTO last = CollUtil.getLast(testMeteringPointList);
if (!StringUtils.equals(last.getResult(), "合格")) {
condition3 = true;
break;
}
}
if (condition1 && condition2 && condition3) {
return ExperimentReviewResultEnum.FINAL_PASS;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,23 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import cn.hutool.core.collection.CollUtil;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.dto.TestMeteringPointDTO;
import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C16Executor implements IExperimentReviewRuleExecutor { public class GJB548C16Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -27,7 +32,22 @@ public class GJB548C16Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false, condition3 = false;
List<ExperimentTestProcess> experimentTestProcessList = experimentTestProcessService.getByExperimentId(experiment.getId());
for (ExperimentTestProcess v : experimentTestProcessList) {
List<TestMeteringPointDTO> testMeteringPointList = v.getTestMeteringPointList();
TestMeteringPointDTO last = CollUtil.getLast(testMeteringPointList);
if (!StringUtils.equals(last.getResult(), "合格")) {
condition3 = true;
break;
}
}
if (!condition3) {
return ExperimentReviewResultEnum.NOT_PASS;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -12,8 +12,7 @@ import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.dto.RadiationDetailDTO; import org.jeecg.modules.database.dto.RadiationDetailDTO;
import org.jeecg.modules.database.dto.RadiationMapDTO; import org.jeecg.modules.database.dto.RadiationMapDTO;
import org.jeecg.modules.database.entity.*; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.*; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@@ -23,11 +22,7 @@ import java.util.List;
* @version GJB548C1Executor.java, v 0.1 2025年06月16日 20:57 lise * @version GJB548C1Executor.java, v 0.1 2025年06月16日 20:57 lise
*/ */
@Component @Component
public class GJB548C1Executor implements IExperimentReviewRuleExecutor { public class GJB548C1Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Autowired
private IExperimentService experimentService;
@Autowired
private IExperimentRadiationProcessService experimentRadiationProcessService;
@Override @Override
public String getProcessType() { public String getProcessType() {
@@ -54,10 +49,11 @@ public class GJB548C1Executor implements IExperimentReviewRuleExecutor {
* *
* @param experiment * @param experiment
* @param sampleInfo * @param sampleInfo
* @param experimentReview
* @return * @return
*/ */
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
experimentService.fetchExperimentDetail(experiment); experimentService.fetchExperimentDetail(experiment);
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId()); List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId());

View File

@@ -13,7 +13,6 @@ import org.jeecg.modules.database.dto.RadiationDetailDTO;
import org.jeecg.modules.database.dto.RadiationMapDTO; import org.jeecg.modules.database.dto.RadiationMapDTO;
import org.jeecg.modules.database.entity.*; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.*; import org.jeecg.modules.database.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@@ -24,11 +23,7 @@ import java.util.List;
*/ */
@Component @Component
public class GJB548C2Executor implements IExperimentReviewRuleExecutor { public class GJB548C2Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Autowired
private IExperimentService experimentService;
@Autowired
private IExperimentRadiationProcessService experimentRadiationProcessService;
@Override @Override
public String getProcessType() { public String getProcessType() {
@@ -55,10 +50,11 @@ public class GJB548C2Executor implements IExperimentReviewRuleExecutor {
* *
* @param experiment * @param experiment
* @param sampleInfo * @param sampleInfo
* @param experimentReview
* @return * @return
*/ */
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
experimentService.fetchExperimentDetail(experiment); experimentService.fetchExperimentDetail(experiment);
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId()); List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId());
for (ExperimentRadiationProcess radiationProcess : radiationProcessList) { for (ExperimentRadiationProcess radiationProcess : radiationProcessList) {

View File

@@ -13,7 +13,6 @@ import org.jeecg.modules.database.dto.RadiationDetailDTO;
import org.jeecg.modules.database.dto.RadiationMapDTO; import org.jeecg.modules.database.dto.RadiationMapDTO;
import org.jeecg.modules.database.entity.*; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.*; import org.jeecg.modules.database.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@@ -24,11 +23,7 @@ import java.util.List;
*/ */
@Component @Component
public class GJB548C3Executor implements IExperimentReviewRuleExecutor { public class GJB548C3Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Autowired
private IExperimentService experimentService;
@Autowired
private IExperimentRadiationProcessService experimentRadiationProcessService;
@Override @Override
public String getProcessType() { public String getProcessType() {
@@ -55,10 +50,11 @@ public class GJB548C3Executor implements IExperimentReviewRuleExecutor {
* *
* @param experiment * @param experiment
* @param sampleInfo * @param sampleInfo
* @param experimentReview
* @return * @return
*/ */
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
experimentService.fetchExperimentDetail(experiment); experimentService.fetchExperimentDetail(experiment);
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId()); List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId());

View File

@@ -4,16 +4,13 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.constant.ExperimentReviewResultEnum; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.dto.RadiationDetailDTO; import org.jeecg.modules.database.dto.*;
import org.jeecg.modules.database.dto.RadiationMapDTO;
import org.jeecg.modules.database.entity.*; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.*; import org.jeecg.modules.database.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@@ -24,11 +21,7 @@ import java.util.List;
*/ */
@Component @Component
public class GJB548C4Executor implements IExperimentReviewRuleExecutor { public class GJB548C4Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Autowired
private IExperimentService experimentService;
@Autowired
private IExperimentRadiationProcessService experimentRadiationProcessService;
@Override @Override
public String getProcessType() { public String getProcessType() {
@@ -52,34 +45,39 @@ public class GJB548C4Executor implements IExperimentReviewRuleExecutor {
* 器件功能失效当预定应用环境辐射剂量率比试验剂量率高且高于0.001Gy(Si)/ * 器件功能失效当预定应用环境辐射剂量率比试验剂量率高且高于0.001Gy(Si)/
* 剂量率高且高于0.001Gy(Si)/ * 剂量率高且高于0.001Gy(Si)/
* *
* 样片类型非模拟集成电路样片名称中不含有双极的字段。但是实际剂量率大于300 rad (Si) /s启动这条评定建议 *
*
* 最后一个剂量点测试未通过但是退火过程中没有室温退火退火温度为25℃识别为室温退火启动这条评定建议。
* *
* @param experiment * @param experiment
* @param sampleInfo * @param sampleInfo
* @param experimentReview
* @return * @return
*/ */
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
experimentService.fetchExperimentDetail(experiment); experimentService.fetchExperimentDetail(experiment);
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId()); List<ExperimentTestProcess> experimentTestProcesses = experimentTestProcessService.getByExperimentId(experiment.getId());
boolean condition1 = false, condition2 = false;
for (ExperimentRadiationProcess radiationProcess : radiationProcessList) { for (ExperimentTestProcess v : experimentTestProcesses) {
if (!StringUtils.contains(radiationProcess.getSampleInfo(), sampleInfo.getId())) { List<TestMeteringPointDTO> testMeteringPointList = v.getTestMeteringPointList();
continue; TestMeteringPointDTO last = CollUtil.getLast(testMeteringPointList);
if (!StringUtils.equals(last.getResult(), "合格")) {
condition1 = true;
break;
} }
String radiationDetailJson = radiationProcess.getRadiationDetail(); }
RadiationMapDTO radiationMap = JSON.parseObject(radiationDetailJson, RadiationMapDTO.class); List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
List<RadiationDetailDTO> detailDTOList = radiationMap.assembleDetails(); for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
if (experimentAnnealProcess.getAnnealTemperature().equals("25")) {
Double minRate = detailDTOList.stream().map(obj -> obj.getActualMeasurementRate()).filter( condition2 = true;
point -> StringUtils.isNotBlank(point)).filter(str -> str.matches("-?\\d+(\\.\\d+)?")).mapToDouble(Double::parseDouble) break;
.max().orElse(0d);
if (!sampleInfo.getSampleName().contains("双极") && !sampleInfo.getSampleType().equals("模拟集成电路") && NumberUtil.compare(
minRate, 300d) > 0) {
return ExperimentReviewResultEnum.LOW;
} }
} }
if (condition1 && condition2) {
return ExperimentReviewResultEnum.LOW;
}
return ExperimentReviewResultEnum.ITEM_PASS; return ExperimentReviewResultEnum.ITEM_PASS;
} }

View File

@@ -10,8 +10,7 @@ import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.constant.ExperimentReviewResultEnum; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.dto.TestMeteringPointDTO; import org.jeecg.modules.database.dto.TestMeteringPointDTO;
import org.jeecg.modules.database.entity.*; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.*; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@@ -21,15 +20,7 @@ import java.util.List;
*/ */
@Component @Component
public class GJB548C5Executor implements IExperimentReviewRuleExecutor { public class GJB548C5Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Autowired
private IExperimentService experimentService;
@Autowired
private IExperimentRadiationProcessService experimentRadiationProcessService;
@Autowired
private IExperimentAnnealProcessService experimentAnnealProcessService;
@Autowired
private IExperimentTestProcessService experimentTestProcessService;
@Override @Override
public String getProcessType() { public String getProcessType() {
@@ -56,10 +47,11 @@ public class GJB548C5Executor implements IExperimentReviewRuleExecutor {
* *
* @param experiment * @param experiment
* @param sampleInfo * @param sampleInfo
* @param experimentReview
* @return * @return
*/ */
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
experimentService.fetchExperimentDetail(experiment); experimentService.fetchExperimentDetail(experiment);
List<ExperimentTestProcess> experimentTestProcesses = experimentTestProcessService.getByExperimentId(experiment.getId()); List<ExperimentTestProcess> experimentTestProcesses = experimentTestProcessService.getByExperimentId(experiment.getId());
boolean condition1 = false, condition2 = false; boolean condition1 = false, condition2 = false;

View File

@@ -4,18 +4,21 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C6Executor implements IExperimentReviewRuleExecutor { public class GJB548C6Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +29,44 @@ public class GJB548C6Executor implements IExperimentReviewRuleExecutor {
return 6; return 6;
} }
/**
* 6
*
* 需要进行加速退火而未进行加速退火的试验
*
* 可能高估器件的抗辐射性能
*
* 界面态在退火过程中的后增长和氧化物陷阱电荷的退火
*
* 已知器件的电路设计中不包含MOS单元已知应用环境的总剂量不超过50Gy(Si已知器件在辐射环境服役的总寿命小于TDE时间按预定应用环境的剂量率进行辐射试验
*
* 通过表征试验业已证明该器件类型或IC工艺并未表现出器件参数TDE变化大于试验误差或大于规定的上限而且也已证明影响TDE响应的变量对于特定的生产方工艺过程已处于受控状态。作为起码要求上述表征试验应包括评价TDE
* 对传输延迟、输出驱动、最小工作电压参数的影响、对影响TDE变量的连续工艺控制状态可通过MOS测试结构的辐射加固批取样试验得到证明
*
* 退火过程中没有高温退火退火温度为100℃识别为高温退火这个过程同时在评定流程中询问用户是否需要加速退火用户选是启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
if (StringUtils.equals(experimentReview.getNeedAnneal(), "Y")) {
condition1 = true;
}
List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
if (experimentAnnealProcess.getAnnealTemperature().equals("100")) {
condition2 = true;
break;
}
}
if (condition1 && !condition2) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,21 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C7Executor implements IExperimentReviewRuleExecutor { public class GJB548C7Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +29,41 @@ public class GJB548C7Executor implements IExperimentReviewRuleExecutor {
return 7; return 7;
} }
/**
* 7
*
* 不需要进行加速退火但进行了加速退火的试验
*
* 可能低估器件的抗辐射性能
*
* 退火过程中的界面态增长将可能导致元器件的后损伤
*
* 不包含MOS单元器件
*
* 退火过程中有高温退火退火温度为100℃识别为室温退火这个过程同时在评定流程中询问用户是否需要加速退火用户选否启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
if (StringUtils.equals(experimentReview.getNeedAnneal(), "N")) {
condition1 = true;
}
List<ExperimentAnnealProcess> experimentAnnealProcessList = experimentAnnealProcessService.getByExperimentId(experiment.getId());
for (ExperimentAnnealProcess experimentAnnealProcess : experimentAnnealProcessList) {
if (experimentAnnealProcess.getAnnealTemperature().equals("100")) {
condition2 = true;
break;
}
}
if (condition1 && condition2) {
return ExperimentReviewResultEnum.LOW;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,21 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C8Executor implements IExperimentReviewRuleExecutor { public class GJB548C8Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +29,41 @@ public class GJB548C8Executor implements IExperimentReviewRuleExecutor {
return 8; return 8;
} }
/**
* 8
*
* 需要进行0.5倍过剂量辐照而未进行辐照
*
* 可能高估器件的抗辐射性能
*
* 辐射损伤冗余评估器件在50%过辐照持续退化
*
* 器件传输延迟、输出驱动和最小工作电压等参数向辐射前恢复的量值均不大于按4.12.3.2加速退火试验的恢复最值,并且辐射和加速退火试验所选择的偏置应使这些参数在加速退火过程中的响应达到最坏情况
*
* 辐照过程中备注栏没有“已过辐照”字段;同时在评定流程中询问用户是否需要进行过辐照,用户选是,启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId());
for (ExperimentRadiationProcess v : radiationProcessList) {
if (StringUtils.contains(v.getComment(), "已过辐照")) {
condition1 = true;
break;
}
}
if (StringUtils.equals(experimentReview.getNeedRadiation(), "Y")) {
condition2 = true;
}
if (!condition1 && condition2) {
return ExperimentReviewResultEnum.HIGH;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -4,18 +4,21 @@
*/ */
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
/** /**
* @author lise * @author lise
*/ */
@Component @Component
public class GJB548C9Executor implements IExperimentReviewRuleExecutor { public class GJB548C9Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.GJB548C; return ExperimentReviewProcessType.GJB548C;
@@ -26,8 +29,42 @@ public class GJB548C9Executor implements IExperimentReviewRuleExecutor {
return 9; return 9;
} }
/**
* 9
*
* 可以不进行0.5倍过剂量辐照,但进行了过辐照的试验
*
* 可能低估器件的抗辐射性能
*
* 增加了过辐照剂量的辐照损伤
*
* 可参考 QJ10004A-2018的相关规定分析其在QJ10004A-2018的适用性
*
* 辐照过程中备注栏有“已过辐照”字段;同时在评定流程中询问用户是否需要进行过辐照,用户选否,启动这条评定建议
*
* @param experiment
* @param sampleInfo
* @param experimentReview
* @return
*/
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; experimentService.fetchExperimentDetail(experiment);
boolean condition1 = false, condition2 = false;
List<ExperimentRadiationProcess> radiationProcessList = experimentRadiationProcessService.getByExperimentId(experiment.getId());
for (ExperimentRadiationProcess v : radiationProcessList) {
if (StringUtils.contains(v.getComment(), "已过辐照")) {
condition1 = true;
break;
}
}
if (StringUtils.equals(experimentReview.getNeedRadiation(), "N")) {
condition2 = true;
}
if (condition1 && condition2) {
return ExperimentReviewResultEnum.LOW;
}
return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000410Executor implements IExperimentReviewRuleExecutor { public class QJ1000410Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000410Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000411Executor implements IExperimentReviewRuleExecutor { public class QJ1000411Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000411Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000412Executor implements IExperimentReviewRuleExecutor { public class QJ1000412Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000412Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000413Executor implements IExperimentReviewRuleExecutor { public class QJ1000413Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000413Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000414Executor implements IExperimentReviewRuleExecutor { public class QJ1000414Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000414Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000415Executor implements IExperimentReviewRuleExecutor { public class QJ1000415Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000415Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000416Executor implements IExperimentReviewRuleExecutor { public class QJ1000416Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000416Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ1000417Executor implements IExperimentReviewRuleExecutor { public class QJ1000417Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ1000417Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100041Executor implements IExperimentReviewRuleExecutor { public class QJ100041Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100041Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100042Executor implements IExperimentReviewRuleExecutor { public class QJ100042Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100042Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100043Executor implements IExperimentReviewRuleExecutor { public class QJ100043Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100043Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100044Executor implements IExperimentReviewRuleExecutor { public class QJ100044Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100044Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100045Executor implements IExperimentReviewRuleExecutor { public class QJ100045Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100045Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100046Executor implements IExperimentReviewRuleExecutor { public class QJ100046Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100046Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100047Executor implements IExperimentReviewRuleExecutor { public class QJ100047Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100047Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100048Executor implements IExperimentReviewRuleExecutor { public class QJ100048Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100048Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -5,8 +5,8 @@
package org.jeecg.modules.database.service.executor; package org.jeecg.modules.database.service.executor;
import org.jeecg.modules.database.constant.ExperimentReviewProcessType; import org.jeecg.modules.database.constant.ExperimentReviewProcessType;
import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.*;
import org.jeecg.modules.database.entity.ExperimentSampleInfo; import org.jeecg.modules.database.constant.ExperimentReviewResultEnum;
import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor; import org.jeecg.modules.database.service.IExperimentReviewRuleExecutor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
*/ */
@Component @Component
public class QJ100049Executor implements IExperimentReviewRuleExecutor { public class QJ100049Executor extends BaseExecutor implements IExperimentReviewRuleExecutor {
@Override @Override
public String getProcessType() { public String getProcessType() {
return ExperimentReviewProcessType.QJ10004; return ExperimentReviewProcessType.QJ10004;
@@ -27,7 +27,7 @@ public class QJ100049Executor implements IExperimentReviewRuleExecutor {
} }
@Override @Override
public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo) { public String execute(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
return ""; return ExperimentReviewResultEnum.ITEM_PASS;
} }
} }

View File

@@ -39,7 +39,8 @@ public class ExperimentReviewServiceImpl extends ServiceImpl<ExperimentReviewRes
//高估代表 0低估代表 1,无法评定代表2评定结果通过代表3未通过代表 4 //高估代表 0低估代表 1,无法评定代表2评定结果通过代表3未通过代表 4
@Override @Override
public ExperimentReview review(Experiment experiment, ExperimentSampleInfo sampleInfo, String processType) { public ExperimentReview review(Experiment experiment, ExperimentSampleInfo sampleInfo, ExperimentReview experimentReview) {
String processType = experimentReview.getProcessType();
List<ExperimentReviewRule> ruleList = experimentReviewRuleService.getByType(processType); List<ExperimentReviewRule> ruleList = experimentReviewRuleService.getByType(processType);
ExperimentReview result = new ExperimentReview(); ExperimentReview result = new ExperimentReview();
result.setExperimentId(experiment.getId()); result.setExperimentId(experiment.getId());
@@ -47,7 +48,7 @@ public class ExperimentReviewServiceImpl extends ServiceImpl<ExperimentReviewRes
result.setSampleId(sampleInfo.getId()); result.setSampleId(sampleInfo.getId());
for (int i = 0; i < ruleList.size(); i++) { for (int i = 0; i < ruleList.size(); i++) {
ExperimentReviewRule rule = ruleList.get(i); ExperimentReviewRule rule = ruleList.get(i);
String executeResult = executorHolder.execute(rule.getProcessType() + rule.getPriority(), experiment, sampleInfo); String executeResult = executorHolder.execute(rule.getProcessType() + rule.getPriority(), experiment, sampleInfo,experimentReview);
if (StrUtil.isNotBlank(executeResult)) { if (StrUtil.isNotBlank(executeResult)) {
ExperimentReviewDetail detail = new ExperimentReviewDetail(); ExperimentReviewDetail detail = new ExperimentReviewDetail();
detail.setExperimentId(experiment.getId()); detail.setExperimentId(experiment.getId());