fix:物料验收检化验获取当前节点和下一个节点信息。
This commit is contained in:
@@ -66,4 +66,11 @@ public interface MaterialAssayStandardDetailService {
|
|||||||
*/
|
*/
|
||||||
PageResult<MaterialAssayStandardDetailDO> getMaterialAssayStandardDetailPage(MaterialAssayStandardDetailPageReqVO pageReqVO);
|
PageResult<MaterialAssayStandardDetailDO> getMaterialAssayStandardDetailPage(MaterialAssayStandardDetailPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得物料检测标准检测项目
|
||||||
|
*
|
||||||
|
* @param ids 编号数组
|
||||||
|
* @return 列表
|
||||||
|
*/
|
||||||
|
List<MaterialAssayStandardDetailRespVO> getListWithExtendByIds(List<Long> ids);
|
||||||
}
|
}
|
||||||
@@ -110,4 +110,9 @@ public class MaterialAssayStandardDetailServiceImpl implements MaterialAssayStan
|
|||||||
return materialAssayStandardDetailMapper.selectPage(pageReqVO);
|
return materialAssayStandardDetailMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MaterialAssayStandardDetailRespVO> getListWithExtendByIds(List<Long> ids) {
|
||||||
|
return materialAssayStandardDetailMapper.selectExtendByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@ import cn.hutool.json.JSONArray;
|
|||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -42,6 +43,9 @@ public class MaterialCorrelationAssayRespVO {
|
|||||||
@ExcelProperty("样品大类id,检化验业务样品大类")
|
@ExcelProperty("样品大类id,检化验业务样品大类")
|
||||||
private Long sampleId;
|
private Long sampleId;
|
||||||
|
|
||||||
|
@Schema(description = "样品编号")
|
||||||
|
private String sampleCode;
|
||||||
|
|
||||||
@Schema(description = "样品标签模板")
|
@Schema(description = "样品标签模板")
|
||||||
private String sampleLabelTemplate;
|
private String sampleLabelTemplate;
|
||||||
|
|
||||||
@@ -61,8 +65,13 @@ public class MaterialCorrelationAssayRespVO {
|
|||||||
@ExcelProperty("检测项列表")
|
@ExcelProperty("检测项列表")
|
||||||
private List<Long> items;
|
private List<Long> items;
|
||||||
|
|
||||||
|
@Schema(description = "检测项显示名称")
|
||||||
|
@ExcelProperty("检测项显示名称")
|
||||||
|
private String itemsShowName;
|
||||||
|
|
||||||
@Schema(description = "状态,未开始、进行中、已完成", example = "2")
|
@Schema(description = "状态,未开始、进行中、已完成", example = "2")
|
||||||
@ExcelProperty("状态,未开始、进行中、已完成")
|
@ExcelProperty("状态,未开始、进行中、已完成")
|
||||||
|
@Dict(dicCode = "material_assay_status")
|
||||||
private String assayStatus;
|
private String assayStatus;
|
||||||
|
|
||||||
@Schema(description = "结果,检化验结果")
|
@Schema(description = "结果,检化验结果")
|
||||||
|
|||||||
@@ -95,6 +95,9 @@ public class MaterialLifecycleRespVO {
|
|||||||
@Schema(description = "自定义json配置")
|
@Schema(description = "自定义json配置")
|
||||||
private String customConfig;
|
private String customConfig;
|
||||||
|
|
||||||
|
@Schema(description = "是否可进行检验结果判定,1-是,0-否")
|
||||||
|
private Integer assayResultAssessment;
|
||||||
|
|
||||||
@Schema(description = "所属部门")
|
@Schema(description = "所属部门")
|
||||||
@ExcelProperty("所属部门")
|
@ExcelProperty("所属部门")
|
||||||
private String systemDepartmentCode;
|
private String systemDepartmentCode;
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ public class MaterialUseRecordRespVO {
|
|||||||
@ExcelProperty("物料实例名称")
|
@ExcelProperty("物料实例名称")
|
||||||
private String infomationName;
|
private String infomationName;
|
||||||
|
|
||||||
|
@Schema(description = "规格")
|
||||||
|
private String specification;
|
||||||
|
|
||||||
@Schema(description = "型号")
|
@Schema(description = "型号")
|
||||||
@ExcelProperty("型号")
|
@ExcelProperty("型号")
|
||||||
private String modelNo;
|
private String modelNo;
|
||||||
|
|||||||
@@ -111,6 +111,11 @@ public class MaterialLifecycleDO extends BusinessBaseDO {
|
|||||||
*/
|
*/
|
||||||
@TableField("CST_CFG")
|
@TableField("CST_CFG")
|
||||||
private String customConfig;
|
private String customConfig;
|
||||||
|
/**
|
||||||
|
* 是否可进行检验结果判定,1-是,0-否
|
||||||
|
*/
|
||||||
|
@TableField("ASY_RSLT_ASMT")
|
||||||
|
private Integer assayResultAssessment;
|
||||||
/**
|
/**
|
||||||
* 事由/说明
|
* 事由/说明
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ public interface MaterialUseRecordMapper extends BaseMapperX<MaterialUseRecordDO
|
|||||||
.selectAll(MaterialUseRecordDO.class)
|
.selectAll(MaterialUseRecordDO.class)
|
||||||
.selectAs(MaterialInfomationDO::getCode, MaterialUseRecordRespVO::getInfomationCode)
|
.selectAs(MaterialInfomationDO::getCode, MaterialUseRecordRespVO::getInfomationCode)
|
||||||
.selectAs(MaterialProductDO::getName, MaterialUseRecordRespVO::getInfomationName)
|
.selectAs(MaterialProductDO::getName, MaterialUseRecordRespVO::getInfomationName)
|
||||||
|
.selectAs(MaterialProductDO::getSpecification, MaterialUseRecordRespVO::getSpecification)
|
||||||
.selectAs(MaterialProductDO::getModelNo, MaterialUseRecordRespVO::getModelNo)
|
.selectAs(MaterialProductDO::getModelNo, MaterialUseRecordRespVO::getModelNo)
|
||||||
.leftJoin(MaterialInfomationDO.class, MaterialInfomationDO::getId, MaterialUseRecordDO::getInfomationId)
|
.leftJoin(MaterialInfomationDO.class, MaterialInfomationDO::getId, MaterialUseRecordDO::getInfomationId)
|
||||||
.leftJoin(MaterialProductDO.class, MaterialProductDO::getId, MaterialInfomationDO::getProductId)
|
.leftJoin(MaterialProductDO.class, MaterialProductDO::getId, MaterialInfomationDO::getProductId)
|
||||||
|
|||||||
@@ -8,9 +8,7 @@ import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
|||||||
import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
|
import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
|
||||||
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
||||||
import com.zt.plat.module.bpm.api.task.dto.BpmTaskApproveReqDTO;
|
import com.zt.plat.module.bpm.api.task.dto.*;
|
||||||
import com.zt.plat.module.bpm.api.task.dto.BpmTaskPageReqDTO;
|
|
||||||
import com.zt.plat.module.bpm.api.task.dto.BpmTaskRespDTO;
|
|
||||||
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
||||||
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialCorrelationAssayDO;
|
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialCorrelationAssayDO;
|
||||||
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialLifecycleDO;
|
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialLifecycleDO;
|
||||||
@@ -103,6 +101,19 @@ public class MaterialAssayResultListener implements RocketMQListener<Object> {
|
|||||||
LoginUser loginUser = new LoginUser().setId(assigneeUserId)
|
LoginUser loginUser = new LoginUser().setId(assigneeUserId)
|
||||||
.setExpiresTime(LocalDateTime.now().plusMinutes(10));
|
.setExpiresTime(LocalDateTime.now().plusMinutes(10));
|
||||||
SecurityFrameworkUtils.setLoginUser(loginUser, request);
|
SecurityFrameworkUtils.setLoginUser(loginUser, request);
|
||||||
|
// 获取这个流程
|
||||||
|
CommonResult<BpmProcessInstanceRespDTO> processInstanceRes = bpmProcessInstanceApi.getProcessInstance(flowId);
|
||||||
|
BpmProcessInstanceRespDTO instance = processInstanceRes.getData();
|
||||||
|
log.info("流程实例:{}", instance);
|
||||||
|
// 获取下一个流程节点 2008359763063820290L 2038786007172124673L
|
||||||
|
CommonResult<List<BpmApprovalDetailRespDTO.ActivityNode>> nextApprovalNodes =
|
||||||
|
bpmProcessInstanceApi.getNextApprovalNodes(curTask.getAssignee(),
|
||||||
|
new BpmApprovalDetailReqDTO().setProcessDefinitionId(instance.getProcessDefinitionId())
|
||||||
|
.setProcessInstanceId(instance.getId())
|
||||||
|
.setTaskId(curTask.getId()));
|
||||||
|
log.info("下一个流程节点:{}", nextApprovalNodes.getData());
|
||||||
|
if (true) return;
|
||||||
|
List<BpmApprovalDetailRespDTO.ActivityNode> nextNodes = nextApprovalNodes.getData();
|
||||||
BpmTaskApproveReqDTO reqDTO = new BpmTaskApproveReqDTO().setId(curTask.getId()).setReason("已全部出检化验结果");
|
BpmTaskApproveReqDTO reqDTO = new BpmTaskApproveReqDTO().setId(curTask.getId()).setReason("已全部出检化验结果");
|
||||||
CommonResult<Boolean> result = bpmProcessInstanceApi.approveTask(reqDTO);
|
CommonResult<Boolean> result = bpmProcessInstanceApi.approveTask(reqDTO);
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||||||
import com.zt.plat.framework.common.exception.ServiceException;
|
import com.zt.plat.framework.common.exception.ServiceException;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
|
import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO;
|
||||||
|
import com.zt.plat.module.qms.business.config.service.MaterialAssayStandardDetailService;
|
||||||
|
import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO;
|
||||||
|
import com.zt.plat.module.qms.business.dic.service.DictionaryProjectService;
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialCorrelationAssayRespVO;
|
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialCorrelationAssayRespVO;
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialLifecycleDetailPageReqVO;
|
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialLifecycleDetailPageReqVO;
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialLifecycleDetailRespVO;
|
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialLifecycleDetailRespVO;
|
||||||
@@ -15,6 +19,7 @@ import com.zt.plat.module.qms.resource.material.dal.dataobject.*;
|
|||||||
import com.zt.plat.module.qms.resource.material.dal.mapper.MaterialLifecycleDetailMapper;
|
import com.zt.plat.module.qms.resource.material.dal.mapper.MaterialLifecycleDetailMapper;
|
||||||
import com.zt.plat.module.qms.resource.material.enums.MaterialFlowType;
|
import com.zt.plat.module.qms.resource.material.enums.MaterialFlowType;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -34,6 +39,7 @@ import static com.zt.plat.module.qms.enums.ErrorCodeConstants.MATERIAL_LIFECYCLE
|
|||||||
*
|
*
|
||||||
* @author 后台管理
|
* @author 后台管理
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@Validated
|
@Validated
|
||||||
public class MaterialLifecycleDetailServiceImpl implements MaterialLifecycleDetailService {
|
public class MaterialLifecycleDetailServiceImpl implements MaterialLifecycleDetailService {
|
||||||
@@ -46,6 +52,8 @@ public class MaterialLifecycleDetailServiceImpl implements MaterialLifecycleDeta
|
|||||||
private MaterialProductService materialProductService;
|
private MaterialProductService materialProductService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MaterialCorrelationAssayService materialCorrelationAssayService;
|
private MaterialCorrelationAssayService materialCorrelationAssayService;
|
||||||
|
@Autowired
|
||||||
|
private MaterialAssayStandardDetailService materialAssayStandardDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MaterialLifecycleDetailRespVO createMaterialLifecycleDetail(MaterialLifecycleDetailSaveReqVO createReqVO) {
|
public MaterialLifecycleDetailRespVO createMaterialLifecycleDetail(MaterialLifecycleDetailSaveReqVO createReqVO) {
|
||||||
@@ -146,6 +154,21 @@ public class MaterialLifecycleDetailServiceImpl implements MaterialLifecycleDeta
|
|||||||
List<Long> asyIds = assayDetails.stream().map(MaterialLifecycleDetailRespVO::getAssayId).toList();
|
List<Long> asyIds = assayDetails.stream().map(MaterialLifecycleDetailRespVO::getAssayId).toList();
|
||||||
List<MaterialCorrelationAssayRespVO> assayRespVOS = materialCorrelationAssayService.getRespListByIds(asyIds);
|
List<MaterialCorrelationAssayRespVO> assayRespVOS = materialCorrelationAssayService.getRespListByIds(asyIds);
|
||||||
if (CollUtil.isEmpty(assayRespVOS)) return details;
|
if (CollUtil.isEmpty(assayRespVOS)) return details;
|
||||||
|
// 获取检测项显示名称
|
||||||
|
List<Long> allItemIds = assayRespVOS.stream().map(MaterialCorrelationAssayRespVO::getItems)
|
||||||
|
.flatMap(Collection::stream).toList();
|
||||||
|
if (CollUtil.isEmpty(allItemIds)) return details;
|
||||||
|
List<MaterialAssayStandardDetailRespVO> allItems = materialAssayStandardDetailService.getListWithExtendByIds(allItemIds);
|
||||||
|
assert CollUtil.isNotEmpty(allItems);
|
||||||
|
Map<Long, MaterialAssayStandardDetailRespVO> itemMapById = allItems.stream().collect(Collectors.toMap(MaterialAssayStandardDetailRespVO::getId, Function.identity()));
|
||||||
|
assayRespVOS.forEach(asy -> {
|
||||||
|
List<String> showNames = asy.getItems().stream()
|
||||||
|
.map(itemMapById::get)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(MaterialAssayStandardDetailRespVO::getDictionaryProjectShowName)
|
||||||
|
.toList();
|
||||||
|
asy.setItemsShowName(String.join(",", showNames));
|
||||||
|
});
|
||||||
Map<Long, MaterialCorrelationAssayRespVO> assayRespVOMapById = assayRespVOS.stream().collect(Collectors.toMap(MaterialCorrelationAssayRespVO::getId, Function.identity()));
|
Map<Long, MaterialCorrelationAssayRespVO> assayRespVOMapById = assayRespVOS.stream().collect(Collectors.toMap(MaterialCorrelationAssayRespVO::getId, Function.identity()));
|
||||||
details.forEach(detail -> {
|
details.forEach(detail -> {
|
||||||
MaterialCorrelationAssayRespVO assayRespVO = assayRespVOMapById.get(detail.getAssayId());
|
MaterialCorrelationAssayRespVO assayRespVO = assayRespVOMapById.get(detail.getAssayId());
|
||||||
|
|||||||
@@ -354,7 +354,9 @@ public class MaterialLifecycleServiceImpl implements MaterialLifecycleService ,
|
|||||||
.setBatchId(detail.getBatchId())
|
.setBatchId(detail.getBatchId())
|
||||||
.setGongduanId(detail.getBatchGongduanId())
|
.setGongduanId(detail.getBatchGongduanId())
|
||||||
// 样品大类
|
// 样品大类
|
||||||
.setSampleId(assayInfo != null ? assayInfo.getSampleId() : null)
|
.setSampleId(assayInfo != null && assayInfo.getSampleId() != null
|
||||||
|
? assayInfo.getSampleId()
|
||||||
|
: Long.parseLong(StrUtil.isNotBlank(product.getSampleIds()) ? product.getSampleIds() : "0"))
|
||||||
.setSampleName(product.getName())
|
.setSampleName(product.getName())
|
||||||
.setSampleCode(sequenceUtil.genCode(MaterialConstants.SEQUENCE_ASSAY_ACCEPT_SAMPLE_KEY))
|
.setSampleCode(sequenceUtil.genCode(MaterialConstants.SEQUENCE_ASSAY_ACCEPT_SAMPLE_KEY))
|
||||||
// 检测项
|
// 检测项
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user