检测项目缺试剂时改报错提示 + 任务书回交接收人和任务书回交时间字段回填逻辑

dev
swj 3 years ago
parent a7a3188256
commit c1df16ab5b
  1. 50
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java
  2. 34
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.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<ExamineResult> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ExamineResult::getExamineId, id);
// wrapper.eq(ExamineResult::getStatus, 1);
// wrapper.eq(ExamineResult::getStatus, 1);
List<ExamineResult> 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<Examine> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_id", examine.getEntrustId());
List<Examine> 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<User> 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<TaskBlueprint> 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<User> userR = userClient.userInfoById(Long.valueOf(one.getTaskIssuedBy()));
if (userR != null && userR.getData() != null) {
User user = userR.getData();
eTask.setBackCrossRecipientName(user.getName());
}
service.updateById(entrust1);
}
}

@ -172,26 +172,30 @@ public class ExamineItemController extends BladeController {
* 根据项目id获取对应试剂
*/
@GetMapping("/getReagent")
public R<List<Reagent>> getReagent(String id) {
public R<List<Reagent>> getReagent(String id) throws Exception {
ExamineItem examineItem = service.getById(id);
List<Reagent> reagentList = new ArrayList<>();
if (examineItem != null) {
String reagentId = examineItem.getReagentId();
String[] split = reagentId.split(",");
for (String s : split) {
List<Instrument> 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<Instrument> 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<TypeAndOperation> list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class);
reagent.setOperationList(list);
reagentList.add(reagent);
}
reagent.setInstrumentList(instrumentList);
List<TypeAndOperation> list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class);
reagent.setOperationList(list);
reagentList.add(reagent);
} catch (NullPointerException e) {
throw new Exception("请给当前检测项目关联对应的试剂");
}
}
return R.data(reagentList);

Loading…
Cancel
Save