2022年8月31日19:40:36

pull/1/head
litao 4 years ago
parent f1ea91a902
commit 9a04f1c97e
  1. 6
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Examine.java
  2. 3
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/ExamineItem.java
  3. 3
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/ExamineResult.java
  4. 10
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java
  5. 32
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java
  6. 71
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java
  7. 18
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineBasisController.java
  8. 33
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineController.java
  9. 26
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineItemController.java
  10. 12
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java
  11. 16
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineWayController.java
  12. 11
      lab-service/lab-lims/src/main/java/org/springblade/lims/excel/PCR2Excel.java
  13. 6
      lab-service/lab-lims/src/main/java/org/springblade/lims/excel/PCRExcel.java
  14. 3
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IExamineResultService.java
  15. 30
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
  16. 85
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ExamineResultServiceImpl.java
  17. 38
      lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java

@ -212,4 +212,10 @@ public class Examine extends BaseEntity implements Serializable {
// 模板类型 // 模板类型
private String templateType; private String templateType;
/**
* 输入方式
*/
@TableField(exist = false)
private String inputMode;
} }

@ -86,5 +86,4 @@ public class ExamineItem extends BaseEntity implements Serializable {
* 使用次数 * 使用次数
*/ */
private Integer useCount; private Integer useCount;
}
}

@ -154,4 +154,7 @@ public class ExamineResult extends BaseEntity implements Serializable {
// 图片路径 // 图片路径
private String picturePath; private String picturePath;
@TableField(exist = false)
private List<String> path;
} }

@ -61,7 +61,15 @@ public class ApplyController extends BladeController {
apply.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); apply.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
} }
LambdaQueryWrapper<Apply> wrapper = new LambdaQueryWrapper<>(apply); LambdaQueryWrapper<Apply> wrapper = new LambdaQueryWrapper<>(apply);
wrapper.eq(Apply::getStatus, 1).or().eq(Apply::getStatus, 3).or().eq(Apply::getStatus, 4); // wrapper.eq(Apply::getStatus, 1).or()
// .eq(Apply::getStatus, 3).or()
// .eq(Apply::getStatus, 4);
if ("1".equals(apply.getIsGetAll())) {
if (apply.getStatus() == null) {
wrapper.in(Apply::getStatus, 1, 3, 4);
}
}
if (temp != null && !"".equals(temp)) { if (temp != null && !"".equals(temp)) {
wrapper.and(qw -> qw wrapper.and(qw -> qw
.like(Apply::getApplyUser, temp).or() .like(Apply::getApplyUser, temp).or()

@ -148,7 +148,7 @@ public class GoodsController extends BladeController {
if (userList != null) { if (userList != null) {
for (User user : userList) { for (User user : userList) {
messageClient.event(SysTypeEnum.INFORM.getValue(), "质检入库", messageClient.event(SysTypeEnum.INFORM.getValue(), "质检入库",
"你有新的物品待质检,请及时处理", 1, 5, user.getId().toString(),"/capital/productstoreList"); "你有新的物品待质检,请及时处理", 1, 5, user.getId().toString(), "/capital/productstoreList");
} }
} }
return goodsService.save(goods); return goodsService.save(goods);
@ -321,7 +321,7 @@ public class GoodsController extends BladeController {
if (userList != null) { if (userList != null) {
for (User user : userList) { for (User user : userList) {
messageClient.event(SysTypeEnum.INFORM.getValue(), "质检入库", messageClient.event(SysTypeEnum.INFORM.getValue(), "质检入库",
"你有新的物品待质检,请及时处理", 1, 5, user.getId().toString(),"/capital/productstoreList"); "你有新的物品待质检,请及时处理", 1, 5, user.getId().toString(), "/capital/productstoreList");
} }
} }
} }
@ -355,7 +355,7 @@ public class GoodsController extends BladeController {
// 周一出库数量 // 周一出库数量
LambdaQueryWrapper<ApplyDetail> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ApplyDetail> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,mondayStart,mondayEnd); wrapper.between(ApplyDetail::getCkTime, mondayStart, mondayEnd);
List<ApplyDetail> applyDetails1 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails1 = applyDetailService.list(wrapper);
int mondayOut = 0; int mondayOut = 0;
for (ApplyDetail applyDetail : applyDetails1) { for (ApplyDetail applyDetail : applyDetails1) {
@ -364,7 +364,7 @@ public class GoodsController extends BladeController {
// 周一入库数量 // 周一入库数量
LambdaQueryWrapper<ProductStoreDetial> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProductStoreDetial> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,mondayStart,mondayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, mondayStart, mondayEnd);
List<ProductStoreDetial> storeDetials1 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials1 = productStoreDetialService.list(queryWrapper);
int mondayIn = 0; int mondayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials1) { for (ProductStoreDetial storeDetial : storeDetials1) {
@ -382,7 +382,7 @@ public class GoodsController extends BladeController {
// 周二出库数量 // 周二出库数量
wrapper.clear(); wrapper.clear();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,tuesdayStart,tuesdayEnd); wrapper.between(ApplyDetail::getCkTime, tuesdayStart, tuesdayEnd);
List<ApplyDetail> applyDetails2 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails2 = applyDetailService.list(wrapper);
int tuesdayOut = 0; int tuesdayOut = 0;
for (ApplyDetail applyDetail : applyDetails2) { for (ApplyDetail applyDetail : applyDetails2) {
@ -391,7 +391,7 @@ public class GoodsController extends BladeController {
// 周二入库数量 // 周二入库数量
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,tuesdayStart,tuesdayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, tuesdayStart, tuesdayEnd);
List<ProductStoreDetial> storeDetials2 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials2 = productStoreDetialService.list(queryWrapper);
int tuesdayIn = 0; int tuesdayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials2) { for (ProductStoreDetial storeDetial : storeDetials2) {
@ -409,7 +409,7 @@ public class GoodsController extends BladeController {
// 周三出库数量 // 周三出库数量
wrapper.clear(); wrapper.clear();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,wednedayStart,wednedayEnd); wrapper.between(ApplyDetail::getCkTime, wednedayStart, wednedayEnd);
List<ApplyDetail> applyDetails3 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails3 = applyDetailService.list(wrapper);
int wednedayOut = 0; int wednedayOut = 0;
for (ApplyDetail applyDetail : applyDetails3) { for (ApplyDetail applyDetail : applyDetails3) {
@ -418,7 +418,7 @@ public class GoodsController extends BladeController {
// 周三入库数量 // 周三入库数量
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,wednedayStart,wednedayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, wednedayStart, wednedayEnd);
List<ProductStoreDetial> storeDetials3 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials3 = productStoreDetialService.list(queryWrapper);
int wednedayIn = 0; int wednedayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials3) { for (ProductStoreDetial storeDetial : storeDetials3) {
@ -436,7 +436,7 @@ public class GoodsController extends BladeController {
// 周四出库数量 // 周四出库数量
wrapper.clear(); wrapper.clear();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,thursdayStart,thursdayEnd); wrapper.between(ApplyDetail::getCkTime, thursdayStart, thursdayEnd);
List<ApplyDetail> applyDetails4 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails4 = applyDetailService.list(wrapper);
int thursdayOut = 0; int thursdayOut = 0;
for (ApplyDetail applyDetail : applyDetails4) { for (ApplyDetail applyDetail : applyDetails4) {
@ -445,7 +445,7 @@ public class GoodsController extends BladeController {
// 周四入库数量 // 周四入库数量
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,thursdayStart,thursdayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, thursdayStart, thursdayEnd);
List<ProductStoreDetial> storeDetials4 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials4 = productStoreDetialService.list(queryWrapper);
int thursdayIn = 0; int thursdayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials4) { for (ProductStoreDetial storeDetial : storeDetials4) {
@ -463,7 +463,7 @@ public class GoodsController extends BladeController {
// 周五出库数量 // 周五出库数量
wrapper.clear(); wrapper.clear();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,fridayStart,fridayEnd); wrapper.between(ApplyDetail::getCkTime, fridayStart, fridayEnd);
List<ApplyDetail> applyDetails5 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails5 = applyDetailService.list(wrapper);
int fridayOut = 0; int fridayOut = 0;
for (ApplyDetail applyDetail : applyDetails5) { for (ApplyDetail applyDetail : applyDetails5) {
@ -472,7 +472,7 @@ public class GoodsController extends BladeController {
// 周五入库数量 // 周五入库数量
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,fridayStart,fridayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, fridayStart, fridayEnd);
List<ProductStoreDetial> storeDetials5 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials5 = productStoreDetialService.list(queryWrapper);
int fridayIn = 0; int fridayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials5) { for (ProductStoreDetial storeDetial : storeDetials5) {
@ -490,7 +490,7 @@ public class GoodsController extends BladeController {
// 周六出库数量 // 周六出库数量
wrapper.clear(); wrapper.clear();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,saturdayStart,saturdayEnd); wrapper.between(ApplyDetail::getCkTime, saturdayStart, saturdayEnd);
List<ApplyDetail> applyDetails6 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails6 = applyDetailService.list(wrapper);
int saturdayOut = 0; int saturdayOut = 0;
for (ApplyDetail applyDetail : applyDetails6) { for (ApplyDetail applyDetail : applyDetails6) {
@ -499,7 +499,7 @@ public class GoodsController extends BladeController {
// 周六入库数量 // 周六入库数量
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,saturdayStart,saturdayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, saturdayStart, saturdayEnd);
List<ProductStoreDetial> storeDetials6 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials6 = productStoreDetialService.list(queryWrapper);
int saturdayIn = 0; int saturdayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials6) { for (ProductStoreDetial storeDetial : storeDetials6) {
@ -517,7 +517,7 @@ public class GoodsController extends BladeController {
// 周日出库数量 // 周日出库数量
wrapper.clear(); wrapper.clear();
wrapper.eq(ApplyDetail::getIsCk, 1); wrapper.eq(ApplyDetail::getIsCk, 1);
wrapper.between(ApplyDetail::getCkTime,sundayStart,sundayEnd); wrapper.between(ApplyDetail::getCkTime, sundayStart, sundayEnd);
List<ApplyDetail> applyDetails7 = applyDetailService.list(wrapper); List<ApplyDetail> applyDetails7 = applyDetailService.list(wrapper);
int sundayOut = 0; int sundayOut = 0;
for (ApplyDetail applyDetail : applyDetails7) { for (ApplyDetail applyDetail : applyDetails7) {
@ -526,7 +526,7 @@ public class GoodsController extends BladeController {
// 周日入库数量 // 周日入库数量
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.eq(ProductStoreDetial::getStatus, 1); queryWrapper.eq(ProductStoreDetial::getStatus, 1);
queryWrapper.between(ProductStoreDetial::getUpdateTime,sundayStart,sundayEnd); queryWrapper.between(ProductStoreDetial::getUpdateTime, sundayStart, sundayEnd);
List<ProductStoreDetial> storeDetials7 = productStoreDetialService.list(queryWrapper); List<ProductStoreDetial> storeDetials7 = productStoreDetialService.list(queryWrapper);
int sundayIn = 0; int sundayIn = 0;
for (ProductStoreDetial storeDetial : storeDetials7) { for (ProductStoreDetial storeDetial : storeDetials7) {

@ -461,6 +461,7 @@ public class EntrustController extends BladeController {
@GetMapping("/getEntrust") @GetMapping("/getEntrust")
public R<Map<String, Object>> getEntrust(String id, String roleId, String deptId, String userId) { public R<Map<String, Object>> getEntrust(String id, String roleId, String deptId, String userId) {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
// TODO 查看详情需要改动
//科室主任 //科室主任
if ("1123598816738675203".equals(roleId)) { if ("1123598816738675203".equals(roleId)) {
//委托单 //委托单
@ -1149,6 +1150,7 @@ public class EntrustController extends BladeController {
if (byId != null) { if (byId != null) {
examine.setExamineItemName(byId.getName()); examine.setExamineItemName(byId.getName());
} }
examine.setInputMode(byId.getInputMode());
} }
} }
if (examine.getExamineWayId() != null) { if (examine.getExamineWayId() != null) {
@ -1172,35 +1174,42 @@ public class EntrustController extends BladeController {
QueryWrapper<ExamineResult> resultQueryWrapper = new QueryWrapper<>(); QueryWrapper<ExamineResult> resultQueryWrapper = new QueryWrapper<>();
resultQueryWrapper.eq("examine_id", examine.getId()); resultQueryWrapper.eq("examine_id", examine.getId());
// resultQueryWrapper.eq("status", 1); // resultQueryWrapper.eq("status", 1);
List<ExamineResult> examineResults = examineResultService.list(resultQueryWrapper); ExamineResult examineResult = examineResultService.getOne(resultQueryWrapper);
for (ExamineResult examineResult : examineResults) { if (examineResult != null) {
if (examineResult != null) { Long examineBasisId = examine.getExamineBasisId();
Long examineBasisId = examine.getExamineBasisId(); if (examineBasisId != null) {
if (examineBasisId != null) { ExamineBasis examineBasis = examineBasisService.getById(Long.valueOf(examineBasisId));
ExamineBasis examineBasis = examineBasisService.getById(Long.valueOf(examineBasisId)); if (examineBasis != null) {
if (examineBasis != null) { examineResult.setContent(examineBasis.getContent());
examineResult.setContent(examineBasis.getContent());
}
} }
String reagentId = examineResult.getReagentId(); }
if (reagentId != null) { String reagentId = examineResult.getReagentId();
Reagent reagent = reagentService.getById(reagentId); if (reagentId != null) {
if (reagent != null) { Reagent reagent = reagentService.getById(reagentId);
examineResult.setReagentName(reagent.getName()); if (reagent != null) {
examineResult.setReagentManufacturerName(reagent.getManufacturer()); examineResult.setReagentName(reagent.getName());
examineResult.setReagentBatchNo(reagent.getBatchNo()); examineResult.setReagentManufacturerName(reagent.getManufacturer());
} examineResult.setReagentBatchNo(reagent.getBatchNo());
} }
String instrumentId = examineResult.getInstrumentId(); }
if (instrumentId != null) { String instrumentId = examineResult.getInstrumentId();
Instrument instrument = instrumentService.getById(instrumentId); if (instrumentId != null) {
if (instrument != null) { Instrument instrument = instrumentService.getById(instrumentId);
examineResult.setInstrumentName(instrument.getName()); if (instrument != null) {
examineResult.setInstrumentNo(instrument.getCode()); examineResult.setInstrumentName(instrument.getName());
} examineResult.setInstrumentNo(instrument.getCode());
}
}
List<String> path = new ArrayList<>();
String picturePath = examineResult.getPicturePath();
if (picturePath != null && !"".equals(picturePath)) {
String[] split = picturePath.split(",");
for (String s : split) {
path.add(s);
} }
examine.setExamineResult(examineResult); examineResult.setPath(path);
} }
examine.setExamineResult(examineResult);
} }
} }
return R.data(examine); return R.data(examine);
@ -1293,12 +1302,12 @@ public class EntrustController extends BladeController {
map.put("examineList", examineList); map.put("examineList", examineList);
//样品信息 //样品信息
QueryWrapper<Simple> wrapper = new QueryWrapper<>(); // QueryWrapper<Simple> wrapper = new QueryWrapper<>();
wrapper.eq("entrust_id", id); // wrapper.eq("entrust_id", id);
wrapper.eq("is_distribution", 0); // wrapper.eq("is_distribution", 0);
wrapper.eq("status", 1); // wrapper.eq("status", 1);
List<Simple> simpleList = simpleService.list(wrapper); // List<Simple> simpleList = simpleService.list(wrapper);
map.put("simpleList", simpleList); // map.put("simpleList", simpleList);
return map; return map;
} }

@ -62,8 +62,22 @@ public class ExamineBasisController extends BladeController {
return R.data(page); return R.data(page);
} }
// TODO 加一个分页查接口
@GetMapping("/page")
public R<Object> page(ExamineBasis entry, Query query) {
LambdaQueryWrapper<ExamineBasis> wrapper = new LambdaQueryWrapper<>();
//根据name模糊查询
if (entry.getName() != null && !"".equals(entry.getName())) {
wrapper.like(ExamineBasis::getName, entry.getName()).or()
.like(ExamineBasis::getRemark, entry.getName());
}
wrapper.orderByDesc(ExamineBasis::getCreateTime);
IPage<ExamineBasis> page = service.page(Condition.getPage(query), wrapper);
return R.data(page);
}
/** /**
* * 修改
*/ */
@PostMapping("/update") @PostMapping("/update")
@ApiOperation(value = "更改", notes = "更改") @ApiOperation(value = "更改", notes = "更改")
@ -72,7 +86,7 @@ public class ExamineBasisController extends BladeController {
} }
/** /**
* * 新增
*/ */
@PostMapping("/insert") @PostMapping("/insert")
@ApiOperation(value = "新增", notes = "新增") @ApiOperation(value = "新增", notes = "新增")

@ -22,10 +22,7 @@ import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient; import org.springblade.system.user.feign.IUserClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author swj * @author swj
@ -124,6 +121,7 @@ public class ExamineController extends BladeController {
if (examineItem != null) { if (examineItem != null) {
//检验项目名称 //检验项目名称
examine.setExamineItemName(examineItem.getName()); examine.setExamineItemName(examineItem.getName());
examine.setInputMode(examineItem.getInputMode());
} }
if (examineWay != null) { if (examineWay != null) {
@ -139,6 +137,7 @@ public class ExamineController extends BladeController {
//检验依据名称 //检验依据名称
examine.setExamineBasisName(examineBasis.getName()); examine.setExamineBasisName(examineBasis.getName());
} }
} }
LambdaQueryWrapper<ExamineResult> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ExamineResult> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ExamineResult::getExamineId, id); wrapper.eq(ExamineResult::getExamineId, id);
@ -146,12 +145,36 @@ public class ExamineController extends BladeController {
// wrapper.eq(ExamineResult::getStatus, 0); // wrapper.eq(ExamineResult::getStatus, 0);
wrapper.isNull(ExamineResult::getInstrumentId); wrapper.isNull(ExamineResult::getInstrumentId);
ExamineResult examineResult = examineResultService.getOne(wrapper); ExamineResult examineResult = examineResultService.getOne(wrapper);
examine.setExamineResult(examineResult); if (examineResult != null) {
String picturePath = examineResult.getPicturePath();
if (picturePath != null && !"".equals(picturePath)) {
List<String> path = new ArrayList<>();
String[] split = picturePath.split(",");
for (String s : split) {
path.add(s);
}
examineResult.setPath(path);
}
examine.setExamineResult(examineResult);
}
} else { } else {
// wrapper.eq(ExamineResult::getStatus, 1); // wrapper.eq(ExamineResult::getStatus, 1);
// 获取批次号最大的数据 // 获取批次号最大的数据
// wrapper.orderByDesc(ExamineResult::getBatch).last("limit 1"); // wrapper.orderByDesc(ExamineResult::getBatch).last("limit 1");
List<ExamineResult> resultList = examineResultService.list(wrapper); List<ExamineResult> resultList = examineResultService.list(wrapper);
if (resultList != null && resultList.size() > 0) {
for (ExamineResult result : resultList) {
String picturePath = result.getPicturePath();
if (picturePath != null && !"".equals(picturePath)) {
List<String> path = new ArrayList<>();
String[] split = picturePath.split(",");
for (String s : split) {
path.add(s);
}
result.setPath(path);
}
}
}
map.put("resultList", resultList); map.put("resultList", resultList);
} }
map.put("examine", examine); map.put("examine", examine);

@ -63,6 +63,20 @@ public class ExamineItemController extends BladeController {
return R.data(page); return R.data(page);
} }
// TODO 加一个分页查接口
@GetMapping("/page")
public R<Object> page(ExamineItem entry, Query query) {
LambdaQueryWrapper<ExamineItem> wrapper = new LambdaQueryWrapper<>();
//根据name模糊查询
if (entry.getName() != null && !"".equals(entry.getName())) {
wrapper.like(ExamineItem::getName, entry.getName()).or()
.like(ExamineItem::getRemark, entry.getName());
}
wrapper.orderByDesc(ExamineItem::getCreateTime);
IPage<ExamineItem> page = service.page(Condition.getPage(query), wrapper);
return R.data(page);
}
/** /**
* 更改 * 更改
*/ */
@ -101,12 +115,14 @@ public class ExamineItemController extends BladeController {
@GetMapping("/getReagent") @GetMapping("/getReagent")
public List<Reagent> getReagent(String id) { public List<Reagent> getReagent(String id) {
ExamineItem examineItem = service.getById(id); ExamineItem examineItem = service.getById(id);
String reagentId = examineItem.getReagentId();
String[] split = reagentId.split(",");
List<Reagent> reagentList = new ArrayList<>(); List<Reagent> reagentList = new ArrayList<>();
for (String s : split) { if (examineItem != null) {
Reagent reagent = reagentService.getById(s); String reagentId = examineItem.getReagentId();
reagentList.add(reagent); String[] split = reagentId.split(",");
for (String s : split) {
Reagent reagent = reagentService.getById(s);
reagentList.add(reagent);
}
} }
return reagentList; return reagentList;
} }

@ -1364,9 +1364,9 @@ public class ExamineResultController extends BladeController {
* PCRExcel解析数据 * PCRExcel解析数据
*/ */
private R pcrExcel(MultipartFile file, String examineId) { private R pcrExcel(MultipartFile file, String examineId) {
List<PCRExcel> read = ExcelUtil.read(file, PCRExcel.class); List<PCR2Excel> read = ExcelUtil.read(file, PCR2Excel.class);
if (read != null && read.size() > 0) { if (read != null && read.size() > 0) {
for (PCRExcel pcrExcel : read) { for (PCR2Excel pcrExcel : read) {
if ("".equals(pcrExcel.getCtValue()) || pcrExcel.getCtValue() == null) { if ("".equals(pcrExcel.getCtValue()) || pcrExcel.getCtValue() == null) {
pcrExcel.setCtValue("/"); pcrExcel.setCtValue("/");
pcrExcel.setValue("阴性"); pcrExcel.setValue("阴性");
@ -1374,12 +1374,12 @@ public class ExamineResultController extends BladeController {
pcrExcel.setValue("阳性"); pcrExcel.setValue("阳性");
} }
} }
PCRExcel pcrExcel1 = new PCRExcel(); PCR2Excel pcrExcel1 = new PCR2Excel();
pcrExcel1.setExperieNum("阴性 对照"); pcrExcel1.setExperieNum("阴性 对照");
pcrExcel1.setCtValue(""); pcrExcel1.setCtValue("");
pcrExcel1.setValue("阴性"); pcrExcel1.setValue("阴性");
read.add(pcrExcel1); read.add(pcrExcel1);
PCRExcel pcrExcel2 = new PCRExcel(); PCR2Excel pcrExcel2 = new PCR2Excel();
pcrExcel2.setExperieNum("阳性 对照"); pcrExcel2.setExperieNum("阳性 对照");
pcrExcel2.setCtValue(""); pcrExcel2.setCtValue("");
pcrExcel2.setValue("阳性"); pcrExcel2.setValue("阳性");
@ -1619,7 +1619,7 @@ public class ExamineResultController extends BladeController {
* 上传检测结果照片 * 上传检测结果照片
*/ */
@PostMapping("/resultPicture") @PostMapping("/resultPicture")
public R<String> resultPicture(@RequestParam String picturePath) { public R<String> resultPicture(@RequestParam MultipartFile file) {
return R.data(service.resultPicture(picturePath)); return R.data(service.resultPicture(file));
} }
} }

@ -66,6 +66,20 @@ public class ExamineWayController extends BladeController {
return R.data(page); return R.data(page);
} }
// TODO 加一个分页查接口
@GetMapping("/page")
public R<Object> page(ExamineWay entry, Query query) {
LambdaQueryWrapper<ExamineWay> wrapper = new LambdaQueryWrapper<>();
//根据name模糊查询
if (entry.getName() != null && !"".equals(entry.getName())) {
wrapper.like(ExamineWay::getName, entry.getName()).or()
.like(ExamineWay::getRemark, entry.getName());
}
wrapper.orderByDesc(ExamineWay::getCreateTime);
IPage<ExamineWay> page = service.page(Condition.getPage(query), wrapper);
return R.data(page);
}
/** /**
* 修改 * 修改
*/ */
@ -87,8 +101,8 @@ public class ExamineWayController extends BladeController {
if (entry.getInstrumentId() != null) { if (entry.getInstrumentId() != null) {
Instrument instrument = instrumentService.getById(entry.getInstrumentId()); Instrument instrument = instrumentService.getById(entry.getInstrumentId());
entry.setInstrumentName(instrument.getName()); entry.setInstrumentName(instrument.getName());
entry.setUseCount(0);
} }
entry.setUseCount(0);
return service.save(entry); return service.save(entry);
} }

@ -0,0 +1,11 @@
package org.springblade.lims.excel;
import lombok.Data;
@Data
public class PCR2Excel extends PCRExcel {
// 检测结果
private String value;
}

@ -19,8 +19,8 @@ public class PCRExcel implements Serializable {
@ExcelProperty("CT值") @ExcelProperty("CT值")
private String ctValue; private String ctValue;
@ColumnWidth(20) // @ColumnWidth(20)
@ExcelProperty("检测结果") // @ExcelProperty("检测结果")
private String value; // private String value;
} }

@ -5,6 +5,7 @@ package org.springblade.lims.service;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.lims.entry.Entrust; import org.springblade.lims.entry.Entrust;
import org.springblade.lims.entry.ExamineResult; import org.springblade.lims.entry.ExamineResult;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 委托单表 服务类 * 委托单表 服务类
@ -18,5 +19,5 @@ public interface IExamineResultService extends BaseService<ExamineResult> {
void resultCommit(ExamineResult examineResult) throws Exception; void resultCommit(ExamineResult examineResult) throws Exception;
String resultPicture(String picturePath); String resultPicture(MultipartFile file);
} }

@ -13,6 +13,7 @@ import org.checkerframework.checker.units.qual.A;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.lims.entry.*; import org.springblade.lims.entry.*;
import org.springblade.lims.excel.ExamineTemplate2Excel; import org.springblade.lims.excel.ExamineTemplate2Excel;
import org.springblade.lims.excel.PCR2Excel;
import org.springblade.lims.excel.PCRExcel; import org.springblade.lims.excel.PCRExcel;
import org.springblade.lims.mapper.EntrustMapper; import org.springblade.lims.mapper.EntrustMapper;
import org.springblade.lims.service.*; import org.springblade.lims.service.*;
@ -777,7 +778,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
// PCR检测 // PCR检测
else if ("4".equals(byId.getInputMode())) { else if ("4".equals(byId.getInputMode())) {
List<PCRExcel> list = JSON.parseArray(examineResult.getExamineDataArr(), PCRExcel.class); List<PCR2Excel> list = JSON.parseArray(examineResult.getExamineDataArr(), PCR2Excel.class);
if (list.size() > 0) { if (list.size() > 0) {
if (list.size() % 2 == 0) { if (list.size() % 2 == 0) {
for (int i = 0; i < list.size() / 2; i++) { for (int i = 0; i < list.size() / 2; i++) {
@ -805,12 +806,31 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
} }
if (examineResult.getPicturePath() != null && !"".equals(examineResult.getPicturePath())) { if (examineResult.getPicturePath() != null && !"".equals(examineResult.getPicturePath())) {
String[] sp = examineResult.getPicturePath().split(",");
for (String s2 : sp) {
Map<String, Object> map = new HashMap<>();
ImageEntity farView1 = new ImageEntity();
farView1.setHeight(400);//设置高度
farView1.setWidth(700);//设置宽度
farView1.setType(ImageEntity.Data);//类型
String s1 = path + s2;
FileInputStream fis = null;
try {
fis = new FileInputStream(new File(s1));
byte[] bytes = readInputStream(fis);
farView1.setData(bytes);
} catch (Exception e) {
e.printStackTrace();
}
map.put("picture", farView1);
resultList2.add(map);
}
} }
result.put("list", resultList1);
url = PCRreportPrint;
} }
result.put("list1", resultList2);
result.put("list", resultList1);
url = PCRreportPrint;
} }
// 普通和口蹄疫检测 // 普通和口蹄疫检测
else { else {

@ -16,6 +16,7 @@ import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient; import org.springblade.system.user.feign.IUserClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;
@ -164,63 +165,25 @@ public class ExamineResultServiceImpl extends BaseServiceImpl<ExamineResultMappe
} }
@Override @Override
public String resultPicture(String picturePath) { public String resultPicture(MultipartFile file) {
String fileName = ""; String fileName = "";
if (!"".equals(picturePath) && picturePath != null) { if (file != null) {
Random random = new Random(); Random random = new Random();
fileName = random.nextLong() + ".png"; fileName = random.nextLong() + ".png";
String path = sysClient.getParamValue("electronic_signature_real_path").getData() + fileName; String path = sysClient.getParamValue("electronic_signature_real_path").getData() + fileName;
// byte[] bytes = Base64Utils.decodeFromString(user.getElectronicSignature());
// byte[] decode = Base64.getMimeDecoder().decode(user.getElectronicSignature());
// String tempStr = user.getElectronicSignature(); FileOutputStream fout;
try {
if (picturePath.contains("data:")) { fout = new FileOutputStream(path);
int start = picturePath.indexOf(","); fout.write(file.getBytes());
picturePath = picturePath.substring(start + 1); fout.close();
} catch (Exception e) {
e.printStackTrace();
} }
final Base64.Decoder decoder = Base64.getDecoder();
picturePath = picturePath.replaceAll("\r|\n", "");
picturePath = picturePath.trim();
byte[] decode = decoder.decode(picturePath);
byteArrayToFile(decode, path);
// String s = sysClient.getParamValue("electronic_signature").getData();
// user.setElectronicSignature(fileName);
} }
return fileName; return fileName;
} }
public static void byteArrayToFile(byte[] src, String filePath) {
//1.创建源
File file = new File(filePath);
//选择流
InputStream writing = null;
OutputStream os = null;
try {
writing = new ByteArrayInputStream(src);
os = new FileOutputStream(file);
byte[] frush = new byte[5];//3表示0个字节为一段
int len = -1;
while ((len = writing.read(frush)) != -1) {
os.write(frush, 0, len);
}
os.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (os != null) {
try {
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean doExamine(ExamineResult entry) throws Exception { public boolean doExamine(ExamineResult entry) throws Exception {
@ -305,10 +268,38 @@ public class ExamineResultServiceImpl extends BaseServiceImpl<ExamineResultMappe
// TODO 当有多个检测结果的时候,getOne报错 // TODO 当有多个检测结果的时候,getOne报错
ExamineResult examineResult = this.getOne(wrapper); ExamineResult examineResult = this.getOne(wrapper);
entry.setId(examineResult.getId()); entry.setId(examineResult.getId());
// 上传图片文件名
List<String> path = entry.getPath();
if (path != null && path.size() > 0) {
String picturePath = "";
if (path.size() > 1) {
for (String s : path) {
String s1 = s + ",";
picturePath += s1;
}
} else {
picturePath = path.get(0);
}
entry.setPicturePath(picturePath);
}
return this.updateById(entry); return this.updateById(entry);
} }
// 提交修改实验结果 // 提交修改实验结果
else { else {
// 上传图片文件名
List<String> path = entry.getPath();
if (path != null && path.size() > 0) {
String picturePath = "";
if (path.size() > 1) {
for (String s : path) {
String s1 = s + ",";
picturePath += s1;
}
} else {
picturePath = path.get(0);
}
entry.setPicturePath(picturePath);
}
return this.updateById(entry); return this.updateById(entry);
} }
} }

@ -140,19 +140,36 @@ public class UserController {
/** /**
* 自定义用户列表 * 自定义用户列表
*/ */
// @GetMapping("/page")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
// @ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
// })
// @ApiOperationSupport(order = 3)
// @ApiOperation(value = "列表", notes = "传入account和realName")
// //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
// public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
// IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
// return R.data(UserWrapper.build().pageVO(pages));
// }
@GetMapping("/page") @GetMapping("/page")
@ApiImplicitParams({ public R<IPage<UserVO>> newPage(User user, Query query) {
@ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"), LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
@ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string") if (AuthUtil.getUserId() != 1530823299437965313L) {
}) wrapper.ne(User::getId, 1530823299437965313L);
@ApiOperationSupport(order = 3) }
@ApiOperation(value = "列表", notes = "传入account和realName") if (user.getDeptId() != null && !"".equals(user.getDeptId())) {
//@PreAuth(RoleConstant.HAS_ROLE_ADMIN) wrapper.eq(User::getDeptId, user.getDeptId());
public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) { }
IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId())); wrapper.eq(User::getTenantId, AuthUtil.getTenantId());
return R.data(UserWrapper.build().pageVO(pages)); wrapper.orderByDesc(User::getCreateTime);
IPage<User> page = userService.page(Condition.getPage(query), wrapper);
return R.data(UserWrapper.build().pageVO(page));
// return R.data(userService.page(Condition.getPage(query), wrapper));
} }
/** /**
* 新增或修改 * 新增或修改
*/ */
@ -181,7 +198,6 @@ public class UserController {
} }
/** /**
* 删除 * 删除
*/ */

Loading…
Cancel
Save