回退信息等修改

This commit is contained in:
2026-01-06 10:43:07 +08:00
parent 8945098344
commit 8a1b2f0eb3
12 changed files with 227 additions and 71 deletions

View File

@@ -29,6 +29,8 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskService; import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskService;
@@ -92,6 +94,10 @@ public class BusinessAssayTaskController implements BusinessControllerMarker {
@Operation(summary = "获得检测任务分配业务分页") @Operation(summary = "获得检测任务分配业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')") //@PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')")
public CommonResult<PageResult<BusinessAssayTaskExtendRespVO>> getBusinessAssayTaskPage(@Valid BusinessAssayTaskPageReqVO pageReqVO) { public CommonResult<PageResult<BusinessAssayTaskExtendRespVO>> getBusinessAssayTaskPage(@Valid BusinessAssayTaskPageReqVO pageReqVO) {
if (pageReqVO.getDeptId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setDeptId(loginUser.getVisitDeptId());
}
PageResult<BusinessAssayTaskExtendRespVO> pageResult = businessAssayTaskService.getBusinessAssayTaskPage(pageReqVO); PageResult<BusinessAssayTaskExtendRespVO> pageResult = businessAssayTaskService.getBusinessAssayTaskPage(pageReqVO);
return success(pageResult); return success(pageResult);
} }

View File

@@ -26,6 +26,8 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskDataService; import com.zt.plat.module.qms.business.bus.service.BusinessAssayTaskDataService;
@@ -89,6 +91,10 @@ public class BusinessAssayTaskDataController implements BusinessControllerMarker
@Operation(summary = "获得未指派的子样检测任务业务分组列表") @Operation(summary = "获得未指派的子样检测任务业务分组列表")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')") //@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')")
public CommonResult<?> getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { public CommonResult<?> getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<BusinessAssayTaskDataGroupRespVO> list = businessAssayTaskDataService.getUnAssayTaskGroupList(reqVO); List<BusinessAssayTaskDataGroupRespVO> list = businessAssayTaskDataService.getUnAssayTaskGroupList(reqVO);
return success(list); return success(list);
} }
@@ -97,6 +103,10 @@ public class BusinessAssayTaskDataController implements BusinessControllerMarker
@Operation(summary = "获得未审核的子样检测任务业务分组列表") @Operation(summary = "获得未审核的子样检测任务业务分组列表")
//@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')") //@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')")
public CommonResult<?> getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { public CommonResult<?> getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<BusinessAssayTaskDataGroupRespVO> list = businessAssayTaskDataService.getUnAuditTaskGroupList(reqVO); List<BusinessAssayTaskDataGroupRespVO> list = businessAssayTaskDataService.getUnAuditTaskGroupList(reqVO);
return success(list); return success(list);
} }

View File

@@ -9,6 +9,8 @@ import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.service.SampleResultReportingService; import com.zt.plat.module.qms.business.bus.service.SampleResultReportingService;
@@ -39,6 +41,10 @@ public class SampleResultReportingController implements BusinessControllerMarker
//获取未上报的方法 //获取未上报的方法
@GetMapping("/getUnReportMethodGroupList") @GetMapping("/getUnReportMethodGroupList")
public CommonResult<?> getUnReportMethodGroupList(BusinessSubParentSampleAssessmentGroupReqVO reqVO) { public CommonResult<?> getUnReportMethodGroupList(BusinessSubParentSampleAssessmentGroupReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<BusinessSubParentSampleAssessmentGroupRespVO> list = sampleResultReportingService.getUnReportMethodGroupList(reqVO); List<BusinessSubParentSampleAssessmentGroupRespVO> list = sampleResultReportingService.getUnReportMethodGroupList(reqVO);
return success(list); return success(list);
} }

View File

@@ -16,6 +16,8 @@ import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam;
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam;
@@ -54,6 +56,10 @@ public class SampleTaskAssignController implements BusinessControllerMarker {
@GetMapping("/getAssaySampleList") @GetMapping("/getAssaySampleList")
public CommonResult<?> getAssaySampleList(BusinessAssayTaskDataReqVO reqVO) { public CommonResult<?> getAssaySampleList(BusinessAssayTaskDataReqVO reqVO) {
if (reqVO.getAssayDepartmentId() == null) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
reqVO.setAssayDepartmentId(loginUser.getVisitDeptId());
}
List<UnAssignTaskedSubSampleRespVO> list = sampleTaskAssignService.getAssaySampleList(reqVO); List<UnAssignTaskedSubSampleRespVO> list = sampleTaskAssignService.getAssaySampleList(reqVO);
return success(list); return success(list);
} }

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
public class BusinessAssayTaskDataExternalInfomation implements Serializable {
private static final long serialVersionUID = 2740738762124170770L;
/** 是否退回 **/
private Integer isRollback;
/** 回退详情 **/
private List<RollbackDetail> rollbackDetailList;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class RollbackDetail {
/**
* 退回人ID
*/
private Long rollbackOperId;
/**
* 退回人
*/
private String rollbackOper;
/**
* 退回原因
*/
private String rollbackReason;
/**
* 退回时间 yyyy-MM-dd HH:mm:ss
*/
private String rollbackTime;
}
}

View File

@@ -88,6 +88,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "复测次数", example = "28081") @Schema(description = "复测次数", example = "28081")
private Integer retestCount; private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", example = "11435") @Schema(description = "乐观锁", example = "11435")
private Integer updateCount; private Integer updateCount;

View File

@@ -86,6 +86,9 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "复测次数", example = "28081") @Schema(description = "复测次数", example = "28081")
private Integer retestCount; private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", example = "11435") @Schema(description = "乐观锁", example = "11435")
private Integer updateCount; private Integer updateCount;

View File

@@ -111,6 +111,9 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("复测次数") @ExcelProperty("复测次数")
private Integer retestCount; private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435") @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435")
@ExcelProperty("乐观锁") @ExcelProperty("乐观锁")
private Integer updateCount; private Integer updateCount;

View File

@@ -96,6 +96,9 @@ public class BusinessAssayTaskDataSaveReqVO {
@Schema(description = "复测次数", example = "28081") @Schema(description = "复测次数", example = "28081")
private Integer retestCount; private Integer retestCount;
@Schema(description = "扩展信息")
private String externalInfomation;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435") @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "11435")
private Integer updateCount; private Integer updateCount;

View File

@@ -150,6 +150,11 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
@TableField("RTST_CNT") @TableField("RTST_CNT")
private Integer retestCount; private Integer retestCount;
/** /**
* 扩展信息
*/
@TableField("EXT_INF")
private String externalInfomation;
/**
* 乐观锁 * 乐观锁
*/ */
@TableField("UPD_CNT") @TableField("UPD_CNT")

View File

@@ -327,49 +327,54 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()));
List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) { for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) {
BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null);
Map<String, Object> map = new HashedMap<>(); Map<String, Object> map = new HashedMap<>();
map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId());
map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId());
map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId());
map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId());
map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId());
map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId()); map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId());
map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode()); map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode());
map.put("sampleName", businessAssayTaskDetailDO.getSampleName()); map.put("sampleName", businessAssayTaskDetailDO.getSampleName());
map.put("analysisType", "analysis"); map.put("analysisType", "analysis");
map.put("assayTime", businessAssayTaskJson.get("assayTime")); map.put("assayTime", businessAssayTaskJson.get("assayTime"));
map.put("taskDetailRemark", businessAssayTaskDetailDO.getRemark());
List<BusinessAssayProjectAndParameterRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId())); if (!"returned".equals(businessAssayTaskDetailDO.getRollbackStatus())) {
for (BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList) { BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataList.stream().filter(f -> businessAssayTaskDetailDO.getBusinessAssayTaskDataId().equals(f.getId())).findFirst().orElse(null);
map.put(businessAssayTaskParameterDataDO.getName(), businessAssayTaskParameterDataDO.getValue()); map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId());
} map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId());
map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId());
map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId());
map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId());
List<BusinessAssayProjectAndParameterRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId()));
for (BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList) {
map.put(businessAssayTaskParameterDataDO.getName(), businessAssayTaskParameterDataDO.getValue());
}
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO(); BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO();
projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2); List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) { for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
String ev = ep.getValue(); String ev = ep.getValue();
if (StringUtils.isNotBlank(ep.getSymbol()) && !"=".equals(ep.getSymbol())) { if (StringUtils.isNotBlank(ep.getSymbol()) && !"=".equals(ep.getSymbol())) {
ev = ep.getSymbol() + ev; ev = ep.getSymbol() + ev;
}
map.put(ep.getName(), ev);
if (StringUtils.isNotEmpty(ep.getFormula())) {
BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO();
parameterDataSearch.setBusinessAssayProjectDataId(ep.getId());
List<BusinessAssayProjectAndParameterRespVO> plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch);
for (BusinessAssayProjectAndParameterRespVO p : plist) {
String v = p.getValue();
if (StringUtils.isNotBlank(p.getSymbol()) && !"=".equals(p.getSymbol())) {
v = p.getSymbol() + v;
}
map.put(p.getName(), v);
} }
map.put(ep.getName(), ev);
if (StringUtils.isNotEmpty(ep.getFormula())) {
BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO();
parameterDataSearch.setBusinessAssayProjectDataId(ep.getId());
List<BusinessAssayProjectAndParameterRespVO> plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch);
for (BusinessAssayProjectAndParameterRespVO p : plist) {
String v = p.getValue();
if (StringUtils.isNotBlank(p.getSymbol()) && !"=".equals(p.getSymbol())) {
v = p.getSymbol() + v;
}
map.put(p.getName(), v);
}
}
} }
} }
datas.add(map); datas.add(map);
} }
@@ -451,54 +456,65 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDetailDO>().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()));
List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) { for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) {
BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); //BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null);
HashedMap<String, Object> map = new HashedMap<>(); HashedMap<String, Object> map = new HashedMap<>();
map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId());
map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId());
map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId());
map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId());
map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId());
map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId()); map.put("businessAssayTaskDetailId", businessAssayTaskDetailDO.getId());
map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode()); map.put("sampleCode", businessAssayTaskDetailDO.getSampleCode());
map.put("sampleName", businessAssayTaskDetailDO.getSampleName()); map.put("sampleName", businessAssayTaskDetailDO.getSampleName());
map.put("analysisType", "analysis"); map.put("analysisType", "analysis");
map.put("assayTime", businessAssayTaskJson.get("assayTime")); map.put("assayTime", businessAssayTaskJson.get("assayTime"));
map.put("taskDetailRemark", businessAssayTaskDetailDO.getRemark());
List<BusinessAssayProjectAndParameterRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId()));
for (BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList) { if (!"returned".equals(businessAssayTaskDetailDO.getRollbackStatus())) {
map.put(businessAssayTaskParameterDataDO.getName(), businessAssayTaskParameterDataDO.getValue()); BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataList.stream().filter(f -> businessAssayTaskDetailDO.getBusinessAssayTaskDataId().equals(f.getId())).findFirst().orElse(null);
map.put("businessAssayTaskDataId", businessAssayTaskDataDO.getId());
map.put("businessAssayTaskId", businessAssayTaskDataDO.getBusinessAssayTaskId());
map.put("businessSubSampleId", businessAssayTaskDataDO.getBusinessSubSampleId());
map.put("businessSubParentSampleId", businessAssayTaskDataDO.getBusinessSubParentSampleId());
map.put("configAssayMethodId", businessAssayTaskDataDO.getConfigAssayMethodId());
List<BusinessAssayProjectAndParameterRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectByBusinessAssayTaskDataIds(Arrays.asList(businessAssayTaskDataDO.getId()));
for (BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList) {
map.put(businessAssayTaskParameterDataDO.getName(), businessAssayTaskParameterDataDO.getValue());
}
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO();
projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
HashedMap<String, Object> newMap = SerializationUtils.clone(map);
String projectSymbol = "";
if (StringUtils.isNotBlank(ep.getSymbol()) && !"=".equals(ep.getSymbol())) {
projectSymbol = ep.getSymbol();
}
// newMap.put(ep.getName(), ep.getValue());
newMap.put("projectName", ep.getShowName());
newMap.put("projectValue", ep.getValue());
newMap.put("projectSymbol", projectSymbol);
newMap.put("projectUnit", ep.getUnit());
if (StringUtils.isNotEmpty(ep.getFormula())) {
BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO();
parameterDataSearch.setBusinessAssayProjectDataId(ep.getId());
List<BusinessAssayProjectAndParameterRespVO> plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch);
for (BusinessAssayProjectAndParameterRespVO p : plist) {
String v = p.getValue();
if (StringUtils.isNotBlank(p.getSymbol()) && !"=".equals(p.getSymbol())) {
v = p.getSymbol() + v;
}
newMap.put(p.getName(), v);
}
}
datas.add(newMap);
}
} else {
datas.add(map);
} }
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO();
projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
HashedMap<String, Object> newMap = SerializationUtils.clone(map);
String projectSymbol = "";
if (StringUtils.isNotBlank(ep.getSymbol()) && !"=".equals(ep.getSymbol())) {
projectSymbol = ep.getSymbol();
}
// newMap.put(ep.getName(), ep.getValue());
newMap.put("projectName", ep.getShowName());
newMap.put("projectValue", ep.getValue());
newMap.put("projectSymbol", projectSymbol);
newMap.put("projectUnit", ep.getUnit());
if (StringUtils.isNotEmpty(ep.getFormula())) {
BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO();
parameterDataSearch.setBusinessAssayProjectDataId(ep.getId());
List<BusinessAssayProjectAndParameterRespVO> plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch);
for (BusinessAssayProjectAndParameterRespVO p : plist) {
String v = p.getValue();
if (StringUtils.isNotBlank(p.getSymbol()) && !"=".equals(p.getSymbol())) {
v = p.getSymbol() + v;
}
newMap.put(p.getName(), v);
}
}
datas.add(newMap);
}
} }
List<BusinessQCManagementDataDO> businessQCManagementDataDOList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List<BusinessQCManagementDataDO> businessQCManagementDataDOList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId());

View File

@@ -21,8 +21,10 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.ServiceException;
import com.zt.plat.framework.common.util.date.DateUtils;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.BatchSampleAnalysisColumnRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.BatchSampleAnalysisColumnRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataExtendRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataExtendRespVO;
@@ -34,6 +36,8 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalys
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskBackSampleReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskBackSampleReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExtendRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExternalInfomation;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExternalInfomation.RollbackDetail;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCCoefficientParameterDataReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCCoefficientParameterDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCManagementParameterDataReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCManagementParameterDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCManagementProjectDataReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCManagementProjectDataReqVO;
@@ -96,6 +100,8 @@ import com.zt.plat.module.qms.enums.QmsCommonConstant;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@Service @Service
@@ -1317,14 +1323,56 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Override @Override
public void rollbackAnalysisSample(BusinessAssayTaskBackSampleReqVO req) { public void rollbackAnalysisSample(BusinessAssayTaskBackSampleReqVO req) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname();
List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectByIds(req.getIdList()); List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectByIds(req.getIdList());
for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) { for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) {
businessAssayTaskDetailDO.setRollbackStatus("returned"); businessAssayTaskDetailDO.setRollbackStatus("returned");
businessAssayTaskDetailDO.setRemark(req.getBackDesc()); businessAssayTaskDetailDO.setRemark(req.getBackDesc());
} }
List<Long> businessAssayTaskDataIdList = businessAssayTaskDetailList.stream().map(m -> m.getBusinessAssayTaskDataId()).collect(Collectors.toList());
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByIds(businessAssayTaskDataIdList);
for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) {
businessAssayTaskDataDO.setBusinessAssayTaskId(null);
businessAssayTaskDataDO.setAssayOperatorId(null);
businessAssayTaskDataDO.setAssayOperator(null);
businessAssayTaskDataDO.setAssignTaskTime(null);
businessAssayTaskDataDO.setIsAssignTasked(0);
BusinessAssayTaskDataExternalInfomation businessAssayTaskDataExternalInfomation = null;
String externalInfomation = businessAssayTaskDataDO.getExternalInfomation();
if (StringUtils.isNotBlank(externalInfomation)) {
businessAssayTaskDataExternalInfomation = JSON.parseObject(externalInfomation, BusinessAssayTaskDataExternalInfomation.class);
} else {
businessAssayTaskDataExternalInfomation = new BusinessAssayTaskDataExternalInfomation();
}
businessAssayTaskDataExternalInfomation.setIsRollback(QmsCommonConstant.YES);
List<RollbackDetail> rollbackDetailList = businessAssayTaskDataExternalInfomation.getRollbackDetailList();
if (CollUtil.isEmpty(businessAssayTaskDataDOList)) {
rollbackDetailList = new ArrayList<>();
}
//回退详情
RollbackDetail rollbackDetail = new RollbackDetail();
rollbackDetail.setRollbackOperId(loginUser.getId());
rollbackDetail.setRollbackOper(loginUserNickname);
rollbackDetail.setRollbackReason(req.getBackDesc());
rollbackDetail.setRollbackTime(DateUtil.formatLocalDateTime(LocalDateTime.now()));
rollbackDetailList.add(rollbackDetail);
businessAssayTaskDataExternalInfomation.setRollbackDetailList(rollbackDetailList);
businessAssayTaskDataDO.setExternalInfomation(JSON.toJSONString(businessAssayTaskDataExternalInfomation));
}
businessAssayTaskDetailMapper.updateBatch(businessAssayTaskDetailList); if (CollUtil.isNotEmpty(businessAssayTaskDetailList)) {
businessAssayTaskDetailMapper.updateBatch(businessAssayTaskDetailList);
}
if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) {
businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataDOList);
}
} }
@Override @Override