分析回退、结果判定自动报出、结果报出复检修改
This commit is contained in:
@@ -87,6 +87,11 @@ public interface BusinessAssayTaskDetailMapper extends BaseMapperX<BusinessAssay
|
|||||||
return selectList(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>()
|
return selectList(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>()
|
||||||
.eqIfPresent(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId));
|
.eqIfPresent(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default Long selectCountByBusinessAssayTaskId(Long businessAssayTaskId) {
|
||||||
|
return selectCount(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>()
|
||||||
|
.eqIfPresent(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物理批量删除删除
|
* 物理批量删除删除
|
||||||
|
|||||||
@@ -74,12 +74,19 @@ public interface BusinessSubParentSampleAssessmentProjectMapper extends BaseMapp
|
|||||||
return selectList(new LambdaQueryWrapper<BusinessSubParentSampleAssessmentProjectDO>()
|
return selectList(new LambdaQueryWrapper<BusinessSubParentSampleAssessmentProjectDO>()
|
||||||
.eq(BusinessSubParentSampleAssessmentProjectDO::getConfigAssayMethodId, configAssayMethodId));
|
.eq(BusinessSubParentSampleAssessmentProjectDO::getConfigAssayMethodId, configAssayMethodId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
default List<BusinessSubParentSampleAssessmentProjectDO> selectByBusinessSubParentSampleAssessmentIdAndDictionaryProjectIds(Long businessSubParentSampleAssessmentId, List<Long> recheckDictionaryProjectIdList) {
|
default List<BusinessSubParentSampleAssessmentProjectDO> selectByBusinessSubParentSampleAssessmentIdAndDictionaryProjectIds(Long businessSubParentSampleAssessmentId, List<Long> recheckDictionaryProjectIdList) {
|
||||||
return selectList(new LambdaQueryWrapper<BusinessSubParentSampleAssessmentProjectDO>()
|
return selectList(new LambdaQueryWrapper<BusinessSubParentSampleAssessmentProjectDO>()
|
||||||
.eq(BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId, businessSubParentSampleAssessmentId)
|
.eq(BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId, businessSubParentSampleAssessmentId)
|
||||||
.in(BusinessSubParentSampleAssessmentProjectDO::getDictionaryProjectId, recheckDictionaryProjectIdList));
|
.in(BusinessSubParentSampleAssessmentProjectDO::getDictionaryProjectId, recheckDictionaryProjectIdList));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default List<BusinessSubParentSampleAssessmentProjectDO> selectByBusinessSubParentSampleAssessmentId(Long businessSubParentSampleAssessmentId) {
|
||||||
|
return selectList(new LambdaQueryWrapper<BusinessSubParentSampleAssessmentProjectDO>()
|
||||||
|
.eq(BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId, businessSubParentSampleAssessmentId));
|
||||||
|
}
|
||||||
|
|
||||||
List<NoReportSubParentSampleAssessmentRespVO> selectNoReportSubParentSampleAssessment(@Param("reqVO") BusinessSubParentSampleAssessmentGroupReqVO reqVO);
|
List<NoReportSubParentSampleAssessmentRespVO> selectNoReportSubParentSampleAssessment(@Param("reqVO") BusinessSubParentSampleAssessmentGroupReqVO reqVO);
|
||||||
|
|
||||||
|
|||||||
@@ -759,8 +759,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//如果为自动上报
|
//如果为自动上报, 并且上报状态为待上报的
|
||||||
if (QmsCommonConstant.AUTOMATIC.equals(configSubSampleMethodDO.getResultTreatmentWay())) {
|
if (QmsCommonConstant.AUTOMATIC.equals(configSubSampleMethodDO.getResultTreatmentWay()) && QmsCommonConstant.ASMT_PENDING_REPORT.equals(businessSubSampleAssessmentDO.getReportedStatus())) {
|
||||||
automaticBusinessSubSampleIdList.add(businessSubSampleId);
|
automaticBusinessSubSampleIdList.add(businessSubSampleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1366,10 +1366,22 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
|
|||||||
businessAssayTaskDataDO.setExternalInfomation(JSON.toJSONString(businessAssayTaskDataExternalInfomation));
|
businessAssayTaskDataDO.setExternalInfomation(JSON.toJSONString(businessAssayTaskDataExternalInfomation));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//任务id
|
||||||
|
Long businessAssayTaskId = businessAssayTaskDetailList.stream().map(m -> m.getBusinessAssayTaskId()).distinct().findFirst().orElse(null);
|
||||||
|
//查询任务下的明细
|
||||||
|
Long taskCount = businessAssayTaskDetailMapper.selectCountByBusinessAssayTaskId(businessAssayTaskId);
|
||||||
|
if (businessAssayTaskDetailList.size() == taskCount.intValue()) {//如果回退所有样品,则作废任务
|
||||||
|
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
|
||||||
|
businessAssayTaskDO.setTaskAssignStatus(QmsCommonConstant.VOID);
|
||||||
|
|
||||||
|
businessAssayTaskMapper.updateById(businessAssayTaskDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
//明细处理
|
||||||
if (CollUtil.isNotEmpty(businessAssayTaskDetailList)) {
|
if (CollUtil.isNotEmpty(businessAssayTaskDetailList)) {
|
||||||
businessAssayTaskDetailMapper.updateBatch(businessAssayTaskDetailList);
|
businessAssayTaskDetailMapper.updateBatch(businessAssayTaskDetailList);
|
||||||
}
|
}
|
||||||
|
//任务明细处理
|
||||||
if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) {
|
if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) {
|
||||||
businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList);
|
businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,7 +199,9 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
noReportSubParentSampleAssessmentMap.put(businessSubParentSampleAssessmentProjectDO.getSimpleName(), assessmentValue);
|
noReportSubParentSampleAssessmentMap.put(businessSubParentSampleAssessmentProjectDO.getSimpleName(), assessmentValue);
|
||||||
businessSubParentSampleAssessmentProjectIds.append(businessSubParentSampleAssessmentProjectDO.getId()).append(",");
|
businessSubParentSampleAssessmentProjectIds.append(businessSubParentSampleAssessmentProjectDO.getId()).append(",");
|
||||||
}
|
}
|
||||||
businessSubParentSampleAssessmentProjectIds.delete(businessSubParentSampleAssessmentProjectIds.length() -1, businessSubParentSampleAssessmentProjectIds.length());
|
if (businessSubParentSampleAssessmentProjectIds.length() > 0) {
|
||||||
|
businessSubParentSampleAssessmentProjectIds.delete(businessSubParentSampleAssessmentProjectIds.length() -1, businessSubParentSampleAssessmentProjectIds.length());
|
||||||
|
}
|
||||||
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentProjectIds", businessSubParentSampleAssessmentProjectIds.toString());
|
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentProjectIds", businessSubParentSampleAssessmentProjectIds.toString());
|
||||||
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentId", noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleAssessmentId());
|
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentId", noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleAssessmentId());
|
||||||
dataList.add(noReportSubParentSampleAssessmentMap);
|
dataList.add(noReportSubParentSampleAssessmentMap);
|
||||||
@@ -341,15 +343,15 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
BusinessSubParentSampleAssessmentDO olBusinessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectById(reqVO.getBusinessSubParentSampleAssessmentId());
|
BusinessSubParentSampleAssessmentDO olBusinessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectById(reqVO.getBusinessSubParentSampleAssessmentId());
|
||||||
|
|
||||||
//查询分样主样判定
|
//查询分样主样判定
|
||||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(reqVO.getBusinessSubParentSampleId(), reqVO.getConfigAssayMethodId());
|
//BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(reqVO.getBusinessSubParentSampleId(), reqVO.getConfigAssayMethodId());
|
||||||
if (businessSubParentSampleAssessmentDO == null) {
|
if (olBusinessSubParentSampleAssessmentDO == null) {
|
||||||
throw new ServiceException(1_032_050_000, "结果报送数据未找到");
|
throw new ServiceException(1_032_050_000, "结果报送数据未找到");
|
||||||
}
|
}
|
||||||
|
|
||||||
//复检的检测项目
|
//复检的检测项目
|
||||||
List<RecheckSubSampleParentMethodRespVO> recheckProjectList = reqVO.getRecheckProjectList();
|
List<RecheckSubSampleParentMethodRespVO> recheckProjectList = reqVO.getRecheckProjectList();
|
||||||
List<Long> recheckDictionaryProjectIdList = recheckProjectList.stream().map(m -> m.getDictionaryProjectId()).collect(Collectors.toList());
|
List<Long> recheckDictionaryProjectIdList = recheckProjectList.stream().map(m -> m.getDictionaryProjectId()).collect(Collectors.toList());
|
||||||
List<BusinessSubParentSampleAssessmentProjectDO> businessSubParentSampleAssessmentProjectDOList = businessSubParentSampleAssessmentProjectMapper.selectByBusinessSubParentSampleAssessmentIdAndDictionaryProjectIds(businessSubParentSampleAssessmentDO.getId(), recheckDictionaryProjectIdList);
|
List<BusinessSubParentSampleAssessmentProjectDO> businessSubParentSampleAssessmentProjectDOList = businessSubParentSampleAssessmentProjectMapper.selectByBusinessSubParentSampleAssessmentIdAndDictionaryProjectIds(olBusinessSubParentSampleAssessmentDO.getId(), recheckDictionaryProjectIdList);
|
||||||
for (BusinessSubParentSampleAssessmentProjectDO businessSubParentSampleAssessmentProjectDO : businessSubParentSampleAssessmentProjectDOList) {
|
for (BusinessSubParentSampleAssessmentProjectDO businessSubParentSampleAssessmentProjectDO : businessSubParentSampleAssessmentProjectDOList) {
|
||||||
businessSubParentSampleAssessmentProjectDO.setIsReported(QmsCommonConstant.NO);
|
businessSubParentSampleAssessmentProjectDO.setIsReported(QmsCommonConstant.NO);
|
||||||
businessSubParentSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.VOID);
|
businessSubParentSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.VOID);
|
||||||
@@ -410,7 +412,8 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
newBusinessSubSampleParentRetestDOList.add(businessSubSampleParentRetestDO );
|
newBusinessSubSampleParentRetestDOList.add(businessSubSampleParentRetestDO );
|
||||||
}
|
}
|
||||||
|
|
||||||
BusinessSubSampleAssessmentDO newBusinessSubSampleAssessmentDO = newSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleAssessmentId().equals(businessSubParentSampleAssessmentDO.getId())).findFirst().orElse(null);
|
Long newBusinessSubParentSampleAssessmentId = newBusinessSubParentSampleAssessmentDO.getId();
|
||||||
|
BusinessSubSampleAssessmentDO newBusinessSubSampleAssessmentDO = newSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleAssessmentId().equals(newBusinessSubParentSampleAssessmentId)).findFirst().orElse(null);
|
||||||
if (newBusinessSubSampleAssessmentDO == null) {
|
if (newBusinessSubSampleAssessmentDO == null) {
|
||||||
newBusinessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
newBusinessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||||
newBusinessSubSampleAssessmentDO.setId(IdWorker.getId());
|
newBusinessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||||
@@ -493,6 +496,11 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<BusinessSubParentSampleAssessmentProjectDO> allBusinessSubParentSampleAssessmentProjectList = businessSubParentSampleAssessmentProjectMapper.selectByBusinessSubParentSampleAssessmentId(olBusinessSubParentSampleAssessmentDO.getId());
|
||||||
|
if (allBusinessSubParentSampleAssessmentProjectList.size() == businessSubParentSampleAssessmentProjectDOList.size()) {//如果复测项目都全部完成,则删除旧的结果报送
|
||||||
|
businessSubParentSampleAssessmentMapper.deleteById(olBusinessSubParentSampleAssessmentDO.getId());
|
||||||
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(businessSubParentSampleAssessmentProjectDOList)) {
|
if (CollUtil.isNotEmpty(businessSubParentSampleAssessmentProjectDOList)) {
|
||||||
businessSubParentSampleAssessmentProjectMapper.updateBatch(businessSubParentSampleAssessmentProjectDOList);
|
businessSubParentSampleAssessmentProjectMapper.updateBatch(businessSubParentSampleAssessmentProjectDOList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,13 +109,13 @@ public class QMSMultiDataPermissionHandler implements MultiDataPermissionHandler
|
|||||||
DeptDataPermissionRespDTO qmsDataPermission = loginUser.getContext(QMS_PERMISSION_CONTEXT_KEY, DeptDataPermissionRespDTO.class);
|
DeptDataPermissionRespDTO qmsDataPermission = loginUser.getContext(QMS_PERMISSION_CONTEXT_KEY, DeptDataPermissionRespDTO.class);
|
||||||
if(qmsDataPermission == null){
|
if(qmsDataPermission == null){
|
||||||
try{
|
try{
|
||||||
DeptContextHolder.setRoleCodeList(allRoleCode);
|
//DeptContextHolder.setRoleCodeList(allRoleCode);
|
||||||
qmsDataPermission = permissionApi.getDeptDataPermission(loginUser.getId()).getCheckedData();
|
qmsDataPermission = permissionApi.getDeptDataPermission(loginUser.getId()).getCheckedData();
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error("[getExpression][LoginUser({}) 获取角色权限为 null]", JsonUtils.toJsonString(loginUser));
|
log.error("[getExpression][LoginUser({}) 获取角色权限为 null]", JsonUtils.toJsonString(loginUser));
|
||||||
log.error("", e);
|
log.error("", e);
|
||||||
}finally {
|
}finally {
|
||||||
DeptContextHolder.clearRoleCodeList();
|
//DeptContextHolder.clearRoleCodeList();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qmsDataPermission == null) {
|
if (qmsDataPermission == null) {
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
AND tcam.ASY_DEPT_ID = tbssag.ASY_DEPT_ID
|
AND tcam.ASY_DEPT_ID = tbssag.ASY_DEPT_ID
|
||||||
WHERE
|
WHERE
|
||||||
tbssa.DELETED = 0
|
tbssa.DELETED = 0
|
||||||
|
AND tbspsa.DELETED = 0
|
||||||
AND tbssa.RPOD_STS = 'reported'
|
AND tbssa.RPOD_STS = 'reported'
|
||||||
AND tbspsa.IS_RPOD = 0
|
AND tbspsa.IS_RPOD = 0
|
||||||
<if test="reqVO.configAssayMethodName != null and reqVO.configAssayMethodName != ''">
|
<if test="reqVO.configAssayMethodName != null and reqVO.configAssayMethodName != ''">
|
||||||
|
|||||||
Reference in New Issue
Block a user