Commit 95585259 by lijingjing

添加委托流程日志;

parent aeb546d1
...@@ -20,11 +20,8 @@ import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum; ...@@ -20,11 +20,8 @@ import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
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.IEntrustReportRelSampleService; import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustReportService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleService;
import com.patzn.cloud.service.lims.hmhj.service.IEntrustService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A; import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -37,10 +34,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -37,10 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -62,6 +56,8 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -62,6 +56,8 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Autowired @Autowired
private IEntrustService entrustService; private IEntrustService entrustService;
@Autowired @Autowired
private IEntrustRecordService entrustRecordService;
@Autowired
private Executor executor1; private Executor executor1;
@Value("${libreOffice.url}") @Value("${libreOffice.url}")
...@@ -150,7 +146,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -150,7 +146,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
executeSubmitOperation(getByReportId(ids[0]), account); executeSubmitOperation(getByReportId(ids[0]), EntrustFlowEnum.REPORT_MAKE, EntrustFlowEnum.REPORT_CHECK, account);
//转化PDF //转化PDF
...@@ -164,19 +160,19 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -164,19 +160,19 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
private void changeExcelReportToPdf(Long[] ids) { private void changeExcelReportToPdf(Long[] ids) {
List<EntrustReport> reportList = list(Condition.create().in("id",ids).isNotNull("object_key")); List<EntrustReport> reportList = list(Condition.create().in("id", ids).isNotNull("object_key"));
if (CollectionUtils.isEmpty(reportList)){ if (CollectionUtils.isEmpty(reportList)) {
return; return;
} }
List<File> deleteFileList = new ArrayList<>(); List<File> deleteFileList = new ArrayList<>();
List<EntrustReport> updateReportList = new ArrayList<>(); List<EntrustReport> updateReportList = new ArrayList<>();
for (EntrustReport report : reportList) { for (EntrustReport report : reportList) {
InputStream io= ossClient.download(report.getObjectKey()); InputStream io = ossClient.download(report.getObjectKey());
if (null == io) if (null == io)
continue; continue;
File file = LabreOfficeUtil.inputStream2File(io); File file = LabreOfficeUtil.inputStream2File(io);
File filePdf =LabreOfficeUtil.convertOffice2PDF(libreOfficeUrl,file); File filePdf = LabreOfficeUtil.convertOffice2PDF(libreOfficeUrl, file);
deleteFileList.add(file); deleteFileList.add(file);
deleteFileList.add(filePdf); deleteFileList.add(filePdf);
...@@ -186,7 +182,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -186,7 +182,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
u.setId(report.getId()); u.setId(report.getId());
updateReportList.add(u); updateReportList.add(u);
} }
if (CollectionUtils.isNotEmpty(updateReportList)){ if (CollectionUtils.isNotEmpty(updateReportList)) {
updateBatchById(updateReportList); updateBatchById(updateReportList);
} }
FileUtils.deleteFiles(deleteFileList); FileUtils.deleteFiles(deleteFileList);
...@@ -201,12 +197,17 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -201,12 +197,17 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
return entrustService.getById(report.getEntrustId()); return entrustService.getById(report.getEntrustId());
} }
private boolean executeSubmitOperation(Entrust entrust, Account account) { private boolean isToStatusPath(Entrust entrust) {
if (StringUtils.isBlank(entrust.getStatusPath())) { return StringUtils.isNotBlank(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus()) ? true : false;
logger.error("委托为空,或者委托路径为空不进行下一步操作");
return false;
} }
private boolean executeSubmitOperation(Entrust entrust, EntrustFlowEnum fromFlowStatus, EntrustFlowEnum toFlowStatus, Account account) {
if (isToStatusPath(entrust)) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else {
String remark = (fromFlowStatus.getValue() < toFlowStatus.getValue() ? "提交至" : "驳回至") + toFlowStatus.getDisplay();
entrustRecordService.record(new Long[]{entrust.getId()}, fromFlowStatus.getDisplay(), toFlowStatus.getDisplay(), 0, account, remark);
}
return true; return true;
} }
...@@ -237,7 +238,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -237,7 +238,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
executeSubmitOperation(getByReportId(ids[0]), account); executeSubmitOperation(getByReportId(ids[0]), EntrustFlowEnum.REPORT_CHECK, EntrustFlowEnum.REPORT_ALLOW, account);
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -272,7 +273,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -272,7 +273,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
Entrust entrust = getByReportId(ids[0]); Entrust entrust = getByReportId(ids[0]);
entrust.setTestTimeE(new Date()); entrust.setTestTimeE(new Date());
entrustService.updateById(entrust); entrustService.updateById(entrust);
executeSubmitOperation(entrust, account); executeSubmitOperation(entrust, EntrustFlowEnum.REPORT_ALLOW, EntrustFlowEnum.REPORT_SEND, account);
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -309,7 +310,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -309,7 +310,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
entrust.setTestTimeE(new Date()); entrust.setTestTimeE(new Date());
entrustService.updateById(entrust); entrustService.updateById(entrust);
executeSubmitOperation(entrust, account); executeSubmitOperation(entrust, EntrustFlowEnum.REPORT_ALLOW, EntrustFlowEnum.REPORT_ISSUE, account);
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -340,7 +341,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -340,7 +341,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
executeSubmitOperation(getByReportId(ids[0]), account); executeSubmitOperation(getByReportId(ids[0]), EntrustFlowEnum.REPORT_SEND, EntrustFlowEnum.QUALITY_JUDGE, account);
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -371,7 +372,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -371,7 +372,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
} }
// 存在的状态路径时,方可进入处理操作 // 存在的状态路径时,方可进入处理操作
executeSubmitOperation(getByReportId(ids[0]), account); executeSubmitOperation(getByReportId(ids[0]), EntrustFlowEnum.REPORT_ISSUE, EntrustFlowEnum.QUALITY_JUDGE, account);
return super.update(report, Condition.create().in("id", ids)); return super.update(report, Condition.create().in("id", ids));
} }
...@@ -389,13 +390,14 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -389,13 +390,14 @@ 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));
List<Long> entrustIds = reports.stream().map(t -> t.getEntrustId()).collect(Collectors.toList()); List<Long> entrustIds = reports.stream().map(t -> t.getEntrustId()).collect(Collectors.toList());
List<Entrust> entrustList = entrustService.getBatchIds(entrustIds); List<Entrust> entrustList = entrustService.getBatchIds(entrustIds);
entrustList.stream().forEach(t -> { entrustList.stream().forEach(t -> {
if (StringUtils.isNotBlank(t.getStatusPath())) { if (isToStatusPath(t)) {
entrustService.rejectToPrevNode(t, reason, account); entrustService.rejectToPrevNode(t, reason, account);
} else { } else {
rejectByReportStatus(t, reportStatusEnum, account); rejectByReportStatus(t, reportMap.get(t.getId()), reportStatusEnum, account);
} }
}); });
} }
...@@ -407,7 +409,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -407,7 +409,7 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
* @param reportStatus * @param reportStatus
* @param account * @param account
*/ */
private void rejectByReportStatus(Entrust entrust, EntrustReportStatusEnum reportStatus, Account account) { private void rejectByReportStatus(Entrust entrust, EntrustReport entrustReport, EntrustReportStatusEnum reportStatus, Account account) {
EntrustSample entrustSample = new EntrustSample(); EntrustSample entrustSample = new EntrustSample();
EntrustSampleStatusEnum sampleStatusEnum = null; EntrustSampleStatusEnum sampleStatusEnum = null;
...@@ -427,6 +429,9 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -427,6 +429,9 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
entrustSample.setStatus(sampleStatusEnum); entrustSample.setStatus(sampleStatusEnum);
entrustSample.setProgress(sampleStatusEnum); entrustSample.setProgress(sampleStatusEnum);
entrustSampleService.update(entrustSample, Condition.create().eq("entrust_id", entrust.getId())); entrustSampleService.update(entrustSample, Condition.create().eq("entrust_id", entrust.getId()));
if (null != entrustReport) {
entrustRecordService.record(new Long[]{entrust.getId()}, entrustReport.getStatus().getDisplay(), sampleStatusEnum.getDisplay(), 2, account, "退回至" + sampleStatusEnum.getDisplay());
}
} }
} }
......
...@@ -13,6 +13,7 @@ import com.patzn.cloud.oss.starter.OssClient; ...@@ -13,6 +13,7 @@ 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.hmhj.dto.QueryDTO; import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import com.patzn.cloud.service.hmhj.entity.*; import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.enums.EntrustFlowEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum;
...@@ -86,7 +87,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -86,7 +87,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
private IItemDeviateService itemDeviateService; private IItemDeviateService itemDeviateService;
@Autowired @Autowired
private IItemRelOriginalRecordService itemRelOriginalRecordService; private IItemRelOriginalRecordService itemRelOriginalRecordService;
...@@ -118,8 +118,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -118,8 +118,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
String name = entrustSampleItem.getName(); String name = entrustSampleItem.getName();
entrustSampleItem.setName(null); entrustSampleItem.setName(null);
Wrapper wrapper = new EntityWrapper<>(entrustSampleItem); Wrapper wrapper = new EntityWrapper<>(entrustSampleItem);
if(StringUtils.isNotBlank(name)){ if (StringUtils.isNotBlank(name)) {
wrapper.like("name",name); wrapper.like("name", name);
} }
return this.page(page, wrapper); return this.page(page, wrapper);
} }
...@@ -162,22 +162,28 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -162,22 +162,28 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 判定是否委托下的检测项目都已分配 // 判定是否委托下的检测项目都已分配
Entrust entrust = getEntrustByItemId(ids[0]); Entrust entrust = getEntrustByItemId(ids[0]);
if(null != entrust && isAllocatedByEntrustId(entrust.getId()) && StringUtils.isNotBlank(entrust.getStatusPath())){ if (null != entrust && isAllocatedByEntrustId(entrust.getId())) {
entrustService.submitToNextNode(entrust,account); // 添加流程数据录入节点
entrust.setFlowStatus(EntrustFlowEnum.TEST.getName());
if (StringUtils.isNotBlank(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus())) {
entrustService.submitToNextNode(entrust, account);
} else {
entrustRecordService.record(new Long[]{entrust.getId()}, "任务分配", "数据录入", 0, account, "提交至数据录入");
}
} }
return true; return true;
} }
private Entrust getEntrustByItemId(Long itemId){ private Entrust getEntrustByItemId(Long itemId) {
if(null == itemId){ if (null == itemId) {
return null; return null;
} }
EntrustSampleItem entrustSampleItem = baseMapper.selectById(itemId); EntrustSampleItem entrustSampleItem = baseMapper.selectById(itemId);
if(null == entrustSampleItem){ if (null == entrustSampleItem) {
return null; return null;
} }
EntrustSample entrustSample = entrustSampleService.getById(entrustSampleItem.getEntrustSampleId()); EntrustSample entrustSample = entrustSampleService.getById(entrustSampleItem.getEntrustSampleId());
if(null == entrustSample || null == entrustSample.getEntrustId()){ if (null == entrustSample || null == entrustSample.getEntrustId()) {
return null; return null;
} }
return entrustService.getById(entrustSample.getEntrustId()); return entrustService.getById(entrustSample.getEntrustId());
...@@ -265,23 +271,23 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -265,23 +271,23 @@ 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 (isConfigureStatusPath(entrust)) {
entrustService.submitToNextNode(entrust,account); entrustService.submitToNextNode(entrust, account);
return true; return true;
} }
// 样品操作日志 // 样品操作日志
// 暂时不提供 // 暂时不提供
// 修改委托信息 // 修改委托信息
entrust.setLid(account.getUserId()).setLtime(new Date()).setProgress(EntrustStatusEnum.TEST).setStatus(EntrustStatusEnum.TEST); entrust.setLid(account.getUserId()).setLtime(new Date()).setFlowStatus(EntrustFlowEnum.REPORT_MAKE.getName()).setProgress(EntrustStatusEnum.TEST).setStatus(EntrustStatusEnum.TEST);
entrustService.updateById(entrust); entrustService.updateById(entrust);
// 添加委托日志 // 添加委托日志
entrustRecordService.record(new Long[]{entrustId}, EntrustStatusEnum.TEST.getDisplay(), EntrustStatusEnum.TEST.getDisplay(), 0, account, "提交至报告编制"); entrustRecordService.record(new Long[]{entrustId}, "数据录入", "报告编制", 0, account, "提交至报告编制");
//执行转PDF操作 //执行转PDF操作
executor1.execute(new Runnable() { executor1.execute(new Runnable() {
@Override @Override
public void run() { public void run() {
changeExcelToPdf(ids,list); changeExcelToPdf(ids, list);
} }
}); });
...@@ -289,15 +295,15 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -289,15 +295,15 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
public void changeExcelToPdf(Long[] ids,List<EntrustSampleItem> list){ public void changeExcelToPdf(Long[] ids, List<EntrustSampleItem> list) {
List<ItemRelOriginalRecord> recordList = itemRelOriginalRecordService.list(Condition.create().setSqlSelect("record_id").in("item_id",ids).isNotNull("record_id").groupBy("record_id")); List<ItemRelOriginalRecord> recordList = itemRelOriginalRecordService.list(Condition.create().setSqlSelect("record_id").in("item_id", ids).isNotNull("record_id").groupBy("record_id"));
if (CollectionUtils.isEmpty(recordList)) if (CollectionUtils.isEmpty(recordList))
return; return;
List<Long> recordsList= recordList.stream().map(r->{ List<Long> recordsList = recordList.stream().map(r -> {
return r.getRecordId(); return r.getRecordId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<OriginalRecord> originalRecordList = originalRecordService.list(Condition.create().in("id",recordList).isNull("pdf_object_key")); List<OriginalRecord> originalRecordList = originalRecordService.list(Condition.create().in("id", recordList).isNull("pdf_object_key"));
if (CollectionUtils.isEmpty(originalRecordList)) if (CollectionUtils.isEmpty(originalRecordList))
return; return;
...@@ -312,7 +318,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -312,7 +318,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
for (OriginalRecord record : originalRecordList) { for (OriginalRecord record : originalRecordList) {
InputStream io = ossClient.download(record.getObjectKey()); InputStream io = ossClient.download(record.getObjectKey());
File file = LabreOfficeUtil.inputStream2File(io); File file = LabreOfficeUtil.inputStream2File(io);
File filePdf= LabreOfficeUtil.convertOffice2PDF(libreOfficeUrl,file); File filePdf = LabreOfficeUtil.convertOffice2PDF(libreOfficeUrl, file);
OssFileResult fileResult = ossClient.upload(filePdf); OssFileResult fileResult = ossClient.upload(filePdf);
...@@ -323,7 +329,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -323,7 +329,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
deleteFileList.add(file); deleteFileList.add(file);
deleteFileList.add(filePdf); deleteFileList.add(filePdf);
} }
if (CollectionUtils.isNotEmpty(updateList)){ if (CollectionUtils.isNotEmpty(updateList)) {
originalRecordService.updateBatchById(updateList); originalRecordService.updateBatchById(updateList);
} }
FileUtils.deleteFiles(deleteFileList); FileUtils.deleteFiles(deleteFileList);
...@@ -331,8 +337,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -331,8 +337,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean submitCheck(Long[] ids, Account account) { public boolean submitCheck(Long[] ids, Account account) {
...@@ -477,7 +481,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -477,7 +481,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
Map<String, String> mapReplace = new HashMap<>(); Map<String, String> mapReplace = new HashMap<>();
mapReplace.put("#{nowDate}", DateUtils.toYearMonthDay(new Date())); mapReplace.put("#{nowDate}", DateUtils.toYearMonthDay(new Date()));
mapReplace.put("#{sampleNum}", entrustSampleService.countByEntrustId(entrust.getId())+""); mapReplace.put("#{sampleNum}", entrustSampleService.countByEntrustId(entrust.getId()) + "");
if (null != template.getMoreItem() && 1 == template.getMoreItem()) { if (null != template.getMoreItem() && 1 == template.getMoreItem()) {
Set<Long> sampleIdsList = new HashSet<>(); Set<Long> sampleIdsList = new HashSet<>();
...@@ -485,9 +489,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -485,9 +489,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
sampleIdsList.add(itemVO.getEntrustSampleId()); sampleIdsList.add(itemVO.getEntrustSampleId());
} }
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().in("id", sampleIdsList)); List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().in("id", sampleIdsList));
if (CollectionUtils.isNotEmpty(sampleList)){ if (CollectionUtils.isNotEmpty(sampleList)) {
mapReplace.put("#{sampleFrom}",sampleList.get(0).getSampleFrom()); mapReplace.put("#{sampleFrom}", sampleList.get(0).getSampleFrom());
mapReplace.put("#{sampleName}",sampleList.get(0).getName()); mapReplace.put("#{sampleName}", sampleList.get(0).getName());
} }
List<EntrustSampleVO> sampleVOList = new ArrayList<>(sampleList.size()); List<EntrustSampleVO> sampleVOList = new ArrayList<>(sampleList.size());
...@@ -512,9 +516,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -512,9 +516,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} else { } else {
if (CollectionUtils.isNotEmpty(voList)){ if (CollectionUtils.isNotEmpty(voList)) {
mapReplace.put("#{sampleFrom}",voList.get(0).getSampleFrom()); mapReplace.put("#{sampleFrom}", voList.get(0).getSampleFrom());
mapReplace.put("#{sampleName}",voList.get(0).getSampleName()); mapReplace.put("#{sampleName}", voList.get(0).getSampleName());
} }
OriginalFactory factory = new OriginalFactory(template, voList, entrust, configList, xssfWorkbook); OriginalFactory factory = new OriginalFactory(template, voList, entrust, configList, xssfWorkbook);
...@@ -525,8 +529,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -525,8 +529,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
HSSFWorkbookUtil.replaceModel(mapReplace, xssfWorkbook, 0);
HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,0);
FileOutputStream os = null; FileOutputStream os = null;
File file = null; File file = null;
...@@ -812,15 +815,15 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -812,15 +815,15 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
@Override @Override
public boolean isAllocatedByEntrustId(Long entrustId){ public boolean isAllocatedByEntrustId(Long entrustId) {
if(null == entrustId || 0l== entrustId.longValue()){ if (null == entrustId || 0l == entrustId.longValue()) {
return false; return false;
} }
return baseMapper.selectUnallocatedCountByEntrustId(entrustId) == 0; return baseMapper.selectUnallocatedCountByEntrustId(entrustId) == 0;
} }
private boolean isConfigureStatusPath(Entrust entrust){ private boolean isConfigureStatusPath(Entrust entrust) {
return StringUtils.isBlank(entrust.getStatusPath()) ? false : true; return StringUtils.isNotBlank(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus()) ? true : false;
} }
@Override @Override
...@@ -828,17 +831,17 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -828,17 +831,17 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
Page<LmsUserRelGroup> relGroupPage = lmsUserRelGroupClient.getPageUser(userRelGroup).serviceData(); Page<LmsUserRelGroup> relGroupPage = lmsUserRelGroupClient.getPageUser(userRelGroup).serviceData();
List<LmsUserRelGroup> groupList = relGroupPage.getRecords(); List<LmsUserRelGroup> groupList = relGroupPage.getRecords();
if (CollectionUtils.isEmpty(groupList)){ if (CollectionUtils.isEmpty(groupList)) {
return page; return page;
} }
List<Long> userIdsList = groupList.stream().map(r->{ List<Long> userIdsList = groupList.stream().map(r -> {
return r.getUserId(); return r.getUserId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
/* 检测中的所有项目 */ /* 检测中的所有项目 */
List<EntrustSampleItem> experimentList = super.list(Condition.create().in("tester_id",userIdsList).eq("status",EntrustSampleItemStatusEnum.TEST)); List<EntrustSampleItem> experimentList = super.list(Condition.create().in("tester_id", userIdsList).eq("status", EntrustSampleItemStatusEnum.TEST));
/* 未检测 -- 还未填写原始记录 */ /* 未检测 -- 还未填写原始记录 */
List<EntrustSampleItem> notTestingItems = experimentList.stream(). List<EntrustSampleItem> notTestingItems = experimentList.stream().
filter(item -> isNotTesting(item)).collect(Collectors.toList()); filter(item -> isNotTesting(item)).collect(Collectors.toList());
...@@ -849,23 +852,23 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -849,23 +852,23 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
List<LmsUserRelGroupVO> groupVOS = new ArrayList<>(); List<LmsUserRelGroupVO> groupVOS = new ArrayList<>();
for (LmsUserRelGroup group:groupList) { for (LmsUserRelGroup group : groupList) {
LmsUserRelGroupVO vo = group.convert(LmsUserRelGroupVO.class); LmsUserRelGroupVO vo = group.convert(LmsUserRelGroupVO.class);
int num = 0,notTestingNum = 0,TestedNum = 0; int num = 0, notTestingNum = 0, TestedNum = 0;
for (EntrustSampleItem experiment:experimentList) { for (EntrustSampleItem experiment : experimentList) {
if (experiment.getTesterId().equals(group.getUserId())){ if (experiment.getTesterId().equals(group.getUserId())) {
num++; num++;
} }
} }
/* 未检测 */ /* 未检测 */
for (EntrustSampleItem notTestingItem : notTestingItems) { for (EntrustSampleItem notTestingItem : notTestingItems) {
if (notTestingItem.getTesterId().equals(group.getUserId())){ if (notTestingItem.getTesterId().equals(group.getUserId())) {
notTestingNum++; notTestingNum++;
} }
} }
/* 已完成 */ /* 已完成 */
for (EntrustSampleItem notTestingItem : TestedItem) { for (EntrustSampleItem notTestingItem : TestedItem) {
if (notTestingItem.getTesterId().equals(group.getUserId())){ if (notTestingItem.getTesterId().equals(group.getUserId())) {
TestedNum++; TestedNum++;
} }
} }
...@@ -882,12 +885,12 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -882,12 +885,12 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} }
@Override @Override
public List<TesterWorkloadStatsVO> getTesterWorkloadStatusQuery(QueryDTO queryDTO){ public List<TesterWorkloadStatsVO> getTesterWorkloadStatusQuery(QueryDTO queryDTO) {
return baseMapper.selectTesterWorkloadStatus(queryDTO); return baseMapper.selectTesterWorkloadStatus(queryDTO);
} }
@Override @Override
public List<EntrustSampleCalcResultVO> getSampleCalcResult(QueryDTO queryDTO){ public List<EntrustSampleCalcResultVO> getSampleCalcResult(QueryDTO queryDTO) {
return baseMapper.selectSampleCalcResult(queryDTO); return baseMapper.selectSampleCalcResult(queryDTO);
} }
......
...@@ -53,6 +53,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -53,6 +53,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
@Autowired @Autowired
private IEntrustService entrustService; private IEntrustService entrustService;
@Autowired
private IEntrustRecordService entrustRecordService;
@Override @Override
public Page<EntrustSamplePrepare> page(Page<EntrustSamplePrepare> page, EntrustSamplePrepare entrustSamplePrepare) { public Page<EntrustSamplePrepare> page(Page<EntrustSamplePrepare> page, EntrustSamplePrepare entrustSamplePrepare) {
Wrapper wrapper = new EntityWrapper<>(entrustSamplePrepare); Wrapper wrapper = new EntityWrapper<>(entrustSamplePrepare);
...@@ -67,13 +71,13 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -67,13 +71,13 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
@Override @Override
public boolean removeBySampleIds(Long[] sampleIds) { public boolean removeBySampleIds(Long[] sampleIds) {
if(null == sampleIds || sampleIds.length == 0){ if (null == sampleIds || sampleIds.length == 0) {
return false; return false;
} }
Account account = LoginHelper.getAccount(); Account account = LoginHelper.getAccount();
EntrustSamplePrepare samplePrepare = new EntrustSamplePrepare(); EntrustSamplePrepare samplePrepare = new EntrustSamplePrepare();
samplePrepare.setDeleted(1).setLid(account.getUserId()).setLtime(new Date()); samplePrepare.setDeleted(1).setLid(account.getUserId()).setLtime(new Date());
return update(samplePrepare,Condition.create().in("entrust_sample_id",sampleIds).eq("deleted",0)); return update(samplePrepare, Condition.create().in("entrust_sample_id", sampleIds).eq("deleted", 0));
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -91,7 +95,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -91,7 +95,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
List<EntrustSampleBackup> saveBackupList = new ArrayList<>(); List<EntrustSampleBackup> saveBackupList = new ArrayList<>();
for (EntrustSampleVO vo : sampleVOList) { for (EntrustSampleVO vo : sampleVOList) {
if ("送检样".equalsIgnoreCase(vo.getMakeType())){ if ("送检样".equalsIgnoreCase(vo.getMakeType())) {
EntrustSamplePrepare prepare = vo.convert(EntrustSamplePrepare.class); EntrustSamplePrepare prepare = vo.convert(EntrustSamplePrepare.class);
prepare.setEntrustSampleId(vo.getEntrustSampleId()); prepare.setEntrustSampleId(vo.getEntrustSampleId());
prepare.setStatus(EntrustSamplePrepareStatusEnum.RECEIVE); prepare.setStatus(EntrustSamplePrepareStatusEnum.RECEIVE);
...@@ -102,7 +106,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -102,7 +106,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
// 主要用来修改委托的复合型检测信息 // 主要用来修改委托的复合型检测信息
EntrustSample entrustSample = vo.convert(EntrustSample.class); EntrustSample entrustSample = vo.convert(EntrustSample.class);
entrustSampleService.updateById(entrustSample); entrustSampleService.updateById(entrustSample);
}else if ("备样".equalsIgnoreCase(vo.getMakeType())){ } else if ("备样".equalsIgnoreCase(vo.getMakeType())) {
EntrustSampleBackup backup = new EntrustSampleBackup(); EntrustSampleBackup backup = new EntrustSampleBackup();
EntrustSample sample = entrustSampleService.getById(vo.getId()); EntrustSample sample = entrustSampleService.getById(vo.getId());
backup.setEntrustId(vo.getEntrustId()); backup.setEntrustId(vo.getEntrustId());
...@@ -130,7 +134,6 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -130,7 +134,6 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
}).collect(Collectors.toList()); }).collect(Collectors.toList());
for (EntrustSample sample : sampleList) { for (EntrustSample sample : sampleList) {
if (haveSampleIds.contains(sample.getId())) { if (haveSampleIds.contains(sample.getId())) {
continue; continue;
...@@ -151,7 +154,6 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -151,7 +154,6 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
// saveBackupList.add(backup); // saveBackupList.add(backup);
// 添加样品管理数据 // 添加样品管理数据
EntrustSampleBackup manage = new EntrustSampleBackup(); EntrustSampleBackup manage = new EntrustSampleBackup();
BeanUtils.copyProperties(backup, manage); BeanUtils.copyProperties(backup, manage);
...@@ -187,7 +189,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -187,7 +189,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())) { if (StringUtils.isNotEmpty(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus())) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else { } else {
Entrust updateEntrust = new Entrust(); Entrust updateEntrust = new Entrust();
...@@ -196,8 +198,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -196,8 +198,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
updateEntrust.setFlowStatus(EntrustFlowEnum.RECEIVE.getName()); updateEntrust.setFlowStatus(EntrustFlowEnum.RECEIVE.getName());
updateEntrust.setId(entrust.getId()); updateEntrust.setId(entrust.getId());
entrustService.updateById(updateEntrust); entrustService.updateById(updateEntrust);
// String remark = "提交至样品接收", title = "新的样品接收任务!"; entrustRecordService.record(new Long[]{entrust.getId()}, "样品制备", "样品接收", 0, account, "提交至样品接收");
// entrustRecordService.record(new Long[]{entrust.getId()}, status.getDisplay(), nextStatus.getDisplay(), 0, account, remark);
} }
} }
...@@ -225,7 +226,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -225,7 +226,7 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
EntrustSample entrustSample = entrustSampleService.getById(prepareList.get(0).getEntrustSampleId()); EntrustSample entrustSample = entrustSampleService.getById(prepareList.get(0).getEntrustSampleId());
Entrust entrust = entrustService.getById(entrustSample.getEntrustId()); Entrust entrust = entrustService.getById(entrustSample.getEntrustId());
if(null == entrust.getTestAddress()){ if (null == entrust.getTestAddress()) {
// entrust.setReceiveTime(new Date()); // entrust.setReceiveTime(new Date());
} }
...@@ -262,11 +263,13 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -262,11 +263,13 @@ 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())) { if (StringUtils.isNotEmpty(entrust.getStatusPath()) && entrust.getStatusPath().contains(entrust.getFlowStatus())) {
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
}else{ } else {
entrust.setFlowStatus(EntrustFlowEnum.TEST.getName()); entrust.setFlowStatus(EntrustFlowEnum.TEST.getName());
entrustService.updateById(entrust); entrustService.updateById(entrust);
// 添加委托操作记录
entrustRecordService.record(new Long[]{entrust.getId()}, "样品接收", "任务分配", 0, account, "提交至任务分配");
} }
} }
......
...@@ -386,9 +386,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -386,9 +386,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
} else if (nextFlowStatus == EntrustFlowEnum.QUALITY_JUDGE) { } else if (nextFlowStatus == EntrustFlowEnum.QUALITY_JUDGE) {
sampleStatus = EntrustSampleStatusEnum.END; sampleStatus = EntrustSampleStatusEnum.END;
itemStatus = EntrustSampleItemStatusEnum.END; itemStatus = EntrustSampleItemStatusEnum.END;
} else if (nextFlowStatus == EntrustFlowEnum.QUALITY_CHECK) {
sampleStatus = EntrustSampleStatusEnum.END;
itemStatus = EntrustSampleItemStatusEnum.END;
} }
if (null != sampleStatus) { if (null != sampleStatus) {
......
...@@ -350,7 +350,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -350,7 +350,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
boolean hasSendMessage = false; boolean hasSendMessage = false;
for (Entrust e : entrustList) { for (Entrust e : entrustList) {
// 若存在路径,根据状态路径处理数据 // 若存在路径,根据状态路径处理数据
if (StringUtils.isNotBlank(e.getStatusPath())) { if (StringUtils.isNotBlank(e.getStatusPath()) && e.getStatusPath().contains(e.getFlowStatus())) {
submitToNextNode(e, account); submitToNextNode(e, account);
hasSendMessage = true; hasSendMessage = true;
} else { } else {
......
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