feat:qms阶段性提交
This commit is contained in:
@@ -88,6 +88,11 @@ public interface BusinessAssayTaskDetailMapper extends BaseMapperX<BusinessAssay
|
||||
.eqIfPresent(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId));
|
||||
}
|
||||
|
||||
default Long selectCountByBusinessAssayTaskId(Long businessAssayTaskId) {
|
||||
return selectCount(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>()
|
||||
.eqIfPresent(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 物理批量删除删除
|
||||
* @param idList
|
||||
|
||||
@@ -75,12 +75,19 @@ public interface BusinessSubParentSampleAssessmentProjectMapper extends BaseMapp
|
||||
.eq(BusinessSubParentSampleAssessmentProjectDO::getConfigAssayMethodId, configAssayMethodId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
default List<BusinessSubParentSampleAssessmentProjectDO> selectByBusinessSubParentSampleAssessmentIdAndDictionaryProjectIds(Long businessSubParentSampleAssessmentId, List<Long> recheckDictionaryProjectIdList) {
|
||||
return selectList(new LambdaQueryWrapper<BusinessSubParentSampleAssessmentProjectDO>()
|
||||
.eq(BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId, businessSubParentSampleAssessmentId)
|
||||
.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<RecheckSubSampleParentMethodRespVO> getRecheckAssayMethodList(@Param("baseSampleId") Long baseSampleId, @Param("businessSubParentSampleId") Long businessSubParentSampleId, @Param("configAssayMethodId") Long configAssayMethodId, @Param("assayDepartmentId") Long assayDepartmentId);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1366,10 +1366,22 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
|
||||
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)) {
|
||||
businessAssayTaskDetailMapper.updateBatch(businessAssayTaskDetailList);
|
||||
}
|
||||
//任务明细处理
|
||||
if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) {
|
||||
businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList);
|
||||
}
|
||||
|
||||
@@ -199,7 +199,9 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
noReportSubParentSampleAssessmentMap.put(businessSubParentSampleAssessmentProjectDO.getSimpleName(), assessmentValue);
|
||||
businessSubParentSampleAssessmentProjectIds.append(businessSubParentSampleAssessmentProjectDO.getId()).append(",");
|
||||
}
|
||||
if (businessSubParentSampleAssessmentProjectIds.length() > 0) {
|
||||
businessSubParentSampleAssessmentProjectIds.delete(businessSubParentSampleAssessmentProjectIds.length() -1, businessSubParentSampleAssessmentProjectIds.length());
|
||||
}
|
||||
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentProjectIds", businessSubParentSampleAssessmentProjectIds.toString());
|
||||
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentId", noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleAssessmentId());
|
||||
dataList.add(noReportSubParentSampleAssessmentMap);
|
||||
@@ -341,15 +343,15 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
BusinessSubParentSampleAssessmentDO olBusinessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectById(reqVO.getBusinessSubParentSampleAssessmentId());
|
||||
|
||||
//查询分样主样判定
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(reqVO.getBusinessSubParentSampleId(), reqVO.getConfigAssayMethodId());
|
||||
if (businessSubParentSampleAssessmentDO == null) {
|
||||
//BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(reqVO.getBusinessSubParentSampleId(), reqVO.getConfigAssayMethodId());
|
||||
if (olBusinessSubParentSampleAssessmentDO == null) {
|
||||
throw new ServiceException(1_032_050_000, "结果报送数据未找到");
|
||||
}
|
||||
|
||||
//复检的检测项目
|
||||
List<RecheckSubSampleParentMethodRespVO> recheckProjectList = reqVO.getRecheckProjectList();
|
||||
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) {
|
||||
businessSubParentSampleAssessmentProjectDO.setIsReported(QmsCommonConstant.NO);
|
||||
businessSubParentSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.VOID);
|
||||
@@ -410,7 +412,8 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
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) {
|
||||
newBusinessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
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)) {
|
||||
businessSubParentSampleAssessmentProjectMapper.updateBatch(businessSubParentSampleAssessmentProjectDOList);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,42 +1,42 @@
|
||||
package com.zt.plat.module.qms.framework.mybatis;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
|
||||
import com.zt.plat.module.qms.framework.datapermission.QMSMultiDataPermissionHandler;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.aspectj.lang.annotation.After;
|
||||
import org.springframework.beans.factory.SmartInitializingSingleton;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
//package com.zt.plat.module.qms.framework.mybatis;
|
||||
//
|
||||
//
|
||||
//import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
//import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
|
||||
//import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
|
||||
//import com.zt.plat.module.qms.framework.datapermission.QMSMultiDataPermissionHandler;
|
||||
//import jakarta.annotation.PostConstruct;
|
||||
//import org.aspectj.lang.annotation.After;
|
||||
//import org.springframework.beans.factory.SmartInitializingSingleton;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.context.annotation.Configuration;
|
||||
//
|
||||
//import java.util.List;
|
||||
//
|
||||
//@Configuration
|
||||
public class QMSDataPermissionConfig implements SmartInitializingSingleton {
|
||||
@Autowired
|
||||
private MybatisPlusInterceptor mybatisPlusInterceptor;
|
||||
|
||||
@Autowired
|
||||
private QMSMultiDataPermissionHandler qmsMultiDataPermissionHandler;
|
||||
|
||||
@Override
|
||||
public void afterSingletonsInstantiated() {
|
||||
List<InnerInterceptor> interceptors = mybatisPlusInterceptor.getInterceptors();
|
||||
// 避免重复注册
|
||||
boolean exists = interceptors.stream()
|
||||
.filter(i -> i instanceof DataPermissionInterceptor)
|
||||
.map(i -> (DataPermissionInterceptor) i)
|
||||
.anyMatch(i -> i.getDataPermissionHandler() == qmsMultiDataPermissionHandler);
|
||||
if (!exists) {
|
||||
mybatisPlusInterceptor.addInnerInterceptor(new DataPermissionInterceptor(qmsMultiDataPermissionHandler));
|
||||
}
|
||||
}
|
||||
|
||||
// @PostConstruct
|
||||
// public void addDataPermissionInterceptor() {
|
||||
//public class QMSDataPermissionConfig implements SmartInitializingSingleton {
|
||||
// @Autowired
|
||||
// private MybatisPlusInterceptor mybatisPlusInterceptor;
|
||||
//
|
||||
// @Autowired
|
||||
// private QMSMultiDataPermissionHandler qmsMultiDataPermissionHandler;
|
||||
//
|
||||
// @Override
|
||||
// public void afterSingletonsInstantiated() {
|
||||
// List<InnerInterceptor> interceptors = mybatisPlusInterceptor.getInterceptors();
|
||||
// // 避免重复注册
|
||||
// boolean exists = interceptors.stream()
|
||||
// .filter(i -> i instanceof DataPermissionInterceptor)
|
||||
// .map(i -> (DataPermissionInterceptor) i)
|
||||
// .anyMatch(i -> i.getDataPermissionHandler() == qmsMultiDataPermissionHandler);
|
||||
// if (!exists) {
|
||||
// mybatisPlusInterceptor.addInnerInterceptor(new DataPermissionInterceptor(qmsMultiDataPermissionHandler));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//// @PostConstruct
|
||||
//// public void addDataPermissionInterceptor() {
|
||||
////
|
||||
//// }
|
||||
//
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.zt.plat.module.qms.resource.clientManage.controller.admin;
|
||||
|
||||
import com.zt.plat.module.infra.api.file.FileApi;
|
||||
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||
import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementPageReqVO;
|
||||
import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementRespVO;
|
||||
import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementSaveReqVO;
|
||||
@@ -55,6 +57,9 @@ public class VersionManagementController extends AbstractFileUploadController im
|
||||
@Resource
|
||||
private VersionManagementService systemVersionManagementService;
|
||||
|
||||
@Resource
|
||||
private FileApi fileApi;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建客户端版本管理")
|
||||
@PreAuthorize("@ss.hasPermission('qms:version-management:create')")
|
||||
@@ -138,6 +143,14 @@ public class VersionManagementController extends AbstractFileUploadController im
|
||||
String log = "";
|
||||
if (pageResult.getList().size() != 0) {
|
||||
VersionManagementDO versionManagementDO = pageResult.getList().get(0);
|
||||
//处理文件下载url
|
||||
Long fileId = Long.parseLong(versionManagementDO.getDownloadId());
|
||||
CommonResult<FileRespDTO> fileRet = fileApi.getFileInfo(fileId);
|
||||
FileRespDTO file = fileRet.getData();
|
||||
if(fileRet.isSuccess() && file != null) {
|
||||
versionManagementDO.setDownloadUrl(file.getUrl());
|
||||
}
|
||||
|
||||
version = versionManagementDO.getCurrentVersion();
|
||||
minVersion = versionManagementDO.getMinimumVersion();
|
||||
url = versionManagementDO.getDownloadUrl();
|
||||
@@ -165,6 +178,13 @@ public class VersionManagementController extends AbstractFileUploadController im
|
||||
return CommonResult.error(400, "没有可更新版本");
|
||||
}
|
||||
VersionManagementDO versionManagementDO = pageResult.getList().get(0);
|
||||
//处理文件下载url
|
||||
Long fileId = Long.parseLong(versionManagementDO.getDownloadId());
|
||||
CommonResult<FileRespDTO> fileRet = fileApi.getFileInfo(fileId);
|
||||
FileRespDTO file = fileRet.getData();
|
||||
if(fileRet.isSuccess() && file != null) {
|
||||
versionManagementDO.setDownloadUrl(file.getUrl());
|
||||
}
|
||||
|
||||
return success(BeanUtils.toBean(versionManagementDO, VersionManagementRespVO.class));
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.Map;
|
||||
@Mapper
|
||||
public interface DeviceInfomationMapper extends BaseMapperX<DeviceInfomationDO> {
|
||||
|
||||
@QmsPermission(deptDataRoleCodes = "")
|
||||
@QmsPermission(deptDataRoleCodes = "ytjyDeptAndSub", moduleDataRoleCodes = "qms_device_manager")
|
||||
default PageResult<DeviceInfomationDO> selectPage(DeviceInfomationPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<DeviceInfomationDO>()
|
||||
.eqIfPresent(DeviceInfomationDO::getProductId, reqVO.getProductId())
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
AND tcam.ASY_DEPT_ID = tbssag.ASY_DEPT_ID
|
||||
WHERE
|
||||
tbssa.DELETED = 0
|
||||
AND tbspsa.DELETED = 0
|
||||
AND tbssa.RPOD_STS = 'reported'
|
||||
AND tbspsa.IS_RPOD = 0
|
||||
<if test="reqVO.configAssayMethodName != null and reqVO.configAssayMethodName != ''">
|
||||
|
||||
Reference in New Issue
Block a user