Commit b4a6fac3 by lijingjing

修复部分测试问题;

parent 1d59a215
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.plugins.Page; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.dto.SamplePrepareDTO; import com.patzn.cloud.service.hmhj.dto.SamplePrepareDTO;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare; import com.patzn.cloud.service.hmhj.entity.EntrustSamplePrepare;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
...@@ -30,4 +31,5 @@ public interface IEntrustSamplePrepareService extends IBaseService<EntrustSample ...@@ -30,4 +31,5 @@ public interface IEntrustSamplePrepareService extends IBaseService<EntrustSample
boolean addOrUpdateToSetStatus(Long[] sampleIds, EntrustSamplePrepareStatusEnum statusEnum); boolean addOrUpdateToSetStatus(Long[] sampleIds, EntrustSamplePrepareStatusEnum statusEnum);
boolean removeBySampleIds(Long[] sampleIds); boolean removeBySampleIds(Long[] sampleIds);
} }
...@@ -99,4 +99,7 @@ public interface IEntrustService extends IBaseService<Entrust> { ...@@ -99,4 +99,7 @@ public interface IEntrustService extends IBaseService<Entrust> {
Boolean saveOutEntrust(EntrustDTO dto, Account account); Boolean saveOutEntrust(EntrustDTO dto, Account account);
boolean isCanIntoNextNode(Entrust entrust);
boolean isCanIntoPrevNode(Entrust entrust);
} }
package com.patzn.cloud.service.lims.hmhj.service.impl; package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.baomidou.mybatisplus.mapper.Condition; import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.toolkit.ArrayUtils; import com.baomidou.mybatisplus.toolkit.ArrayUtils;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.commons.toolkit.FileUtils; import com.patzn.cloud.commons.toolkit.FileUtils;
import com.patzn.cloud.feign.base.client.SysUserClient; import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.oss.starter.OssClient; import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult; import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.base.entity.SysOrg;
import com.patzn.cloud.service.base.vo.SysOrgVO;
import com.patzn.cloud.service.base.vo.SysUserOrgVO; import com.patzn.cloud.service.base.vo.SysUserOrgVO;
import com.patzn.cloud.service.hmhj.entity.Entrust; import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.EntrustReport; import com.patzn.cloud.service.hmhj.entity.EntrustReport;
import com.patzn.cloud.service.hmhj.entity.EntrustReportRelSample; import com.patzn.cloud.service.hmhj.entity.EntrustReportRelSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.enums.*; import com.patzn.cloud.service.hmhj.enums.EntrustFlowEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustReportStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustReportVO; import com.patzn.cloud.service.hmhj.vo.EntrustReportVO;
import com.patzn.cloud.service.lims.hmhj.common.EntrustFlowUtils;
import com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil; import com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustReportMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustReportMapper;
import com.patzn.cloud.service.lims.hmhj.service.*; import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.File; import java.io.File;
...@@ -64,17 +63,12 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -64,17 +63,12 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Autowired @Autowired
private SysUserClient sysUserClient; private SysUserClient sysUserClient;
@Autowired
private IEntrustReportRecordService entrustReportRecordService;
@Value("${libreOffice.url}") @Value("${libreOffice.url}")
private String libreOfficeUrl; private String libreOfficeUrl;
@Override @Override
public Page<EntrustReport> page(Page<EntrustReport> page, EntrustReport entrustReport) { public Page<EntrustReport> page(Page<EntrustReport> page, EntrustReport entrustReport) {
Wrapper wrapper = new EntityWrapper<>(entrustReport); return this.page(page, new EntityWrapper<>(entrustReport));
return this.page(page, wrapper);
} }
@Override @Override
...@@ -84,7 +78,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -84,7 +78,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Override @Override
public Page<EntrustReport> pageStatus(Page<EntrustReport> page, List<EntrustReportStatusEnum> reportStatusList, EntrustReport entrustReport) { public Page<EntrustReport> pageStatus(Page<EntrustReport> page, List<EntrustReportStatusEnum> reportStatusList, EntrustReport entrustReport) {
Wrapper wrapper = new EntityWrapper<>(entrustReport); Wrapper<EntrustReport> wrapper = new EntityWrapper<>(entrustReport);
if (CollectionUtils.isNotEmpty(reportStatusList)) { if (CollectionUtils.isNotEmpty(reportStatusList)) {
wrapper.in("status", reportStatusList); wrapper.in("status", reportStatusList);
} }
...@@ -96,9 +90,9 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -96,9 +90,9 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
Wrapper wrapper = new EntityWrapper<>(entrustReportVO); Wrapper wrapper = new EntityWrapper<>(entrustReportVO);
List<SysUserOrgVO> userOrgVOList = sysUserClient.getUserOrg(Arrays.asList(account.getUserId())).serviceData(); List<SysUserOrgVO> userOrgVOList = sysUserClient.getUserOrg(Collections.singletonList(account.getUserId())).serviceData();
// 为空或者不包含质检中心的部门,需要根据当前用户查询对应的委托 // 为空或者不包含质检中心的部门,需要根据当前用户查询对应的委托
if (CollectionUtils.isEmpty(userOrgVOList) || userOrgVOList.stream().filter(t -> t.getOrgName().contains("质检中心")).count() == 0) { if (CollectionUtils.isEmpty(userOrgVOList) || userOrgVOList.stream().noneMatch(t -> t.getOrgName().contains("质检中心"))) {
wrapper.exists("select 1 from entrust e where e.deleted = 0 and e.id = entrust_id and e.uid = " + account.getUserId()); wrapper.exists("select 1 from entrust e where e.deleted = 0 and e.id = entrust_id and e.uid = " + account.getUserId());
} }
return this.page(page, wrapper); return this.page(page, wrapper);
...@@ -173,9 +167,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -173,9 +167,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) { if (CollectionUtils.isNotEmpty(relSamples)) {
List<Long> sampleIds = relSamples.stream().map(s -> { List<Long> sampleIds = relSamples.stream().map(EntrustReportRelSample::getSampleId).collect(Collectors.toList());
return s.getSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sampleIds)) { if (CollectionUtils.isNotEmpty(sampleIds)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
...@@ -189,14 +181,6 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -189,14 +181,6 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
executeSubmitOperation(getByReportId(ids[0]), EntrustFlowEnum.REPORT_MAKE, EntrustFlowEnum.REPORT_CHECK, account); executeSubmitOperation(getByReportId(ids[0]), EntrustFlowEnum.REPORT_MAKE, EntrustFlowEnum.REPORT_CHECK, account);
//转化PDF
executor1.execute(new Runnable() {
@Override
public void run() {
changeExcelReportToPdf(ids);
}
});
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -238,12 +222,8 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -238,12 +222,8 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
return entrustService.getById(report.getEntrustId()); return entrustService.getById(report.getEntrustId());
} }
private boolean isToStatusPath(Entrust entrust) { private void executeSubmitOperation(Entrust entrust, EntrustFlowEnum fromFlowStatus, EntrustFlowEnum toFlowStatus, Account account) {
return StringUtils.isNotBlank(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus()) ? true : false; if (entrustService.isCanIntoNextNode(entrust)) {
}
private boolean executeSubmitOperation(Entrust entrust, EntrustFlowEnum fromFlowStatus, EntrustFlowEnum toFlowStatus, Account account) {
if (isToStatusPath(entrust)) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else { } else {
String remark = (fromFlowStatus.getValue() < toFlowStatus.getValue() ? "提交至" : "驳回至") + toFlowStatus.getDisplay(); String remark = (fromFlowStatus.getValue() < toFlowStatus.getValue() ? "提交至" : "驳回至") + toFlowStatus.getDisplay();
...@@ -261,7 +241,6 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -261,7 +241,6 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
entrustRecordService.record(new Long[]{entrust.getId()}, fromFlowStatus.getDisplay(), toFlowStatus.getDisplay(), 0, account, remark); entrustRecordService.record(new Long[]{entrust.getId()}, fromFlowStatus.getDisplay(), toFlowStatus.getDisplay(), 0, account, remark);
} }
return true;
} }
...@@ -277,9 +256,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -277,9 +256,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) { if (CollectionUtils.isNotEmpty(relSamples)) {
List<Long> sampleIds = relSamples.stream().map(s -> { List<Long> sampleIds = relSamples.stream().map(EntrustReportRelSample::getSampleId).collect(Collectors.toList());
return s.getSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sampleIds)) { if (CollectionUtils.isNotEmpty(sampleIds)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
...@@ -296,12 +273,24 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -296,12 +273,24 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
private void judgeStatusPath(Entrust entrust, EntrustFlowEnum nextStatus) {
RestAssert.fail(null == entrust, "委托信息为空");
String statusPath = entrust.getStatusPath();
// 为空,或者路径中不包含当前流程状态
if (StringUtils.isBlank(statusPath) || !entrust.getStatusPath().contains(entrust.getFlowStatus())) {
return;
}
EntrustFlowEnum nextFlowStatus = EntrustFlowUtils.getNextFlowStatus(entrust.getFlowStatus(), statusPath);
// RestAssert.fail(null == nextFlowStatus,"状态路径配置的下一流程节点为空,无法进行下一步");
RestAssert.fail(null != nextFlowStatus && nextFlowStatus != nextStatus, String.format("状态路径配置的下一节点为【%s】,无法进行下一步",nextFlowStatus.getDisplay()));
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitFromAllowToSend(Long[] ids, Account account) { public boolean submitFromAllowToSend(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的报告"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的报告");
Entrust entrust = getByReportId(ids[0]);
judgeStatusPath(entrust, EntrustFlowEnum.REPORT_SEND);
EntrustReport report = new EntrustReport(); EntrustReport report = new EntrustReport();
report.setStatus(EntrustReportStatusEnum.SEND); report.setStatus(EntrustReportStatusEnum.SEND);
report.setProgress(EntrustReportStatusEnum.SEND); report.setProgress(EntrustReportStatusEnum.SEND);
...@@ -309,9 +298,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -309,9 +298,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) { if (CollectionUtils.isNotEmpty(relSamples)) {
List<Long> sampleIds = relSamples.stream().map(s -> { List<Long> sampleIds = relSamples.stream().map(EntrustReportRelSample::getSampleId).collect(Collectors.toList());
return s.getSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sampleIds)) { if (CollectionUtils.isNotEmpty(sampleIds)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
...@@ -323,11 +310,11 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -323,11 +310,11 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
Entrust entrust = getByReportId(ids[0]);
entrust.setTestTimeE(new Date()); entrust.setTestTimeE(new Date());
entrustService.updateById(entrust); entrustService.updateById(entrust);
executeSubmitOperation(entrust, EntrustFlowEnum.REPORT_ALLOW, EntrustFlowEnum.REPORT_SEND, account); executeSubmitOperation(entrust, EntrustFlowEnum.REPORT_ALLOW, EntrustFlowEnum.REPORT_SEND, account);
//转化PDF
executor1.execute(() -> changeExcelReportToPdf(ids));
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -336,7 +323,8 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -336,7 +323,8 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Override @Override
public boolean submitFromAllowToIssue(Long[] ids, Account account) { public boolean submitFromAllowToIssue(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的报告"); RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的报告");
Entrust entrust = getByReportId(ids[0]);
judgeStatusPath(entrust, EntrustFlowEnum.REPORT_ISSUE);
EntrustReport report = new EntrustReport(); EntrustReport report = new EntrustReport();
report.setStatus(EntrustReportStatusEnum.ISSUE); report.setStatus(EntrustReportStatusEnum.ISSUE);
report.setProgress(EntrustReportStatusEnum.ISSUE); report.setProgress(EntrustReportStatusEnum.ISSUE);
...@@ -344,9 +332,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -344,9 +332,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) { if (CollectionUtils.isNotEmpty(relSamples)) {
List<Long> sampleIds = relSamples.stream().map(s -> { List<Long> sampleIds = relSamples.stream().map(EntrustReportRelSample::getSampleId).collect(Collectors.toList());
return s.getSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sampleIds)) { if (CollectionUtils.isNotEmpty(sampleIds)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
...@@ -358,13 +344,13 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -358,13 +344,13 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
Entrust entrust = getByReportId(ids[0]);
// 报告批准,获取当前时间为检测结束时间 // 报告批准,获取当前时间为检测结束时间
entrust.setTestTimeE(new Date()); entrust.setTestTimeE(new Date());
entrustService.updateById(entrust); entrustService.updateById(entrust);
executeSubmitOperation(entrust, EntrustFlowEnum.REPORT_ALLOW, EntrustFlowEnum.REPORT_ISSUE, account); executeSubmitOperation(entrust, EntrustFlowEnum.REPORT_ALLOW, EntrustFlowEnum.REPORT_ISSUE, account);
//转化PDF
executor1.execute(() -> changeExcelReportToPdf(ids));
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -380,9 +366,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -380,9 +366,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) { if (CollectionUtils.isNotEmpty(relSamples)) {
List<Long> sampleIds = relSamples.stream().map(s -> { List<Long> sampleIds = relSamples.stream().map(EntrustReportRelSample::getSampleId).collect(Collectors.toList());
return s.getSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sampleIds)) { if (CollectionUtils.isNotEmpty(sampleIds)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
...@@ -411,9 +395,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -411,9 +395,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids)); List<EntrustReportRelSample> relSamples = entrustReportRelSampleService.list(Condition.create().in("report_id", ids));
if (CollectionUtils.isNotEmpty(relSamples)) { if (CollectionUtils.isNotEmpty(relSamples)) {
List<Long> sampleIds = relSamples.stream().map(s -> { List<Long> sampleIds = relSamples.stream().map(EntrustReportRelSample::getSampleId).collect(Collectors.toList());
return s.getSampleId();
}).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sampleIds)) { if (CollectionUtils.isNotEmpty(sampleIds)) {
EntrustSample sample = new EntrustSample(); EntrustSample sample = new EntrustSample();
...@@ -443,11 +425,11 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -443,11 +425,11 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
private void rejectEntrustInfo(Long[] reportIds, String reason, EntrustReportStatusEnum reportStatusEnum, Account account) { private void rejectEntrustInfo(Long[] reportIds, String reason, EntrustReportStatusEnum reportStatusEnum, Account account) {
List<EntrustReport> reports = baseMapper.selectBatchIds(Arrays.asList(reportIds)); List<EntrustReport> reports = baseMapper.selectBatchIds(Arrays.asList(reportIds));
Map<Long, EntrustReport> reportMap = reports.stream().collect(Collectors.toMap(t -> t.getEntrustId(), t -> t)); Map<Long, EntrustReport> reportMap = reports.stream().collect(Collectors.toMap(EntrustReport::getEntrustId, t -> t));
List<Long> entrustIds = reports.stream().map(t -> t.getEntrustId()).collect(Collectors.toList()); List<Long> entrustIds = reports.stream().map(EntrustReport::getEntrustId).collect(Collectors.toList());
List<Entrust> entrustList = entrustService.getBatchIds(entrustIds); List<Entrust> entrustList = entrustService.getBatchIds(entrustIds);
entrustList.stream().forEach(t -> { entrustList.forEach(t -> {
if (isToStatusPath(t)) { if (entrustService.isCanIntoPrevNode(t)) {
entrustService.rejectToPrevNode(t, reason, account); entrustService.rejectToPrevNode(t, reason, account);
} else { } else {
rejectByReportStatus(t, reportMap.get(t.getId()), reportStatusEnum, reason, account); rejectByReportStatus(t, reportMap.get(t.getId()), reportStatusEnum, reason, account);
...@@ -455,6 +437,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -455,6 +437,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
}); });
} }
/** /**
* 通过报告状态更改驳回的委托样品状态 * 通过报告状态更改驳回的委托样品状态
* *
......
...@@ -31,6 +31,7 @@ import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup; ...@@ -31,6 +31,7 @@ import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO; import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.lims.collection.entity.LmsOriginalRecordInfo; import com.patzn.cloud.service.lims.collection.entity.LmsOriginalRecordInfo;
import com.patzn.cloud.service.lims.common.CompareUtils; import com.patzn.cloud.service.lims.common.CompareUtils;
import com.patzn.cloud.service.lims.hmhj.common.EntrustFlowUtils;
import com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil; import com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil;
import com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil; import com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper;
...@@ -213,8 +214,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -213,8 +214,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
Entrust entrust = getEntrustByItemId(ids[0]); Entrust entrust = getEntrustByItemId(ids[0]);
if (null != entrust && isAllocatedByEntrustId(entrust.getId())) { if (null != entrust && isAllocatedByEntrustId(entrust.getId())) {
// 添加流程数据录入节点 // 添加流程数据录入节点
// entrust.setFlowStatus(EntrustFlowEnum.TEST.getName()); if (entrustService.isCanIntoNextNode(entrust)) {
if (StringUtils.isNotBlank(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus())) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else { } else {
entrustRecordService.record(new Long[]{entrust.getId()}, "任务分配", "数据录入", 0, account, "提交至数据录入"); entrustRecordService.record(new Long[]{entrust.getId()}, "任务分配", "数据录入", 0, account, "提交至数据录入");
...@@ -316,7 +316,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -316,7 +316,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
entrustSampleService.update(sample, Condition.create().eq("entrust_id", entrustId)); entrustSampleService.update(sample, Condition.create().eq("entrust_id", entrustId));
// 提交到下一节点,可能是不更改状态 // 提交到下一节点,可能是不更改状态
if (isConfigureStatusPath(entrust)) { if (entrustService.isCanIntoNextNode(entrust)) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
return true; return true;
} }
...@@ -1051,10 +1051,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -1051,10 +1051,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return baseMapper.selectUnallocatedCountByEntrustId(entrustId) == 0; return baseMapper.selectUnallocatedCountByEntrustId(entrustId) == 0;
} }
private boolean isConfigureStatusPath(Entrust entrust) {
return StringUtils.isNotBlank(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus());
}
@Override @Override
public Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup userRelGroup) { public Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup userRelGroup) {
......
...@@ -175,7 +175,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -175,7 +175,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
// 根据样品IDS更新样品编号 // 根据样品IDS更新样品编号
// 样品制备 -> 样品接收 相当于从二级编码 变为 三级编码 // 样品制备 -> 样品接收 相当于从二级编码 变为 三级编码
entrustSampleService.updateSampleCodeByIds(sampleIdsList,3); entrustSampleService.updateSampleCodeByIds(sampleIdsList, 3);
List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id", entrust.getId()).eq("status", EntrustSampleStatusEnum.DRAFT)); List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id", entrust.getId()).eq("status", EntrustSampleStatusEnum.DRAFT));
if (CollectionUtils.isEmpty(checkMakeList)) { if (CollectionUtils.isEmpty(checkMakeList)) {
...@@ -193,7 +193,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -193,7 +193,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
// updateEntrust.setId(entrust.getId()); // updateEntrust.setId(entrust.getId());
// entrustService.updateById(updateEntrust); // entrustService.updateById(updateEntrust);
// 根据流程状态提交 // 根据流程状态提交
if (StringUtils.isNotEmpty(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus())) { if (entrustService.isCanIntoNextNode(entrust)) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else { } else {
Entrust updateEntrust = new Entrust(); Entrust updateEntrust = new Entrust();
...@@ -205,11 +205,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -205,11 +205,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
entrustRecordService.record(new Long[]{entrust.getId()}, "样品制备", "样品接收", 0, account, "提交至样品接收"); entrustRecordService.record(new Long[]{entrust.getId()}, "样品制备", "样品接收", 0, account, "提交至样品接收");
} }
} }
return true; return true;
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitSampleReceive(Long[] ids, String receiveType, Account account) { public boolean submitSampleReceive(Long[] ids, String receiveType, Account account) {
...@@ -267,7 +266,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -267,7 +266,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
if (CollectionUtils.isEmpty(notOkSampleIds)) { if (CollectionUtils.isEmpty(notOkSampleIds)) {
// 检测开始时间为接收时间 // 检测开始时间为接收时间
entrust.setTestTimeS(new Date()); entrust.setTestTimeS(new Date());
if (StringUtils.isNotEmpty(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus())) { if (entrustService.isCanIntoNextNode(entrust)) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else { } else {
entrust.setFlowStatus(EntrustFlowEnum.TEST.getName()); entrust.setFlowStatus(EntrustFlowEnum.TEST.getName());
......
...@@ -953,7 +953,6 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -953,7 +953,6 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (StringUtils.isBlank(flowStatus) && entrust.getStatus() == EntrustStatusEnum.DRAFT) { if (StringUtils.isBlank(flowStatus) && entrust.getStatus() == EntrustStatusEnum.DRAFT) {
flowStatus = EntrustFlowEnum.DRAFT.getName(); flowStatus = EntrustFlowEnum.DRAFT.getName();
} }
RestAssert.fail(StringUtils.isBlank(flowStatus), String.format("编号为【%s】的委托,未配置流程状态信息!", entrust.getCode()));
EntrustFlowEnum nextFlowStatus = EntrustFlowUtils.getNextFlowStatus(flowStatus, statusPath); EntrustFlowEnum nextFlowStatus = EntrustFlowUtils.getNextFlowStatus(flowStatus, statusPath);
EntrustStatusEnum nextStatus = EntrustFlowUtils.getStatus(nextFlowStatus); EntrustStatusEnum nextStatus = EntrustFlowUtils.getStatus(nextFlowStatus);
RestAssert.fail(null == nextStatus, String.format("编号为【%s】的委托,未配置下一流程状态信息!", entrust.getCode())); RestAssert.fail(null == nextStatus, String.format("编号为【%s】的委托,未配置下一流程状态信息!", entrust.getCode()));
...@@ -1392,4 +1391,18 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -1392,4 +1391,18 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return files; return files;
} }
@Override
public boolean isCanIntoNextNode(Entrust entrust) {
// 路径不为空且当前流程状态不为空且存在下一步流程节点
String statusPath = entrust.getStatusPath(), flowStatus = entrust.getFlowStatus();
return org.apache.commons.lang3.StringUtils.isNotBlank(statusPath) && statusPath.contains(flowStatus) && null != EntrustFlowUtils.getNextFlowStatus(flowStatus, statusPath);
}
@Override
public boolean isCanIntoPrevNode(Entrust entrust) {
// 路径不为空且当前流程状态不为空且存在上一步流程节点
String statusPath = entrust.getStatusPath(), flowStatus = entrust.getFlowStatus();
return org.apache.commons.lang3.StringUtils.isNotBlank(statusPath) && statusPath.contains(flowStatus) && null != EntrustFlowUtils.getPrevFlowStatus(flowStatus, statusPath);
}
} }
...@@ -83,12 +83,14 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat ...@@ -83,12 +83,14 @@ public class OriginalTemplateServiceImpl extends BaseServiceImpl<OriginalTemplat
@Override @Override
public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) { public Page<OriginalTemplate> page(Page<OriginalTemplate> page, OriginalTemplate originalTemplate) {
String alias = originalTemplate.getAlias(); String name = originalTemplate.getName() , alias = originalTemplate.getAlias();
// 支持模糊搜索 // 支持模糊搜索
originalTemplate.setAlias(null); originalTemplate.setAlias(null);
originalTemplate.setName(null);
Wrapper wrapper = new EntityWrapper<>(originalTemplate); Wrapper wrapper = new EntityWrapper<>(originalTemplate);
wrapper.like("name", name);
wrapper.like("alias", alias); wrapper.like("alias", alias);
wrapper.orderBy("class_type").orderBy("alias"); wrapper.orderBy("class_type").orderBy("name").orderBy("alias");
return this.page(page, wrapper); return this.page(page, wrapper);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment