From dcaac3971a89ff17e20cf81b103b7d13fda89309 Mon Sep 17 00:00:00 2001 From: litao Date: Tue, 6 Sep 2022 20:12:07 +0800 Subject: [PATCH] =?UTF-8?q?2022=E5=B9=B49=E6=9C=886=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springblade/lims/entry/Entrust.java | 6 +- .../org/springblade/lims/entry/Examine.java | 6 + .../org/springblade/lims/entry/Reagent.java | 6 +- .../lims/entry/TypeAndOperation.java | 16 + .../lab-system-api/lab-system-api.iml | 163 ++++++ lab-service/lab-capital/pom.xml | 7 + .../goods/controller/ApplyController.java | 10 +- .../lims/controller/EntrustController.java | 346 +++-------- .../lims/controller/ExamineController.java | 33 ++ .../controller/ExamineItemController.java | 6 +- .../controller/ExamineResultController.java | 13 +- .../lims/controller/ReagentController.java | 13 + .../lims/service/impl/EntrustServiceImpl.java | 553 +++++++++++++----- .../impl/ExamineResultServiceImpl.java | 14 + .../user/controller/UserController.java | 1 + 15 files changed, 757 insertions(+), 436 deletions(-) create mode 100644 lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/TypeAndOperation.java create mode 100644 lab-service-api/lab-system-api/lab-system-api.iml diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Entrust.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Entrust.java index 4ae6af8..680c9a4 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Entrust.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Entrust.java @@ -50,6 +50,9 @@ public class Entrust extends BaseEntity implements Serializable { // 3.送检单位 public String entrustCustomerName; + // 20.送检人 + public String submittedBy; + // 4.邮编 public String postalCode; @@ -105,8 +108,7 @@ public class Entrust extends BaseEntity implements Serializable { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date expectFinishedTime; - // 20.送检人 - public String submittedBy; + // 21.接样员id public String sampleReceiverId; diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Examine.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Examine.java index 1cbe0f6..03d0097 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Examine.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Examine.java @@ -219,4 +219,10 @@ public class Examine extends BaseEntity implements Serializable { private String inputMode; private String examineStatus; + + /** + * 样品状态 + */ + @TableField(exist = false) + private String simpleStatus; } \ No newline at end of file diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Reagent.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Reagent.java index 449ba75..e0175be 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Reagent.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Reagent.java @@ -60,7 +60,11 @@ public class Reagent extends BaseEntity implements Serializable { private String instrumentName; @TableField(exist = false) - List instrumentList; + private List instrumentList; + private String typeAndOperation; + + @TableField(exist = false) + private List operationList; } diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/TypeAndOperation.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/TypeAndOperation.java new file mode 100644 index 0000000..af39c02 --- /dev/null +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/TypeAndOperation.java @@ -0,0 +1,16 @@ +package org.springblade.lims.entry; + +import lombok.Data; + +/** + * @author swj + * @date 2022年6月2日15:34:17 + */ +@Data +public class TypeAndOperation { + + private String type; + + private String operation; + +} \ No newline at end of file diff --git a/lab-service-api/lab-system-api/lab-system-api.iml b/lab-service-api/lab-system-api/lab-system-api.iml new file mode 100644 index 0000000..44b9c88 --- /dev/null +++ b/lab-service-api/lab-system-api/lab-system-api.iml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lab-service/lab-capital/pom.xml b/lab-service/lab-capital/pom.xml index fc35f52..aba1ac6 100644 --- a/lab-service/lab-capital/pom.xml +++ b/lab-service/lab-capital/pom.xml @@ -127,6 +127,13 @@ compile + + org.springblade + lab-system-api + 2.8.1.RELEASE + compile + + org.springblade blade-starter-excel diff --git a/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java b/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java index 46bb9cb..eb6b4de 100644 --- a/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java +++ b/lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java @@ -22,6 +22,7 @@ import org.springblade.resource.enums.SysTypeEnum; import org.springblade.resource.feign.IMessageClient; import org.springblade.system.cache.DictBizCache; 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.transaction.annotation.Transactional; @@ -49,6 +50,8 @@ public class ApplyController extends BladeController { private final IMessageClient messageClient; + private final ISysClient sysClient; + /** * 1.分页 申领列表 */ @@ -139,11 +142,14 @@ public class ApplyController extends BladeController { */ @PostMapping("/save") public void save(@RequestBody ApplyVO applyVO) { + // 系统参数是否审批 + String isApproval = sysClient.getParamValue("is_approval").getData(); //添加申领表 Apply apply = BeanUtil.copy(applyVO, Apply.class); apply.setApplyTime(new Date()); apply.setApplyUserId(AuthUtil.getUserId()); - apply.setApplyUser(AuthUtil.getUserName()); + String realName = userClient.userInfoById(AuthUtil.getUserId()).getData().getRealName(); + apply.setApplyUser(realName); apply.setIsUpdate(-1); // apply.setCode(UuidUtils.generateUuid()); apply.setCode("编码格式待定"); @@ -176,7 +182,6 @@ public class ApplyController extends BladeController { } //保证新插入 applyDetail.setId(null); - applyDetailService.save(applyDetail); //扣库存 Goods goods = goodsService.getById(applyDetail.getProductId()); if (goods != null) { @@ -184,6 +189,7 @@ public class ApplyController extends BladeController { goodsService.updateById(goods); } } + applyDetailService.saveBatch(detailList); } } 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 00d8868..a4829ea 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 @@ -39,6 +39,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -473,291 +474,94 @@ public class EntrustController extends BladeController { public R> getEntrust(String id, String roleId, String deptId, String userId) { HashMap map = new HashMap<>(); // TODO 查看详情需要改动 - //科室主任 - if ("1123598816738675203".equals(roleId)) { - //委托单 - Entrust entrust = service.getById(id); - if (entrust.getSampleReceiverId() != null) { - R userR = userClient.userInfoById(Long.valueOf(entrust.getSampleReceiverId())); - User data = userR.getData(); - entrust.setSampleReceiverName(data.getName()); - } + //委托单 + Entrust entrust = service.getById(id); + if (entrust.getSampleReceiverId() != null) { + R userR = userClient.userInfoById(Long.valueOf(entrust.getSampleReceiverId())); + User data = userR.getData(); + entrust.setSampleReceiverName(data.getName()); + } - //样品 - List simpleList = null; - if (entrust != null) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Simple::getEntrustId, entrust.getId()); - simpleList = simpleService.list(wrapper); - } + //样品 + List simpleList = null; + if (entrust != null) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Simple::getEntrustId, entrust.getId()); + simpleList = simpleService.list(wrapper); + } - //计划书 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("entrust_id", id); - TaskBlueprint taskBlueprint = blueprintService.getOne(queryWrapper); - - //任务 - List eTaskList = new ArrayList<>(); - if (taskBlueprint != null) { - QueryWrapper wrapper1 = new QueryWrapper<>(); - wrapper1.eq("task_blueprint_id", taskBlueprint.getId()); -// if ("1536303217085018114".equals(deptId)) { -// wrapper1.eq("dept_id", deptId); -// } -// if ("1536303261238456322".equals(deptId)) { -// wrapper1.eq("dept_id", deptId); -// } -// if ("1536303317815422978".equals(deptId)) { -// wrapper1.eq("dept_id", deptId); -// } - List eTasks = eTaskService.list(wrapper1); - - if (eTasks != null && eTasks.size() > 0) { - for (ETask eTask : eTasks) { - LambdaQueryWrapper examineLambdaQueryWrapper = new LambdaQueryWrapper<>(); - examineLambdaQueryWrapper.eq(Examine::getETaskId, eTask.getId()); - List examines = examineService.list(examineLambdaQueryWrapper); - if (examines != null && examines.size() > 0) { - List examineList = new ArrayList<>(); - for (Examine examine : examines) { - if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) { - ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); - if (examineItem != null) { - examine.setExamineItemName(examineItem.getName()); - } - ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId()); - if (examineWay != null) { - examine.setExamineWayName(examineWay.getName()); - } - ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId()); - if (examineBasis != null) { - examine.setExamineBasisName(examineBasis.getName()); - } - if (examine.getExamineBy() != null && !"".equals(examine.getExamineBy())) { - R userR = userClient.userInfoById(Long.valueOf(examine.getExamineBy())); - User user = userR.getData(); - if (user != null) { - examine.setExamineByName(user.getName()); - } - } - examineList.add(examine); + //计划书 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("entrust_id", id); + TaskBlueprint taskBlueprint = blueprintService.getOne(queryWrapper); + + //任务 + List eTaskList = new ArrayList<>(); + if (taskBlueprint != null) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("task_blueprint_id", taskBlueprint.getId()); + List eTasks = eTaskService.list(wrapper1); + if (eTasks != null && eTasks.size() > 0) { + for (ETask eTask : eTasks) { + LambdaQueryWrapper examineLambdaQueryWrapper = new LambdaQueryWrapper<>(); + examineLambdaQueryWrapper.eq(Examine::getETaskId, eTask.getId()); + List examines = examineService.list(examineLambdaQueryWrapper); + if (examines != null && examines.size() > 0) { + List examineList = new ArrayList<>(); + for (Examine examine : examines) { + if (examine.getExperieNum() != null && !"".equals(examine.getExperieNum())) { + ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); + if (examineItem != null) { + examine.setExamineItemName(examineItem.getName()); } - } - eTask.setExamines(examineList); - if (eTask.getSimpleReceiver() != null && !eTask.getSimpleReceiver().equals("")) { - R userR = userClient.userInfoById(Long.valueOf(eTask.getSimpleReceiver())); - User data = userR.getData(); - if (data != null) { - eTask.setSimpleReceiverName(data.getName()); + ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId()); + if (examineWay != null) { + examine.setExamineWayName(examineWay.getName()); + } + ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId()); + if (examineBasis != null) { + examine.setExamineBasisName(examineBasis.getName()); } + if (examine.getExamineBy() != null && !"".equals(examine.getExamineBy())) { + R userR = userClient.userInfoById(Long.valueOf(examine.getExamineBy())); + User user = userR.getData(); + if (user != null) { + examine.setExamineByName(user.getName()); + } + } + examineList.add(examine); } - if (examineList != null && examineList.size() > 0) { - eTaskList.add(eTask); + } + eTask.setExamines(examineList); + if (eTask.getSimpleReceiver() != null && !eTask.getSimpleReceiver().equals("")) { + R userR = userClient.userInfoById(Long.valueOf(eTask.getSimpleReceiver())); + User data = userR.getData(); + if (data != null) { + eTask.setSimpleReceiverName(data.getName()); } } + if (examineList != null && examineList.size() > 0) { + eTaskList.add(eTask); + } } - taskBlueprint.setTasks(eTaskList); } + taskBlueprint.setTasks(eTaskList); } + } - //检测数据 -// List examineList = new ArrayList<>(); -// if (eTaskList != null && eTaskList.size() > 0) { -// eTaskList.forEach(item -> { -// QueryWrapper examineQueryWrapper = new QueryWrapper<>(); -// examineQueryWrapper.eq("e_task_id", item.getId()); -// List list1 = examineService.list(examineQueryWrapper); -// item.setExamines(list1); -// examineList.addAll(list1); -// }); -// } - //已分配的检测数据 -// List examineList = new ArrayList<>(); -// LambdaQueryWrapper examineLambdaQueryWrapper = new LambdaQueryWrapper<>(); -// examineLambdaQueryWrapper.eq(Examine::getEntrustId, id); -// examineLambdaQueryWrapper.eq(Examine::getDeptId, deptId); -// List examines = examineService.list(examineLambdaQueryWrapper); -// for (Examine examine1 : examines) { -// if (examine1.getExperieNum() != null) { -// examineList.add(examine1); -// } -// } - - //实验室主任 - //带接样 - if ("1".equals(entrust.getEntrustStatus())) { - map.put("entrust", entrust); - return R.data(map); - } - //待计划 - if ("2".equals(entrust.getEntrustStatus())) { - map.put("entrust", entrust); - map.put("simple", simpleList); - return R.data(map); - } + if ("1".equals(entrust.getEntrustStatus())) { map.put("entrust", entrust); - map.put("simple", simpleList); - map.put("taskBlueprint", taskBlueprint); return R.data(map); - //组长 -// if ("1432876219952791554".equals(roleId)) { -// //科室一 -// if ("1536303217085018114".equals(deptId)) { -// LambdaQueryWrapper eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>(); -// eTaskLambdaQueryWrapper.eq(ETask::getDeptId, deptId); -// eTaskLambdaQueryWrapper.eq(ETask::getTaskBlueprintId, taskBlueprint.getId()); -// ETask eTask = eTaskService.getOne(eTaskLambdaQueryWrapper); -// //待分配 -// if (eTask.getStatus() == 0) { -// map.put("taskBlueprint", taskBlueprint); -// return R.data(map); -// } -// -// //已分配/检测中 -// if (eTask.getStatus() == 1) { -// List tasks = taskBlueprint.getTasks(); -// map.put("taskBlueprint", taskBlueprint); -//// map.put("eTaskList", eTaskList); -// map.put("examine", examineList); -// return R.data(map); -// } -// -// map.put("taskBlueprint", taskBlueprint); -//// map.put("eTaskList", eTaskList); -// map.put("examine", examineList); -// return R.data(map); -// } -// //科室二 -// if ("1536303261238456322".equals(deptId)) { -// LambdaQueryWrapper eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>(); -// eTaskLambdaQueryWrapper.eq(ETask::getDeptId, deptId); -// eTaskLambdaQueryWrapper.eq(ETask::getTaskBlueprintId, taskBlueprint.getId()); -// ETask eTask = eTaskService.getOne(eTaskLambdaQueryWrapper); -// //待分配 -// if (eTask.getStatus() == 0) { -// map.put("taskBlueprint", taskBlueprint); -// return R.data(map); -// } -// -// //已分配/检测中 -// if (eTask.getStatus() == 1) { -// List tasks = taskBlueprint.getTasks(); -// map.put("taskBlueprint", taskBlueprint); -//// map.put("eTaskList", eTaskList); -// map.put("examine", examineList); -// return R.data(map); -// } -// -// map.put("taskBlueprint", taskBlueprint); -//// map.put("eTaskList", eTaskList); -// map.put("examine", examineList); -// return R.data(map); -// } -// //科室三 -// if ("1536303317815422978".equals(deptId)) { -// LambdaQueryWrapper eTaskLambdaQueryWrapper = new LambdaQueryWrapper<>(); -// eTaskLambdaQueryWrapper.eq(ETask::getDeptId, deptId); -// eTaskLambdaQueryWrapper.eq(ETask::getTaskBlueprintId, taskBlueprint.getId()); -// ETask eTask = eTaskService.getOne(eTaskLambdaQueryWrapper); -// //待分配 -// if (eTask.getStatus() == 0) { -// map.put("taskBlueprint", taskBlueprint); -// return R.data(map); -// } -// -// //已分配/检测中 -// if (eTask.getStatus() == 1) { -// List tasks = taskBlueprint.getTasks(); -// map.put("taskBlueprint", taskBlueprint); -//// map.put("eTaskList", eTaskList); -// map.put("examine", examineList); -// return R.data(map); -// } -// -// map.put("taskBlueprint", taskBlueprint); -//// map.put("eTaskList", eTaskList); -// map.put("examine", examineList); -// return R.data(map); -// } -// } } - //实验员 - if ("1432876315142520834".equals(roleId) || "1542095624162525185".equals(roleId)) { - //检测表 - Examine examine = examineService.getById(id); - ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); - if (examineItem != null) { - examine.setExamineItemName(examineItem.getName()); - } - ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId()); - if (examineWay != null) { - examine.setExamineWayName(examineWay.getName()); - } - ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId()); - if (examineBasis != null) { - examine.setExamineBasisName(examineBasis.getName()); - } - if (!"".equals(examine.getExamineBy()) && examine.getExamineBy() != null) { - User user = userClient.userInfoById(Long.parseLong(examine.getExamineBy())).getData(); - if (user != null) { - examine.setExamineByName(user.getName()); - } - } - map.put("examine", examine); + //待计划 + if ("2".equals(entrust.getEntrustStatus())) { + map.put("entrust", entrust); + map.put("simple", simpleList); return R.data(map); -// //已分配的检测数据 -// List examineList = new ArrayList<>(); -// LambdaQueryWrapper examineLambdaQueryWrapper = new LambdaQueryWrapper<>(); -// examineLambdaQueryWrapper.eq(Examine::getEntrustId, examine.getEntrustId()); -// examineLambdaQueryWrapper.eq(Examine::getDeptId, deptId); -// List examines = examineService.list(examineLambdaQueryWrapper); -// for (Examine examine1 : examines) { -// if (examine1.getExperieNum() != null) { -// ExamineItem examineItem = examineItemService.getById(examine1.getExamineItemId()); -// if (examineItem != null) { -// examine1.setExamineItemName(examineItem.getName()); -// } -// ExamineWay examineWay = examineWayService.getById(examine1.getExamineWayId()); -// if (examineWay != null) { -// examine1.setExamineWayName(examineWay.getName()); -// } -// ExamineBasis examineBasis = examineBasisService.getById(examine1.getExamineBasisId()); -// if (examineBasis != null) { -// examine1.setExamineBasisName(examineBasis.getName()); -// } -// if (examine1.getExamineBy() != null && !"".equals(examine1.getExamineBy())) { -// R userR = userClient.userInfoById(Long.valueOf(examine1.getExamineBy())); -// User user = userR.getData(); -// if (user != null) { -// examine1.setExamineByName(user.getName()); -// } -// } -// examineList.add(examine1); -// } -// } -// // -// if (examineList != null && examineList.size() > 0) { -// for (Examine examine1 : examineList) { -// //检测结果表(有效) -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.eq(ExamineResult::getExamineId, examine1.getId()); -// wrapper.eq(ExamineResult::getStatus, 1); -// ExamineResult examineResult = examineResultService.getOne(wrapper); -// //未完成 -// if ("-1".equals(examine1.getIsFinished())) { -// map.put("examine", examineList); -// } -// //已完成 -// if ("1".equals(examine1.getIsFinished())) { -// map.put("examine", examineList); -// if (examine1.getExamineBy().equals(userId)) { -// map.put("examineResult", examineResult); -// } -// } -// } -// return R.data(map); -// } } + map.put("entrust", entrust); + map.put("simple", simpleList); + map.put("taskBlueprint", taskBlueprint); return R.data(map); } @@ -1497,7 +1301,7 @@ public class EntrustController extends BladeController { @GetMapping("/acceptance") public String acceptance(String number) throws ParseException { //获取今年第一天 - Date date = new Date(); + LocalDateTime date = LocalDateTime.now(); int year = date.getYear(); String str = year + "-01-01 00:00:00"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -1777,7 +1581,7 @@ public class EntrustController extends BladeController { } @GetMapping("/ceshi") - public void ceshi() { + public void ceshi() { } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineController.java index f22dd09..bc6890d 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineController.java @@ -111,6 +111,9 @@ public class ExamineController extends BladeController { Map map = new HashMap<>(); //检验数据 Examine examine = examineService.getById(id); + Entrust entrust = service.getById(examine.getEntrustId()); + examine.setSimpleStatus(entrust.getSimpleState()); + if (examine != null) { //实验项目 ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); @@ -181,6 +184,36 @@ public class ExamineController extends BladeController { return map; } + /** + * 查看详情 + */ + @GetMapping("/detail") + public R> detail(String id) { + HashMap map = new HashMap<>(); + //检测表 + Examine examine = examineService.getById(id); + ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); + if (examineItem != null) { + examine.setExamineItemName(examineItem.getName()); + } + ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId()); + if (examineWay != null) { + examine.setExamineWayName(examineWay.getName()); + } + ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId()); + if (examineBasis != null) { + examine.setExamineBasisName(examineBasis.getName()); + } + if (!"".equals(examine.getExamineBy()) && examine.getExamineBy() != null) { + User user = userClient.userInfoById(Long.parseLong(examine.getExamineBy())).getData(); + if (user != null) { + examine.setExamineByName(user.getName()); + } + } + map.put("examine", examine); + return R.data(map); + } + /** * 分配提交 */ 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 9dc045f..d3a064e 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 @@ -118,7 +118,7 @@ public class ExamineItemController extends BladeController { wayAndBase.setExamineBasisName(examineBasis.getName()); } } - entry.setWayAndBasis(JSON.toJSONString(entry.getList())); + entry.setWayAndBasis(JSON.toJSONString(wayAndBases)); } return R.data(service.updateById(entry)); } @@ -149,7 +149,7 @@ public class ExamineItemController extends BladeController { wayAndBase.setExamineBasisName(examineBasis.getName()); } } - entry.setWayAndBasis(JSON.toJSONString(entry.getList())); + entry.setWayAndBasis(JSON.toJSONString(wayAndBases)); } entry.setCreateUser(null); entry.setUpdateUser(null); @@ -189,6 +189,8 @@ public class ExamineItemController extends BladeController { } } reagent.setInstrumentList(instrumentList); + List list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class); + reagent.setOperationList(list); reagentList.add(reagent); } } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java index b8061a8..1b4df6f 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java @@ -953,15 +953,24 @@ public class ExamineResultController extends BladeController { List read = ExcelUtil.read(file, PCR2Excel.class); if (read != null && read.size() > 0) { for (int i = 0; i < read.size(); i++) { + String ctValue = read.get(i).getCtValue(); + String length = ""; + if (ctValue != null && !"".equals(ctValue)) { + int length1 = 15 - ctValue.length(); + for (int i1 = 0; i1 < length1; i1++) { + length += " "; + } + } + if (i == (read.size() - 1)) { - read.get(i).setCtValue(" " + read.get(i).getCtValue()); + read.get(i).setCtValue(length + ctValue); read.get(i).setValue(" 阳性"); } else { if ("".equals(read.get(i).getCtValue()) || read.get(i).getCtValue() == null) { read.get(i).setCtValue("/"); read.get(i).setValue("阴性"); } else { - read.get(i).setCtValue(" " + read.get(i).getCtValue()); + read.get(i).setCtValue(length + ctValue); read.get(i).setValue(" 阳性"); } } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ReagentController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ReagentController.java index 3bd5900..15e92ce 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ReagentController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ReagentController.java @@ -1,6 +1,7 @@ package org.springblade.lims.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -70,6 +71,10 @@ public class ReagentController extends BladeController { } reagent.setInstrumentList(instrumentList); } + if (reagent.getTypeAndOperation() != null && !"".equals(reagent.getTypeAndOperation())) { + List list = JSON.parseArray(reagent.getTypeAndOperation(), TypeAndOperation.class); + reagent.setOperationList(list); + } } } return R.data(page); @@ -81,6 +86,10 @@ public class ReagentController extends BladeController { @PostMapping("/update") @ApiOperation(value = "更改", notes = "更改") public R update(@RequestBody Reagent entry) { + List operationList = entry.getOperationList(); + if (operationList != null && operationList.size() > 0) { + entry.setTypeAndOperation(JSON.toJSONString(operationList)); + } return R.data(service.updateById(entry)); } @@ -97,6 +106,10 @@ public class ReagentController extends BladeController { } } } + List operationList = entry.getOperationList(); + if (operationList != null && operationList.size() > 0) { + entry.setTypeAndOperation(JSON.toJSONString(operationList)); + } return service.save(entry); } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java index 935e4b6..7c10a9a 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java @@ -300,155 +300,62 @@ public class EntrustServiceImpl extends BaseServiceImpl public void print(String id, HttpServletResponse response) { //委托单 Entrust entrust = this.getById(id); + // 获取委托单下所有检测 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Examine::getEntrustId, id); + List examineList = examineService.list(wrapper); - List simpleList = null; - //样品 - if (entrust != null) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Simple::getEntrustId, entrust.getId()); - simpleList = simpleService.list(wrapper); - } - - //计划书 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("entrust_id", id); - TaskBlueprint taskBlueprint = blueprintService.getOne(queryWrapper); - - List eTaskList = null; - //任务 - if (taskBlueprint != null) { - QueryWrapper wrapper1 = new QueryWrapper<>(); - wrapper1.eq("task_blueprint_id", taskBlueprint.getId()); - eTaskList = eTaskService.list(wrapper1); - } - - //检测数据 - List examineList = new ArrayList<>(); - ExamineResult examineResult = null; - if (CollectionUtils.isNotEmpty(eTaskList)) { - eTaskList.forEach(item -> { - QueryWrapper examineQueryWrapper = new QueryWrapper<>(); - examineQueryWrapper.eq("e_task_id", item.getId()); - List list1 = examineService.list(examineQueryWrapper); - if (CollectionUtils.isNotEmpty(list1)) { - for (Examine examine : list1) { - examineList.add(examine); - } - } - }); - } - - Long aLong = Long.valueOf(id); //需要批量生成的map - List> resultList1 = new ArrayList<>(); List> resultList2 = new ArrayList<>(); - for (Examine examine : examineList) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ExamineResult::getExamineId, examine.getId()); -// wrapper.eq(ExamineResult::getStatus, "1"); HashMap map = new HashMap<>(4); - ExamineItem byId = null; if (examine.getExamineItemId() != null) { - byId = examineItemService.getById(examine.getExamineItemId()); + ExamineItem byId = examineItemService.getById(examine.getExamineItemId()); if (byId != null) { map.put("examineItem", byId.getName()); } } - ExamineWay byId1 = null; if (examine.getExamineWayId() != null) { - byId1 = examineWayService.getById(examine.getExamineWayId()); + ExamineWay byId1 = examineWayService.getById(examine.getExamineWayId()); if (byId1 != null) { map.put("examineWay", byId1.getName()); } } - ExamineBasis byId2 = null; if (examine.getExamineBasisId() != null) { - byId2 = examineBasisService.getById(examine.getExamineBasisId()); + ExamineBasis byId2 = examineBasisService.getById(examine.getExamineBasisId()); if (byId2 != null) { map.put("examineBasis", byId2.getName()); } } - ExamineResult one = examineResultService.getOne(wrapper); -// map.put("examineResult", one); map.put("examineResult", "符合标准"); resultList1.add(map); - if (one != null) { - //实验原始记录json结构 - List> list = new ArrayList<>(); - String originRecord = one.getOriginRecordResult(); -// JSONArray allAppFormMap = JSON.parseArray(originRecord); -// for (Object o : allAppFormMap) { -// Map map0 = (Map) o; -// Map map1 = new HashMap<>(); -// Map map2 = new HashMap<>(); -// Map map3 = new HashMap<>(); -// map1.put("id", map0.get("id1")); -// map2.put("id", map0.get("id2")); -// map3.put("id", map0.get("id3")); -// map1.put("value", map0.get("value1")); -// map2.put("value", map0.get("value2")); -// map3.put("value", map0.get("value3")); -// map1.put("result", map0.get("result1")); -// map2.put("result", map0.get("result2")); -// map3.put("result", map0.get("result3")); -// list.add(map1); -// list.add(map2); -// list.add(map3); -// } - LambdaQueryWrapper simpleLambdaQueryWrapper = new LambdaQueryWrapper<>(); - simpleLambdaQueryWrapper.eq(Simple::getExperieNum, examine.getExperieNum()); - simpleLambdaQueryWrapper.eq(Simple::getEntrustId, examine.getEntrustId()); - Simple simple = simpleService.getOne(simpleLambdaQueryWrapper); - String originalNum = ""; - if (simple != null) { - originalNum = simple.getOriginalNum(); - } - HashMap map2 = new HashMap<>(5); - map2.put("experieNum", examine.getExperieNum()); - map2.put("originalNum", originalNum); - map2.put("shuzhi", "检测数值"); - map2.put("panding", "结果判定"); - map2.put("remark", examine.getRemark()); -// for (Map stringObjectMap : list) { -// map2.put("experieNum", examine.getExperieNum()); -// map2.put("originalNum", originalNum); -// map2.put("shuzhi", stringObjectMap.get("value")); -// map2.put("panding", stringObjectMap.get("result")); -// map2.put("remark", examine.getRemark()); -// } - resultList2.add(map2); - } } - Map result = new HashMap<>(); - result.put("acceptanceNum", entrust.getAcceptanceNum()); - result.put("simpleName", entrust.getSimpleName()); - result.put("entrustCustomerName", entrust.getEntrustCustomerName()); + Map result1 = new HashMap<>(); + result1.put("acceptanceNum", entrust.getAcceptanceNum()); + result1.put("simpleName", entrust.getSimpleName()); + result1.put("takeCompany", entrust.getTakeCompany()); + result1.put("takePerson", entrust.getTakePerson()); + result1.put("takeCompanyAddress", entrust.getTakeCompanyAddress()); + result1.put("takePhone", entrust.getTakePhone()); + result1.put("entrustCustomerName", entrust.getEntrustCustomerName()); String value = DictBizCache.getValue(DictBizEnum.ENTRUST_INVESTIGATIVE_TYPE, entrust.getInvestigativeType()); - result.put("investigativeType", value); - result.put("mailAddr", entrust.getMailAddr()); - result.put("postalCode", entrust.getPostalCode()); - result.put("phone", entrust.getPhone()); - result.put("facsimile", entrust.getFacsimile()); - result.put("reportPreparation", "质量管理室"); - result.put("audit", "质量管理室"); - result.put("approval", "质量管理室"); - result.put("submittedBy", entrust.getSubmittedBy()); - result.put("simpleSource", entrust.getSimpleSource()); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String format1 = ""; + result1.put("investigativeType", value); + result1.put("mailAddr", entrust.getMailAddr()); + result1.put("phone", entrust.getPhone()); + result1.put("submittedBy", entrust.getSubmittedBy()); + SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String format4 = ""; if (entrust.getSamplingDate() != null) { - format1 = format.format(entrust.getSamplingDate()); + format4 = format3.format(entrust.getSamplingDate()); } - result.put("samplingDate", format1); - result.put("simpleState", entrust.getSimpleState()); - result.put("simpleCount", entrust.getSimpleCount()); - result.put("code", "仪器");//??? - result.put("experieDate", "检测日期");//??? - result.put("remark", "备注");//??? - result.put("resultList1", resultList1); - result.put("resultList2", resultList2); + result1.put("samplingDate", format4); + result1.put("simpleState", entrust.getSimpleState()); + result1.put("simpleCount", entrust.getSimpleCount()); + result1.put("code", "仪器");//??? + result1.put("experieDate", "检测日期");//??? + result1.put("remark", "备注");//??? + result1.put("resultList1", resultList1); // 盖章图片 ImageEntity farView = new ImageEntity(); farView.setHeight(80);//设置高度 @@ -465,14 +372,321 @@ public class EntrustServiceImpl extends BaseServiceImpl } catch (Exception e) { e.printStackTrace(); } - result.put("11", farView); -// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//检测报告(模板).docx"; + result1.put("11", farView); + + + if (examineList.size() > 0) { + for (Examine examine : examineList) { + Map result = new HashMap<>(); + List> resultList = new ArrayList<>(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ExamineResult::getExamineId, examine.getId()); + // 检测结果 + ExamineResult examineResult = examineResultService.getOne(queryWrapper); + // 检测项目 + ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); + result.put("name", examineItem.getName()); + + // 布鲁氏检测 + if ("2".equals(examineItem.getInputMode())) { + List list = JSON.parseArray(examineResult.getExamineDataArr(), ExamineTemplate2Excel.class); + if (list != null && list.size() > 0) { + for (ExamineTemplate2Excel excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getExperieNum()); + map.put("value", excel.getValue()); + map.put("result", excel.getResult()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + // PCR检测 + else if ("4".equals(examineItem.getInputMode())) { + List list = JSON.parseArray(examineResult.getExamineDataArr(), PCR2Excel.class); + if (list != null && list.size() > 0) { + for (PCR2Excel excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getExperieNum()); + map.put("value", excel.getCtValue()); + map.put("result", excel.getValue()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + // XN检测 + else if ("5".equals(examineItem.getInputMode())) { + List list = JSON.parseArray(examineResult.getExamineDataArr(), XN2Excel.class); + if (list != null && list.size() > 0) { + for (XN2Excel excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getExperieNum()); + map.put("value", excel.getCtValue()); + map.put("result", excel.getValue()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + // 普通和口蹄疫检测 + else { + DecimalFormat df = new DecimalFormat("#0.000"); + List list = JSON.parseArray(examineResult.getExamineDataArr(), ExamineDataArrVO.class); + List list1 = new ArrayList<>(); + // 普通检测原始记录 + Collections.sort(list, new Comparator() { + @Override + public int compare(ExamineDataArrVO o1, ExamineDataArrVO o2) { + return o1.getOrder() - o2.getOrder(); + } + }); + // position1 + if ("3".equals(examineItem.getInputMode())) { + // 口蹄疫兰所单板 + if ("1".equals(examine.getTemplateType())) { + List voList = JSON.parseArray(examineResult.getOriginRecordResult(), ExamineDataArrVO.class); + Collections.sort(voList, new Comparator() { + @Override + public int compare(ExamineDataArrVO o1, ExamineDataArrVO o2) { + return o1.getOrder() - o2.getOrder(); + } + }); + List doubles = new ArrayList<>(); + double a1 = Double.parseDouble(list.get(95).getValue()); + double a2 = Double.parseDouble(list.get(94).getValue()); + double a3 = Double.parseDouble(list.get(93).getValue()); + double a4 = Double.parseDouble(list.get(92).getValue()); + doubles.add(a1); + doubles.add(a2); + doubles.add(a3); + doubles.add(a4); + List collect = doubles.stream().sorted().collect(Collectors.toList()); + String format2 = df.format((collect.get(1) + collect.get(2)) / 4); + ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO(); + examineDataArrVO.setNum("临界值"); + examineDataArrVO.setValue(format2); + examineDataArrVO.setResult(""); + list1.add(examineDataArrVO); + list1.addAll(voList); + + if (list1.size() > 0) { + for (ExamineDataArrVO excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getNum()); + map.put("value", excel.getValue()); + map.put("result", excel.getResult()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + // 口蹄疫兰所多板 + else if ("2".equals(examine.getTemplateType())) { + if (list.size() > 0) { + for (int i = 0; i < list.size() / 96; i++) { + List doubles = new ArrayList<>(); + double a1 = Double.parseDouble(list.get((i + 1) * 96 - 1).getValue()); + double a2 = Double.parseDouble(list.get((i + 1) * 96 - 2).getValue()); + double a3 = Double.parseDouble(list.get((i + 1) * 96 - 3).getValue()); + double a4 = Double.parseDouble(list.get((i + 1) * 96 - 4).getValue()); + doubles.add(a1); + doubles.add(a2); + doubles.add(a3); + doubles.add(a4); + List collect = doubles.stream().sorted().collect(Collectors.toList()); + String format2 = df.format((collect.get(1) + collect.get(2)) / 4); + ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO(); + examineDataArrVO.setNum("临界值"); + examineDataArrVO.setValue(""); + examineDataArrVO.setResult(format2); + list1.add(examineDataArrVO); + for (int j = 0; j < 96; j++) { + ExamineDataArrVO vo = list.get((i * 96) + j); + if (vo.getNum() != null) { + list1.add(vo); + } + } + } + } + + if (list1.size() > 0) { + for (ExamineDataArrVO excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getNum()); + map.put("value", excel.getValue()); + map.put("result", excel.getResult()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + // 口蹄疫非兰所 + else { + if (list.size() > 0) { + for (int i = 0; i < list.size() / 96; i++) { + List doubles = new ArrayList<>(); + double a1 = Double.parseDouble(list.get((i + 1) * 96 - 1).getValue()); + double a2 = Double.parseDouble(list.get((i + 1) * 96 - 2).getValue()); + double a3 = Double.parseDouble(list.get((i + 1) * 96 - 3).getValue()); + double a4 = Double.parseDouble(list.get((i + 1) * 96 - 4).getValue()); + doubles.add(a1); + doubles.add(a2); + doubles.add(a3); + doubles.add(a4); + List collect = doubles.stream().sorted().collect(Collectors.toList()); + String format2 = df.format((collect.get(1) + collect.get(2)) / 4); + ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO(); + examineDataArrVO.setNum("临界值"); + examineDataArrVO.setValue(""); + examineDataArrVO.setResult(format2); + list1.add(examineDataArrVO); + for (int j = 0; j < 96; j++) { + ExamineDataArrVO vo = list.get((i * 96) + j); + if (vo.getNum() != null) { + list1.add(vo); + } + } + } + } + + if (list1.size() > 0) { + for (ExamineDataArrVO excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getNum()); + map.put("value", excel.getValue()); + map.put("result", excel.getResult()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + } + // 普通检测 + else { + if (list.size() % 96 == 0) { + for (int i = 0; i < list.size() / 96; i++) { + double a1 = Double.parseDouble(list.get(i * 96).getOriginResult()); + double b1 = Double.parseDouble(list.get((i * 96) + 1).getOriginResult()); + String format = df.format((a1 + b1) / 2); + list.get(i * 96).setNum("阴性对照平均OD值"); + list.get(i * 96).setValue(format); + list.get(i * 96).setResult(" "); + list1.add(list.get(i * 96)); + double a2 = Double.parseDouble(list.get((i * 96) + 2).getOriginResult()); + double b2 = Double.parseDouble(list.get((i * 96) + 3).getOriginResult()); + String format1 = df.format((a2 + b2) / 2); + list.get((i * 96) + 1).setNum("阳性对照平均OD值"); + list.get((i * 96) + 1).setValue(format1); + list.get((i * 96) + 1).setResult(" "); + list1.add(list.get((i * 96) + 1)); + + for (int j = 0; j < 96; j++) { + if (j > 5) { + list1.add(list.get((i * 96) + j)); + } + } + } + } + else { + for (int i = 0; i < list.size() / 96 + 1; i++) { + double a1 = Double.parseDouble(list.get(i * 96).getOriginResult()); + double b1 = Double.parseDouble(list.get((i * 96) + 1).getOriginResult()); + String format = df.format((a1 + b1) / 2); + list.get(i * 96).setNum("阴性对照平均OD值"); + list.get(i * 96).setValue(format); + list.get(i * 96).setResult(" "); + list1.add(list.get(i * 96)); + double a2 = Double.parseDouble(list.get((i * 96) + 2).getOriginResult()); + double b2 = Double.parseDouble(list.get((i * 96) + 3).getOriginResult()); + String format1 = df.format((a2 + b2) / 2); + list.get((i * 96) + 1).setNum("阳性对照平均OD值"); + list.get((i * 96) + 1).setValue(format1); + list.get((i * 96) + 1).setResult(" "); + list1.add(list.get((i * 96) + 1)); + for (int j = 0; j < 96; j++) { + if ((i * 96) + j > list.size() - 1) { + break; + } + if (j > 5) { + list1.add(list.get((i * 96) + j)); + } + } + } + } + + if (list1.size() > 0) { + for (ExamineDataArrVO excel : list) { + Map map = new HashMap<>(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); + wrapper1.eq(Simple::getExperieNum, excel.getNum()); + Simple simple = simpleService.getOne(wrapper1); + if (simple != null) { + map.put("originalNum", simple.getOriginalNum()); + map.put("num", excel.getNum()); + map.put("value", excel.getValue()); + map.put("result", excel.getResult()); + resultList.add(map); + } + } + result.put("list", resultList); + } + } + } + } + } + + +// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//检测报告(模板).docx"; XWPFDocument doc = null; -// FileOutputStream fos = null; + FileOutputStream fos = null; try { - doc = WordExportUtil.exportWord07(print, result); -// fos = new FileOutputStream("C://Users//AAA//Desktop//烁今//打印模板//检测报告.docx"); + doc = WordExportUtil.exportWord07(print, result1); + fos = new FileOutputStream("C://Users//AAA//Desktop//shuojin//dayin//1111111.docx"); String filename = "测试.docx"; response.setContentType("application/octet-stream"); @@ -485,21 +699,21 @@ public class EntrustServiceImpl extends BaseServiceImpl } catch (Exception e) { e.printStackTrace(); } finally { -// if (null != doc) { -//// doc.close(); -// try { -// doc.write(fos); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// if (null != fos) { -// try { -// fos.close(); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } + if (null != doc) { +// doc.close(); + try { + doc.write(fos); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (null != fos) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } if (null != doc) { try { doc.close(); @@ -518,15 +732,14 @@ public class EntrustServiceImpl extends BaseServiceImpl String url = ""; // 检测数据 Examine examine = examineService.getById(examineId); - ExamineItem byId = examineItemService.getById(examine.getExamineItemId()); // 检测结果 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ExamineResult::getExamineId, examine.getId()); ExamineResult examineResult = examineResultService.getOne(wrapper); // 检测项目 - ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId()); + ExamineItem byId = examineItemService.getById(examine.getExamineItemId()); // 检测方法 - ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId()); +// ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId()); // 检测依据 ExamineBasis examineBasis = examineBasisService.getById(examine.getExamineBasisId()); String[] split = examine.getExperieNum().split(","); @@ -535,39 +748,58 @@ public class EntrustServiceImpl extends BaseServiceImpl result.put("2", examineResult.getDisposal()); result.put("3", examine.getSimpleName()); result.put("4", examine.getSimpleCount()); - result.put("5", examineItem.getName()); + result.put("5", byId.getName()); if (examineBasis != null) { result.put("6", examineBasis.getName()); } // 诊断试剂 String[] split1 = examineResult.getReagentId().split(","); String regentName = ""; - Set set = new HashSet(); - for (String s1 : split1) { - Reagent reagent = reagentService.getById(s1); - regentName += reagent.getName() + ","; + Set set = new HashSet(); + for (int i = 0; i < split1.length; i++) { + Reagent reagent = reagentService.getById(split1[i]); + if (i == (split1.length - 1)) { + regentName += reagent.getName(); + } else { + regentName += reagent.getName() + ","; + } set.add(reagent.getManufacturer()); } result.put("7", regentName); + // 生产厂家及批号 String manu = ""; - for (Object o : set) { - manu += o + ","; + List strList = new ArrayList<>(); + for (String o : set) { + strList.add(o); + } + for (int i = 0; i < strList.size(); i++) { + if (i == (strList.size() - 1)) { + manu += strList.get(i); + } else { + manu += strList.get(i) + ","; + } } result.put("8", manu + "(批号:" + examineResult.getBatchNos() + ")"); + // 使用仪器名称及编号 String[] split2 = examineResult.getInstrumentId().split(","); String instrumentName = ""; - for (String s1 : split2) { - Instrument instrument = instrumentService.getById(s1); + for (int i = 0; i < split2.length; i++) { + Instrument instrument = instrumentService.getById(split2[i]); String s2 = instrument.getName() + instrument.getCode(); - instrumentName += s2 + ","; + if (i == (split2.length - 1)) { + instrumentName += s2; + } else { + instrumentName += s2 + ","; + } } result.put("9", instrumentName); String value = DictBizCache.getValue(DictBizEnum.SIMPLE_STATUS, examineResult.getSimpleStatus()); result.put("10", value); result.put("11", "温度" + examineResult.getTemperature() + "℃; " + "湿度" + examineResult.getHumidity() + "%RH"); - result.put("12", examineWay.getOperation()); +// result.put("12", examineWay.getOperation()); + result.put("12", examineResult.getOperateContent()); if (examineBasis != null) { result.put("13", examineBasis.getContent()); } @@ -2085,6 +2317,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (ExamineTemplate2Excel excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2105,6 +2338,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (PCR2Excel excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2125,6 +2359,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (XN2Excel excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getExperieNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2183,6 +2418,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (ExamineDataArrVO excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2229,6 +2465,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (ExamineDataArrVO excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2275,6 +2512,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (ExamineDataArrVO excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2347,6 +2585,7 @@ public class EntrustServiceImpl extends BaseServiceImpl for (ExamineDataArrVO excel : list) { Map map = new HashMap<>(); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Simple::getEntrustId, id); wrapper1.eq(Simple::getExperieNum, excel.getNum()); Simple simple = simpleService.getOne(wrapper1); if (simple != null) { @@ -2614,6 +2853,8 @@ public class EntrustServiceImpl extends BaseServiceImpl } private void addUseCount(int type, Long elementId) { + System.out.println("type:" + type); + System.out.println("elementId: " + elementId); if (elementId == null) { return; } if (type == 1) { ExamineItem examineItem = examineItemService.getById(elementId); diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java index 1c3385d..ac7d26f 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java @@ -188,6 +188,19 @@ public class ExamineResultServiceImpl extends BaseServiceImpl 0) { diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java b/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java index 76d2f48..a30df0f 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java @@ -434,6 +434,7 @@ public class UserController { } // 硕士及以上人数 wrapper.clear(); + wrapper.eq(User::getTenantId, 704067L); wrapper.eq(User::getEducation, "2"); int count1 = userService.count(wrapper); // 硕士以下人数