Compare commits

..

41 Commits

Author SHA1 Message Date
shusir
56eb717371 fix:存放位置数据权限调整 2026-03-26 10:26:59 +08:00
shusir
b93a5741a1 fix:物料盘点出入库因事务将private改为public 2026-03-26 10:22:57 +08:00
YBP
0f288f65a4 添加管理员角色常量 2026-03-26 09:52:19 +08:00
shusir
9244510903 Merge remote-tracking branch 'origin/test' into test 2026-03-25 18:08:52 +08:00
shusir
4fa4371f0c fix:物料抽象出实例的入库方法 2026-03-25 18:08:06 +08:00
YBP
f09bb8f904 文件记录-重构-通用申请流程 2026-03-25 18:03:25 +08:00
FCL
d33c3b5803 Merge remote-tracking branch 'origin/test' into test 2026-03-25 17:53:07 +08:00
FCL
6a2b9048b5 fix:期间核查、检定校准接口调整 2026-03-25 17:53:01 +08:00
wxr
c9b85e563d 文件排序修改 2026-03-25 17:22:52 +08:00
FCL
809088d9b3 feat:意见读取方法;检定校准、期间核查增加意见返回 2026-03-25 15:28:23 +08:00
shusir
58aa53eb68 fix:物料盘点出入库;修复循环依赖。 2026-03-25 14:30:03 +08:00
FCL
32387301ac fix:iwork用印发起方式调整 2026-03-25 13:58:32 +08:00
wxr
ea5bf45a48 第三方对接 2026-03-25 11:09:13 +08:00
FCL
92b3494fb7 fix:细节修复 2026-03-25 08:38:37 +08:00
YBP
89ebf4437c 文件记录-重构-通用申请 2026-03-24 18:21:01 +08:00
shusir
a227770ec1 fix:物料盘点 todo 库存数量需要带上仓库或库位条件。 2026-03-24 18:04:22 +08:00
FCL
f253ea4f39 fix:期间核查、检定校准增加formId字段 2026-03-24 16:19:16 +08:00
FCL
05cd6869a9 fix:设备微调 2026-03-24 15:35:52 +08:00
FCL
da0ad407dc feat:设备期间核查基础逻辑 2026-03-24 15:08:51 +08:00
FCL
629092ffbe fix:设备检定校准细节调整 2026-03-24 11:50:08 +08:00
FCL
6077ee78f0 fix:报告细节调整 2026-03-24 10:26:03 +08:00
YBP
418932d546 文件记录-重构 2026-03-23 18:36:50 +08:00
shusir
26486fb1d6 fix:物料盘点 2026-03-23 18:03:22 +08:00
FCL
007a60d437 fix:iwork用印及回调调试 2026-03-23 17:59:10 +08:00
FCL
d644149a94 fix:iwork用印及回调调试 2026-03-23 16:50:05 +08:00
shusir
09730d4b8f fix:物料准备盘点接口及修复其他接口问题 2026-03-20 17:57:20 +08:00
YBP
7bf3d2e73a 文件记录-更新状态,修改文件分发,及分发号表 2026-03-20 15:28:24 +08:00
YBP
80885dac89 文件记录-状态修改 2026-03-20 08:31:23 +08:00
wxr
523e2e562c 检验委托生成原始记录等 2026-03-19 17:38:34 +08:00
FCL
faab71424c feat:报告-iwork用印回调;设备-检定校准接口 2026-03-19 15:38:51 +08:00
wxr
868b9d5eec 编译报错修改 2026-03-19 10:19:26 +08:00
YBP
e913f07719 文件记录-修改BuG 2026-03-19 09:57:23 +08:00
shusir
8074f8b473 fix:供应商接口调整、物料接口复用比较多的新增业务场景字段。 2026-03-19 09:26:08 +08:00
YBP
da2d9f640c 文件记录-流程申请-查询文件记录 2026-03-19 08:27:27 +08:00
wxr
4d2109b9cc 样品收样处理 2026-03-18 16:05:47 +08:00
YBP
6242013249 文件记录-bug-修复 2026-03-17 18:22:23 +08:00
YBP
6f21dd18fd 文件记录-测试修改-记录状态,以及流程问题 2026-03-17 18:20:38 +08:00
shusir
a5b9584af0 fix:物料根据前端调整显示字段 2026-03-17 18:06:07 +08:00
shusir
7f2b6ea261 fix:物料大类的实例配单独的编号规则; 2026-03-17 16:25:33 +08:00
FCL
1f4f44af00 Merge remote-tracking branch 'origin/test' into test 2026-03-17 15:18:11 +08:00
FCL
4e810e8947 fix:报告默认标题调整 2026-03-17 15:17:56 +08:00
198 changed files with 7944 additions and 2176 deletions

View File

@@ -142,6 +142,12 @@ public interface ErrorCodeConstants {
ErrorCode BUSINESS_XRF_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "荧光采集记录不存在");
//第三方对接
ErrorCode OTHER_SYSTEM_CONFIG_NOT_EXISTS = new ErrorCode(1_032_100_000, "第三方系统配置不存在");
ErrorCode OTHER_BASE_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_100_000, "第三方系统样品大类对应不存在");
ErrorCode OTHER_DICTIONARY_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "第三方系统检测项目字典对应不存在");
ErrorCode OTHER_SYSTEM_USER_NOT_EXISTS = new ErrorCode(1_032_100_000, "第三方系统用户信息对应不存在");
//检测报告
ErrorCode REPORT_DOCUMENT_MAIN_NOT_EXISTS = new ErrorCode(1_032_100_000, "检测报告业务不存在");
@@ -177,10 +183,10 @@ public interface ErrorCodeConstants {
ErrorCode DEVICE_CONFIG_FLOW_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备通用流程配置不存在");
// -------------物料试剂-------------
ErrorCode MATERIAL_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_160_000, "试剂耗材不存在");
ErrorCode MATERIAL_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料不存在");
ErrorCode MATERIAL_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料分类/大类不存在");
ErrorCode MATERIAL_PRODUCT_PARENT_NOT_EXISTS = new ErrorCode(1_032_160_000, "物料分类/大类的父类不存在");
ErrorCode MATERIAL_PRODUCT_CODE_MODELNO_EXISTED = new ErrorCode(1_032_160_000, "物料大类【编码+型号】重复");
ErrorCode MATERIAL_PRODUCT_CODE_SPECIFICATION_EXISTED = new ErrorCode(1_032_160_000, "物料大类【编码+规格】重复");
ErrorCode MATERIAL_CATEGORY_EXISTS_CHILDREN = new ErrorCode(1_032_160_000, "分类下含有子分类或物料大类,不可删除");
ErrorCode MATERIAL_PRODUCT_EXISTS_BATCH = new ErrorCode(1_032_160_000, "物料大类下存在物料批次,不可删除");
ErrorCode MATERIAL_PRODUCTS_EXISTS_CATEGORY = new ErrorCode(1_032_160_000, "物料大类列表中存在分类数据");
@@ -198,8 +204,7 @@ public interface ErrorCodeConstants {
ErrorCode SYSTEM_VERSION_MANAGEMENT_NOT_EXISTS = new ErrorCode(1_032_160_000, "客户端版本管理不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_BATCH_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点项不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_ITEM_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点不存在");
ErrorCode MATERIAL_INVENTORY_CHECK_DETAIL_NOT_EXISTS = new ErrorCode(1_032_160_000, "库存盘点明细不存在");
ErrorCode MATERIAL_INVENTORY_OUTBOUND_NOT_EXISTS = new ErrorCode(1_032_160_000, "出库不存在");
ErrorCode MATERIAL_INVENTORY_OUTBOUND_DETAIL_NOT_EXISTS = new ErrorCode(1_032_160_000, "出库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等不存在");
@@ -244,4 +249,13 @@ public interface ErrorCodeConstants {
ErrorCode RECORD_FILE_EXISTS = new ErrorCode(1_032_350_000, "文件记录目录存在文件");
ErrorCode RECORD_PERMISSION_NOT_ALLOW = new ErrorCode(1_032_350_401, "当前操作权限不允许");
ErrorCode RECORD_CATEGORY_NAME_EXISTS = new ErrorCode(1_032_350_400, "文件记录分类名称不能重复");
/*================================= 部门信息、用户信息 ==================================*/
ErrorCode CURRENT_USER_COMPANY_NOT_EXISTS = new ErrorCode(1_032_350_000, "当前用户公司不存在");
ErrorCode CURRENT_USER_DEPT_NOT_EXISTS = new ErrorCode(1_032_350_000, "当前用户部门不存在");
ErrorCode CURRENT_USER_NOT_EXISTS = new ErrorCode(1_032_350_000, "当前用户部门不存在");
// ========== 文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物 TODO 补充编号 ==========
ErrorCode RECORD_ASSIGN_NOT_EXISTS = new ErrorCode(1_032_450_000, "文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物不存在");
}

View File

@@ -24,4 +24,6 @@ public interface QmsPermissionConstant {
String SAMPLE_WAREHOUSE_ADMIN = "sample_warehouse_admin"; //样品库管理员
String DEVICE_MANAGER = "qms_device_manager"; //设备管理员
String ADMIN_ROLE = "ytjyAdmin"; // 超级管理员 标识
}

View File

@@ -164,8 +164,8 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
@GetMapping("/getBySampleCodeAndFlowKey")
@Operation(summary = "根据样品编号及样品流程节点key获取样品信息")
public CommonResult<?> getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO) {
BusinessSubSampleExtendRespVO result = businessSubSampleService.getBySampleCodeAndFlowKey(reqVO);
return success(result);
List<BusinessSubSampleExtendRespVO> resultList = businessSubSampleService.getBySampleCodeAndFlowKey(reqVO);
return success(resultList);
}
@GetMapping("/export-excel")

View File

@@ -455,6 +455,17 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
.eq(BusinessAssayTaskDataDO::getAssayDepartmentId, assayDepartmentId));
}
/**
* 根据主样查询分析任务
* @param businessBaseSampleIdList 主样id
* @return
*/
default List<BusinessAssayTaskDataDO> selectByBusinessBaseSampleIds(List<Long> businessBaseSampleIdList) {
return selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>()
.in(BusinessAssayTaskDataDO::getBusinessBaseSampleId, businessBaseSampleIdList));
}
/**
* 根据主样及分析部门查询分析任务
* @param businessBaseSampleId 主样id

View File

@@ -36,6 +36,7 @@ public interface BusinessSampleEntrustFileMapper extends BaseMapperX<BusinessSam
.eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessSampleEntrustFileDO::getFileCategory)
.orderByDesc(BusinessSampleEntrustFileDO::getId));
}
@@ -55,6 +56,7 @@ public interface BusinessSampleEntrustFileMapper extends BaseMapperX<BusinessSam
.eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessSampleEntrustFileDO::getFileCategory)
.orderByDesc(BusinessSampleEntrustFileDO::getId));
}

View File

@@ -222,8 +222,8 @@ public interface BusinessSubSampleMapper extends BaseMapperX<BusinessSubSampleDO
.orderByDesc(BusinessSubSampleDO::getId));
}
default BusinessSubSampleExtendRespVO getBySampleCode(BusinessSubSampleReqVO reqVO) {
return selectJoinOne(BusinessSubSampleExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleDO>()
default List<BusinessSubSampleExtendRespVO> getBySampleCode(BusinessSubSampleReqVO reqVO) {
return selectJoinList(BusinessSubSampleExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleDO>()
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessSubSampleDO::getDictionaryBusinessId)
.leftJoin(ConfigSubSampleDO.class, ConfigSubSampleDO::getId, BusinessSubSampleDO::getConfigSubSampleId)
.selectAll(BusinessSubSampleDO.class)
@@ -236,8 +236,8 @@ public interface BusinessSubSampleMapper extends BaseMapperX<BusinessSubSampleDO
.orderByDesc(BusinessSubSampleDO::getId));
}
default BusinessSubSampleExtendRespVO getBySampleCodeAndFlowKey(BusinessSubSampleReqVO reqVO) {
return selectJoinOne(BusinessSubSampleExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleDO>()
default List<BusinessSubSampleExtendRespVO> getBySampleCodeAndFlowKey(BusinessSubSampleReqVO reqVO) {
return selectJoinList(BusinessSubSampleExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleDO>()
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessSubSampleDO::getDictionaryBusinessId)
.leftJoin(ConfigSubSampleDO.class, ConfigSubSampleDO::getId, BusinessSubSampleDO::getConfigSubSampleId)
.selectAll(BusinessSubSampleDO.class)

View File

@@ -213,6 +213,13 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
LocalDateTime currentDateTime = sampleEntrustContext.getCurrentDateTime();
//样品委托登记
BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration();
//扩展信息
String sampleEntrustRegistrationExtInfo = sampleEntrustRegistration.getExternalInfomation();
JSONObject sampleEntrustRegistrationJsonObject = null;
if (StringUtils.isNotBlank(sampleEntrustRegistrationExtInfo)) {
sampleEntrustRegistrationJsonObject = JSON.parseObject(sampleEntrustRegistrationExtInfo);
}
//样品委托登记明细
List<BusinessSampleEntrustDetailDO> sampleEntrustDetailList = sampleEntrustContext.getSampleEntrustDetailList();
//样品检测项目
@@ -427,6 +434,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessSubSampleDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
businessSubSampleDO.setSampleFlowNodeTime(currentDateTime);
businessSubSampleDO.setNextSampleFlowNode(sampleFlowNodeSub.getNextFlowNodeName());
businessSubSampleDO.setRemark(sampleEntrustRegistrationJsonObject.getString("sampleCategory"));//子样备注设置样品类型
businessSubSampleDOList.add(businessSubSampleDO);
@@ -492,7 +500,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
//如果是商检样分析,且为第一个商检分析样,并且包含要检测的项目,
if (QmsCommonConstant.ENTRUST_INSPECTION_ANALYSIS_SAMPLE.equals(baseSampleDO.getDictionaryBusinessKey()) && isAssayConditionProjectList && sjfxyOne == 0) {
addAssayTask(currentDateTime, configSubSampleMethodList, configAssayMethodProjectList,
addAssayTask(currentDateTime, sampleEntrustRegistrationJsonObject, configSubSampleMethodList, configAssayMethodProjectList,
configAssayMethodProjectParameterList, dictionaryProjectList,
businessSubParentSampleAssessmentDOList, businessSubSampleAnalysisGroupDOList,
businessSubSampleAssessmentDOList, businessAssayTaskDataDOList,
@@ -500,7 +508,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
configSampleFlowSub, sampleFlowNodeSub, businessSubSampleDO, methodId,
projectIdList, configAssayMethodParameterList, businessAssayTaskParameterDataDOList);
} else if (QmsCommonConstant.ENTRUST_COMPREHENSIVE_INSPECTION_SAMPLE.equals(baseSampleDO.getDictionaryBusinessKey()) && isAssayConditionProjectList) {//如果是商检综合样,并且包含需检查的项目
addAssayTask(currentDateTime, configSubSampleMethodList, configAssayMethodProjectList,
addAssayTask(currentDateTime, sampleEntrustRegistrationJsonObject, configSubSampleMethodList, configAssayMethodProjectList,
configAssayMethodProjectParameterList, dictionaryProjectList,
businessSubParentSampleAssessmentDOList, businessSubSampleAnalysisGroupDOList,
businessSubSampleAssessmentDOList, businessAssayTaskDataDOList,
@@ -509,7 +517,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
projectIdList, configAssayMethodParameterList, businessAssayTaskParameterDataDOList);
} else if (QmsCommonConstant.ENTRUST_COMMISSION_INSPECTION_SAMPLE.equals(baseSampleDO.getDictionaryBusinessKey()) && isAssayConditionProjectList && !isForecastS ) {//如果是委检样包含检测项目未预报S值
addAssayTask(currentDateTime, configSubSampleMethodList, configAssayMethodProjectList,
addAssayTask(currentDateTime, sampleEntrustRegistrationJsonObject, configSubSampleMethodList, configAssayMethodProjectList,
configAssayMethodProjectParameterList, dictionaryProjectList,
businessSubParentSampleAssessmentDOList, businessSubSampleAnalysisGroupDOList,
businessSubSampleAssessmentDOList, businessAssayTaskDataDOList,
@@ -614,6 +622,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) {
businessAssayTaskParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue());
}
if (StringUtils.isNotBlank(sampleEntrustRegistrationJsonObject.getString("sampleCategory")) && "remark".equals(configAssayMethodParameterDO.getKey())) {
businessAssayTaskParameterDataDO.setValue(sampleEntrustRegistrationJsonObject.getString("sampleCategory"));//任务参数备注赋值样品类型
}
//来样品位赋值
if (getParamList != null) {
@@ -688,6 +700,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessAssayParameterDataDO.setValue(configAssayMethodProjectParameterDO.getDefaultValue());
}
if (StringUtils.isNotBlank(sampleEntrustRegistrationJsonObject.getString("sampleCategory")) && "remark".equals(configAssayMethodProjectParameterDO.getKey())) {
businessAssayParameterDataDO.setValue(sampleEntrustRegistrationJsonObject.getString("sampleCategory"));//任务参数备注赋值样品类型
}
//来样品位赋值
if (getParamList != null) {
List<String> targetParameterList = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getProject()) && f.getTarget().getProject().contains(configAssayMethodProjectDO.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
@@ -922,7 +938,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
}
}
private void addAssayTask(LocalDateTime currentDateTime, List<ConfigSubSampleMethodExtendRespVO> configSubSampleMethodList,
private void addAssayTask(LocalDateTime currentDateTime, JSONObject sampleEntrustRegistrationJsonObject, List<ConfigSubSampleMethodExtendRespVO> configSubSampleMethodList,
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectList,
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterList,
List<DictionaryProjectDO> dictionaryProjectList,
@@ -1042,6 +1058,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) {
businessAssayTaskParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue());
}
if (StringUtils.isNotBlank(sampleEntrustRegistrationJsonObject.getString("sampleCategory")) && "remark".equals(configAssayMethodParameterDO.getKey())) {
businessAssayTaskParameterDataDO.setValue(sampleEntrustRegistrationJsonObject.getString("sampleCategory"));//任务参数备注赋值样品类型
}
businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO);
}
@@ -1099,7 +1118,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
if (StringUtils.isNotBlank(configAssayMethodProjectParameterDO.getDefaultValue())) {
businessAssayParameterDataDO.setValue(configAssayMethodProjectParameterDO.getDefaultValue());
}
if (StringUtils.isNotBlank(sampleEntrustRegistrationJsonObject.getString("sampleCategory")) && "remark".equals(configAssayMethodProjectParameterDO.getKey())) {
businessAssayParameterDataDO.setValue(sampleEntrustRegistrationJsonObject.getString("sampleCategory"));//任务参数备注赋值样品类型
}
businessAssayParameterDataDOList.add(businessAssayParameterDataDO);
}

View File

@@ -96,7 +96,7 @@ public interface BusinessSubSampleService {
* @param reqVO
* @return
*/
BusinessSubSampleExtendRespVO getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO);
List<BusinessSubSampleExtendRespVO> getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO);
//样品归库
BusinessSubSampleRespVO execReturnToStock(@Valid BusinessSubSampleSaveReqVO reqVo);

View File

@@ -234,23 +234,28 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
}
@Override
public BusinessSubSampleExtendRespVO getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO) {
public List<BusinessSubSampleExtendRespVO> getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
BusinessSubSampleExtendRespVO subSample = null;
List<BusinessSubSampleExtendRespVO> subSampleList = new ArrayList<>();
if (QmsCommonConstant.FLOW_NODE_TEAM_RECEIVE.equals(reqVO.getSampleFlowNodeKey())) {
subSample = businessSubSampleMapper.getBySampleCode(reqVO);
if (subSample == null) {
return subSample;
// List<BusinessSubSampleExtendRespVO> sampleList = businessSubSampleMapper.getBySampleCode(reqVO);
List<BusinessSubSampleExtendRespVO> sampleList = businessSubSampleMapper.getBySampleCodeAndFlowKey(reqVO);
if (sampleList == null || sampleList.size() <= 0) {
return subSampleList;
}
List<BusinessSubSampleAnalysisGroupDO> businessSubSampleAnalysisGroupList = businessSubSampleAnalysisGroupMapper.selectByBusinessSubSampleId(subSample.getId());
BusinessSubSampleAnalysisGroupDO receiveSample = businessSubSampleAnalysisGroupList.stream().filter(f -> f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).findFirst().orElse(null);
if (receiveSample == null) {
throw new ServiceException(1_032_100_000, "当前样品不在" + loginUser.getVisitDeptName() + ",不允许收样!");
for (BusinessSubSampleExtendRespVO sample : sampleList) {
List<BusinessSubSampleAnalysisGroupDO> businessSubSampleAnalysisGroupList = businessSubSampleAnalysisGroupMapper.selectByBusinessSubSampleId(sample.getId());
BusinessSubSampleAnalysisGroupDO receiveSample = businessSubSampleAnalysisGroupList.stream().filter(f -> "待收样".equals(f.getSampleStatus()) && f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).findFirst().orElse(null);
if (receiveSample != null) {
subSampleList.add(sample);
// throw new ServiceException(1_032_100_000, "当前样品不在" + loginUser.getVisitDeptName() + ",不允许收样!");
}
}
} else {
subSample = businessSubSampleMapper.getBySampleCodeAndFlowKey(reqVO);
subSampleList = businessSubSampleMapper.getBySampleCodeAndFlowKey(reqVO);
}
return subSample;
return subSampleList;
}
//样品归库

View File

@@ -243,7 +243,7 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo
//查询委托分析部门明细样品
List<BusinessSampleEntrustDepartmentDetailDO> businessSampleEntrustDepartmentDetailDOList = businessSampleEntrustDepartmentDetailMapper.selectByBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentId);
//或者主样id列表
//主样id列表
List<Long> businessBaseSampleIdList = businessSampleEntrustDepartmentDetailDOList.stream().map(m -> m.getBusinessBaseSampleId()).collect(Collectors.toList());
//查询分析任务
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessBaseSampleIdsAndAssayDepartmentId(businessBaseSampleIdList, businessSampleEntrustDepartmentDO.getAssayDepartmentId());

Some files were not shown because too many files have changed in this diff Show More