diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java index 827d1e4..fbcbe42 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java @@ -7,9 +7,11 @@ import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.word.WordExportUtil; import com.alibaba.fastjson.JSON; import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.fasterxml.jackson.annotation.JsonFormat; import com.github.binarywang.utils.qrcode.QrcodeUtils; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.spire.doc.Document; @@ -42,6 +44,7 @@ import org.springblade.system.enums.DictBizEnum; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.entity.User; import org.springblade.system.user.feign.IUserClient; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import javax.imageio.ImageIO; @@ -106,6 +109,9 @@ public class EntrustController extends BladeController { private final IMessageClient messageClient; private final EntrustMapper entrustMapper; + + private final ITaskBlueprintService taskBlueprintService; + /** * 1.分页 委托单表 */ @@ -1186,10 +1192,11 @@ public class EntrustController extends BladeController { Examine examine = examineService.getById(id); examine.setStatus(1); examineService.updateById(examine); + // 添加检测结果的校核人和校核时间 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ExamineResult::getExamineId, id); -// wrapper.eq(ExamineResult::getStatus, 1); + // wrapper.eq(ExamineResult::getStatus, 1); List examineResults = examineResultService.list(wrapper); for (ExamineResult examineResult : examineResults) { examineResult.setVerificationUser(AuthUtil.getUserId()); @@ -1197,12 +1204,12 @@ public class EntrustController extends BladeController { } examineResultService.updateBatchById(examineResults); - //获取委托单对应所有检测数据 + // 获取委托单对应所有检测数据 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("entrust_id", examine.getEntrustId()); List list = examineService.list(queryWrapper); - //通过数量 + // 通过数量 Integer tgNum = 0; //计数器计算校核通过的检测 for (Examine examine1 : list) { @@ -1210,23 +1217,32 @@ public class EntrustController extends BladeController { tgNum += 1; } } - //如果全部通过修改委托单为审核通过 + // 如果全部通过修改委托单为审核通过 if (tgNum == list.size()) { - Entrust entrust1 = service.getById(examine.getEntrustId()); - if ("0".equals(entrust1.getIsGenreport())) { - entrust1.setEntrustStatus("8"); + Entrust entrust = service.getById(examine.getEntrustId()); + if ("0".equals(entrust.getIsGenreport())) { + entrust.setEntrustStatus("8"); } else { - entrust1.setEntrustStatus("4"); - // 发送提示消息 -// List userList = userClient.listDeptUserByCurrentUser("1542115329594114049").getData(); -// if (userList != null) { -// for (User user : userList) { -// messageClient.event(SysTypeEnum.INFORM.getValue(), "生成报告", -// "你有新的委托单报告待生成,请及时查看", 1, 5, user.getId().toString(), "/plugin/workflow/process/entrust"); -// } -// } + entrust.setEntrustStatus("4"); + } + service.updateById(entrust); + + // 修改当前部门的任务书主表的任务书回交日期和任务书回交接收人 + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("", ""); + TaskBlueprint one = taskBlueprintService.getOne(queryWrapper1); + + Long entrustId = entrust.getId(); + ETask eTask = new ETask(); + eTask.setTaskIssuedBy(one.getTaskIssuedBy()); + eTask.setBackCrossTime(new Date()); + eTask.setBackCrossRecipientBy(one.getTaskIssuedBy()); + + R userR = userClient.userInfoById(Long.valueOf(one.getTaskIssuedBy())); + if (userR != null && userR.getData() != null) { + User user = userR.getData(); + eTask.setBackCrossRecipientName(user.getName()); } - service.updateById(entrust1); } } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.java index 660b1d4..f0b1b49 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.java @@ -172,26 +172,30 @@ public class ExamineItemController extends BladeController { * 根据项目id获取对应试剂 */ @GetMapping("/getReagent") - public R> getReagent(String id) { + public R> getReagent(String id) throws Exception { ExamineItem examineItem = service.getById(id); List reagentList = new ArrayList<>(); if (examineItem != null) { - String reagentId = examineItem.getReagentId(); - String[] split = reagentId.split(","); - for (String s : split) { - List instrumentList = new ArrayList<>(); - Reagent reagent = reagentService.getById(s); - if (reagent != null && reagent.getInstrumentId() != null && !"".equals(reagent.getInstrumentId())) { - String[] split1 = reagent.getInstrumentId().split(","); - for (String s1 : split1) { - Instrument instrument = instrumentService.getById(s1); - instrumentList.add(instrument); + try { + String reagentId = examineItem.getReagentId(); + String[] split = reagentId.split(","); + for (String s : split) { + List instrumentList = new ArrayList<>(); + Reagent reagent = reagentService.getById(s); + if (reagent != null && reagent.getInstrumentId() != null && !"".equals(reagent.getInstrumentId())) { + String[] split1 = reagent.getInstrumentId().split(","); + for (String s1 : split1) { + Instrument instrument = instrumentService.getById(s1); + instrumentList.add(instrument); + } } + reagent.setInstrumentList(instrumentList); + List list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class); + reagent.setOperationList(list); + reagentList.add(reagent); } - reagent.setInstrumentList(instrumentList); - List list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class); - reagent.setOperationList(list); - reagentList.add(reagent); + } catch (NullPointerException e) { + throw new Exception("请给当前检测项目关联对应的试剂"); } } return R.data(reagentList);