|
|
@@ -29,6 +29,7 @@ import com.railway.common.utils.file.FileUploadUtils;
|
|
|
import com.railway.common.utils.file.FileUtils;
|
|
|
import com.railway.system.service.ISysFileService;
|
|
|
import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
@@ -110,15 +111,18 @@ public class SecExperimentServiceImpl implements ISecExperimentService {
|
|
|
SecExperiment secExperiment = new SecExperiment();
|
|
|
BeanUtils.copyProperties(secExpInfoVo, secExperiment);
|
|
|
secExperiment.setState(TestStateEnum.ALREADY.getCode());
|
|
|
- secExperiment.setExpDate(new Date());
|
|
|
+ Date expDate = new Date();
|
|
|
+ secExperiment.setExpDate(expDate);
|
|
|
|
|
|
ExpReportVo reportVo = new ExpReportVo();
|
|
|
// 工具清单
|
|
|
Map<String, ExpReportDetailVo> detailMap = new LinkedHashMap<>();
|
|
|
-
|
|
|
+ // 查询实验工具
|
|
|
List<BaseSafetyTool> toolList = toolMapper.listByExperimentId(secExperiment.getId());
|
|
|
reportVo.setTotal(toolList.size());
|
|
|
+ List<Integer> toolCycleList = new ArrayList<>();
|
|
|
for (BaseSafetyTool tool : toolList) {
|
|
|
+ toolCycleList.add(tool.getTestCycle());
|
|
|
ExpReportDetailVo detail = detailMap.get(tool.getToolType());
|
|
|
if (null == detail) {
|
|
|
detail = new ExpReportDetailVo();
|
|
|
@@ -128,7 +132,9 @@ public class SecExperimentServiceImpl implements ISecExperimentService {
|
|
|
}
|
|
|
detail.setTotal(detail.getTotal() + 1);
|
|
|
// 更新工具最后实验时间
|
|
|
- tool.setLastTestDate(secExperiment.getExpDate());
|
|
|
+ tool.setLastTestDate(expDate);
|
|
|
+ Date nextDate = DateUtils.addMonths(expDate, tool.getTestCycle());
|
|
|
+ tool.setNextTestDate(nextDate);
|
|
|
toolMapper.update(tool);
|
|
|
if (ToolStateEnum.SCRAP.getCode().equals(tool.getState())) {
|
|
|
reportVo.setScrapTotal(reportVo.getScrapTotal() + 1);
|
|
|
@@ -178,6 +184,10 @@ public class SecExperimentServiceImpl implements ISecExperimentService {
|
|
|
//设置计划为待送检状态
|
|
|
SecScheduled scheduled = scheduledMapper.getInfoByExpId(secExperiment.getId());
|
|
|
scheduled.setState(TestStateEnum.WAITING.getCode());
|
|
|
+ if(toolCycleList.size() > 0) {
|
|
|
+ int minCycle = toolCycleList.stream().reduce(Integer::min).get();
|
|
|
+ scheduled.setScheduledTime(DateUtils.addMonths(expDate, minCycle));
|
|
|
+ }
|
|
|
ret = scheduledMapper.update(scheduled);
|
|
|
}
|
|
|
return ret;
|
|
|
@@ -232,7 +242,7 @@ public class SecExperimentServiceImpl implements ISecExperimentService {
|
|
|
*/
|
|
|
@Override
|
|
|
public List<SecExpListVo> getList(SecExpListParmVo parm) {
|
|
|
- if (!SecurityUtils.isAdmin()) {
|
|
|
+ if (SecurityUtils.isNotLabUser()) {
|
|
|
parm.setDeptId(SecurityUtils.getLoginUser().getDeptId());
|
|
|
}
|
|
|
return secExperimentMapper.getList(parm);
|