2023年7月14日10:01:27

dev
litao 2 years ago
parent 328ad7ad38
commit c17b36f4df
  1. 11
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Entrust.java
  2. 2
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java
  3. 1
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/GoodsController.java
  4. 2
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/service/IApplyService.java
  5. 48
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/service/impl/ApplyServiceImpl.java
  6. 37
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java
  7. 196
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java
  8. 76
      lab-service/lab-lims/src/main/java/org/springblade/lims/excel/SimpleReceiveExcel.java
  9. 6
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/EntrustMapper.java
  10. 47
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/EntrustMapper.xml
  11. 7
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IEntrtrustService.java
  12. 394
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java

@ -224,4 +224,15 @@ public class Entrust extends BaseEntity implements Serializable {
@TableField(exist = false)
private Date endTime;
// 检测编号
@TableField(exist = false)
private String experieNum;
// 领样人
@TableField(exist = false)
private String simpleReceiverName;
// 领养日期
@TableField(exist = false)
private Date simpleReceiverTime;
}

@ -458,6 +458,6 @@ public class ApplyController extends BladeController {
*/
@GetMapping("/applyCheck")
public R applyCheck() {
return R.status(applyService.applyCheck());
return R.data(applyService.applyCheck());
}
}

@ -362,6 +362,7 @@ public class GoodsController extends BladeController {
productStoreDetial.setGoodsName(byId.getName());
// productStoreDetial.setCompany(contractVO.getSupplierName());
productStoreDetial.setStatus(0);
productStoreDetial.setInNum(productStoreDetial.getNum());
// 消息通知
List<User> userList = userClient.listRolebyId("实验室组长").getData();
if (userList != null) {

@ -13,5 +13,5 @@ public interface IApplyService extends BaseService<Apply> {
boolean updateApplyOrDetails(Apply apply);
boolean applyCheck();
int applyCheck();
}

@ -29,10 +29,11 @@ import javax.servlet.http.HttpServletResponse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* 申请表 服务实现类
@ -227,9 +228,9 @@ public class ApplyServiceImpl extends BaseServiceImpl<ApplyMapper, Apply> implem
// 条件查询申领相关物品信息
List<ApplyDetail> details = applyDetailService.list(wrapper);
if (details.size() == 0){//如果申领详情表中无数据,说明这个申领的详情数据可能被删掉了,但是由于申请通过之后就会减库存,所以直接将申请表设置为已完成就行了
if (details.size() == 0) {//如果申领详情表中无数据,说明这个申领的详情数据可能被删掉了,但是由于申请通过之后就会减库存,所以直接将申请表设置为已完成就行了
apply.setStatus(4);
}else{
} else {
// 申领单修改状态
for (ApplyDetail detail : details) {
// 如果归还时间不为null
@ -249,11 +250,36 @@ public class ApplyServiceImpl extends BaseServiceImpl<ApplyMapper, Apply> implem
}
@Override
public boolean applyCheck() {
int count = this.count(new LambdaQueryWrapper<Apply>().eq(Apply::getApplyUserId, AuthUtil.getUserId()).eq(Apply::getStatus, 2));
if (count > 0) {
return false;
public int applyCheck() {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
List<Integer> list = new ArrayList<>();
list.add(0);
list.add(1);
list.add(2);
list.add(3);
// 当天之前为确认的申领单数量
int count = this.count(new LambdaQueryWrapper<Apply>()
.eq(Apply::getApplyUserId, AuthUtil.getUserId())
.in(Apply::getStatus, list)
.le(Apply::getApplyTime, todayStart.format(dtf)));
// 如果当天之前未确认数为0,限制今天可以有最多5条未确认数
if (count == 0) {
// 当天未确认数量
int nowCount = this.count(new LambdaQueryWrapper<Apply>()
.eq(Apply::getApplyUserId, AuthUtil.getUserId())
.in(Apply::getStatus, list)
.ge(Apply::getApplyTime, todayStart.format(dtf)));
// 当天未确认数量大于5,返回实际数量
if (nowCount >= 5) {
count = nowCount;
}
}
return true;
return count;
}
}

@ -32,6 +32,7 @@ import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.lims.entry.*;
import org.springblade.lims.excel.EntrustExcel;
import org.springblade.lims.excel.SimpleReceiveExcel;
import org.springblade.lims.mapper.EntrustMapper;
import org.springblade.lims.service.*;
import lombok.AllArgsConstructor;
@ -1753,4 +1754,40 @@ public class EntrustController extends BladeController {
}
ExcelUtil.export(response, "委托单统计", "委托单", excels, EntrustExcel.class);
}
/**
* 样品接收/发放统计
*/
@GetMapping("/simpleReceive")
public R<IPage<Entrust>> simpleReceive(Entrust entry, Query query) {
return R.data(service.simpleReceive(Condition.getPage(query), entry));
}
/**
* 样品接收/发放统计导出
*/
@GetMapping("/simpleReceiveExport")
public void simpleReceiveExport(HttpServletResponse response, Entrust entry) {
List<SimpleReceiveExcel> excels = new ArrayList<>();
List<Entrust> entrusts = service.simpleReceiveExport(entry);
if (CollectionUtils.isNotEmpty(entrusts)) {
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
for (Entrust entrust : entrusts) {
SimpleReceiveExcel excel = new SimpleReceiveExcel();
excel.setAcceptanceNum(entrust.getAcceptanceNum());
excel.setSamplingDate(entrust.getSamplingDate());
excel.setEntrustCustomerName(entrust.getEntrustCustomerName());
excel.setSimpleName(entrust.getSimpleName());
excel.setSimpleCount(entrust.getSimpleCount());
excel.setSubmittedBy(entrust.getSubmittedBy());
excel.setPhone(entrust.getPhone());
excel.setSampleReceiverName(entrust.getSampleReceiverName());
excel.setExperieNum(entrust.getExperieNum());
excel.setSimpleReceiverName(entrust.getSimpleReceiverName());
excel.setSimpleReceiverTime(entrust.getSimpleReceiverTime());
excels.add(excel);
}
}
ExcelUtil.export(response, "委托单统计", "委托单", excels, SimpleReceiveExcel.class);
}
}

@ -2744,7 +2744,7 @@ public class ExamineResultController extends BladeController {
mapResult1.put("originResult", code);
mapResult.put("value", code);
mapResult1.put("value", df.format(v1) + "," + df.format(v2));
int indexNum = (i * 32) + (num * 8 + j);
int indexNum = (i * 30) + (num * 8 + j);
mapResult.put("num", split[indexNum]);
mapResult1.put("num", split[indexNum]);
if (v1 >= 0.2 && v2 >= 0.2) {
@ -2872,6 +2872,200 @@ public class ExamineResultController extends BladeController {
map1.put("g" + (i + 1), mapList);
}
}
// 禽败血支原体ELISA抗体检测试剂盒---百沃特(ID.VET)
else if ("1677607364850900993".equals(reagentId)) {
for (int i = 0; i < group; i++) {
List<Map<String, Map<String, Object>>> mapList = new ArrayList<>();
List<ExamineExcel> excels = map.get(i + 1 + "");
double code1 = Double.parseDouble(excels.get(0).getCode1());
double code2 = Double.parseDouble(excels.get(1).getCode1());
double code3 = Double.parseDouble(excels.get(2).getCode1());
double code4 = Double.parseDouble(excels.get(3).getCode1());
double v1 = (code1 + code2) / 2;
double v2 = (code3 + code4) / 2;
DecimalFormat df = new DecimalFormat("#0.000");
for (int j = 0; j < excels.size(); j++) {
// 行标头:前端渲染需要A、B、C....
String a = String.valueOf((char) (j + 65));
ExamineExcel examineExcel = excels.get(j);//取到一行记录
int filedsLength = examineExcel.getClass().getDeclaredFields().length - 1;
Map<String, Map<String, Object>> map2 = new HashMap<>();
String SP = "0.00";
for (int n = 1; n <= filedsLength; n++) {
String code;
switch (n) {
case 1:
code = examineExcel.getCode1();
break;
case 2:
code = examineExcel.getCode2();
break;
case 3:
code = examineExcel.getCode3();
break;
case 4:
code = examineExcel.getCode4();
break;
case 5:
code = examineExcel.getCode5();
break;
case 6:
code = examineExcel.getCode6();
break;
case 7:
code = examineExcel.getCode7();
break;
case 8:
code = examineExcel.getCode8();
break;
case 9:
code = examineExcel.getCode9();
break;
case 10:
code = examineExcel.getCode10();
break;
case 11:
code = examineExcel.getCode11();
break;
case 12:
code = examineExcel.getCode12();
break;
default:
code = "0";
}
Map<String, Object> mapResult = new HashMap<>();
int index = (n - 1) * 8 + j + 1; //n是列,j是行 ,我们定义index是一列列的定义
if (StringUtils.isNotBlank(code)) {
if (j > 5 || n > 1) {
if ((v2 - v1) != 0) {
SP = df.format((Double.parseDouble(code) - v1) / (v2 - v1));
}
mapResult.put("originResult", code);
mapResult.put("value", SP);
mapResult.put("num", "1");
if (Double.parseDouble(SP) < 0.5) {
mapResult.put("result", "阴性");
} else {
mapResult.put("result", "阳性");
}
} else {
mapResult.put("originResult", code);
mapResult.put("num", "");
}
} else {
mapResult.put("originResult", "");
mapResult.put("num", "");
}
mapResult.put("order", index + i * 96);
map2.put(a + n, mapResult);
list.add(mapResult);
}
mapList.add(map2);
}
map1.put("g" + (i + 1), mapList);
}
}
// 禽滑液囊支原体ELISA抗体检测试剂盒---百沃特(ID.VET)
else if ("1677607364859289601".equals(reagentId)) {
for (int i = 0; i < group; i++) {
List<Map<String, Map<String, Object>>> mapList = new ArrayList<>();
List<ExamineExcel> excels = map.get(i + 1 + "");
double code1 = Double.parseDouble(excels.get(0).getCode1());
double code2 = Double.parseDouble(excels.get(1).getCode1());
double code3 = Double.parseDouble(excels.get(2).getCode1());
double code4 = Double.parseDouble(excels.get(3).getCode1());
double v1 = (code1 + code2) / 2;
double v2 = (code3 + code4) / 2;
DecimalFormat df = new DecimalFormat("#0.000");
for (int j = 0; j < excels.size(); j++) {
// 行标头:前端渲染需要A、B、C....
String a = String.valueOf((char) (j + 65));
ExamineExcel examineExcel = excels.get(j);//取到一行记录
int filedsLength = examineExcel.getClass().getDeclaredFields().length - 1;
Map<String, Map<String, Object>> map2 = new HashMap<>();
String SP = "0.00";
for (int n = 1; n <= filedsLength; n++) {
String code;
switch (n) {
case 1:
code = examineExcel.getCode1();
break;
case 2:
code = examineExcel.getCode2();
break;
case 3:
code = examineExcel.getCode3();
break;
case 4:
code = examineExcel.getCode4();
break;
case 5:
code = examineExcel.getCode5();
break;
case 6:
code = examineExcel.getCode6();
break;
case 7:
code = examineExcel.getCode7();
break;
case 8:
code = examineExcel.getCode8();
break;
case 9:
code = examineExcel.getCode9();
break;
case 10:
code = examineExcel.getCode10();
break;
case 11:
code = examineExcel.getCode11();
break;
case 12:
code = examineExcel.getCode12();
break;
default:
code = "0";
}
Map<String, Object> mapResult = new HashMap<>();
int index = (n - 1) * 8 + j + 1; //n是列,j是行 ,我们定义index是一列列的定义
if (StringUtils.isNotBlank(code)) {
if (j > 5 || n > 1) {
if ((v2 - v1) != 0) {
SP = df.format((Double.parseDouble(code) - v1) / (v2 - v1));
}
mapResult.put("originResult", code);
mapResult.put("value", SP);
mapResult.put("num", "1");
if (Double.parseDouble(SP) < 0.5) {
mapResult.put("result", "阴性");
} else {
mapResult.put("result", "阳性");
}
} else {
mapResult.put("originResult", code);
mapResult.put("num", "");
}
} else {
mapResult.put("originResult", "");
mapResult.put("num", "");
}
mapResult.put("order", index + i * 96);
map2.put(a + n, mapResult);
list.add(mapResult);
}
mapList.add(map2);
}
map1.put("g" + (i + 1), mapList);
}
}
// 无该试剂公式提示
else {
throw new Exception("该试剂未维护公式计算,请联系相关开发人员!");

@ -0,0 +1,76 @@
package org.springblade.lims.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class SimpleReceiveExcel {
// 受理编号
@ColumnWidth(20)
@ExcelProperty("受理编号")
private String acceptanceNum;
// 接收日期
@ColumnWidth(20)
@ExcelProperty("接收日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日", timezone = "GMT+8")
private Date samplingDate;
// 送检单位
@ColumnWidth(20)
@ExcelProperty("送检单位")
private String entrustCustomerName;
// 样品名称
@ColumnWidth(20)
@ExcelProperty("样品名称")
private String simpleName;
// 样品数量
@ColumnWidth(20)
@ExcelProperty("样品数量")
private Integer simpleCount;
// 送检人
@ColumnWidth(20)
@ExcelProperty("送检人")
private String submittedBy;
// 联系电话
@ColumnWidth(20)
@ExcelProperty("联系电话")
private String phone;
// 接样员
@ColumnWidth(20)
@ExcelProperty("接样员")
private String sampleReceiverName;
// 检测编号
@ColumnWidth(20)
@ExcelProperty("检测编号")
private String experieNum;
// 领样人
@ColumnWidth(20)
@ExcelProperty("领样人")
private String simpleReceiverName;
// 领养日期
@ColumnWidth(20)
@ExcelProperty("领养日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日", timezone = "GMT+8")
private Date simpleReceiverTime;
}

@ -2,6 +2,7 @@
package org.springblade.lims.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import feign.Param;
import org.springblade.lims.entry.Entrust;
@ -15,6 +16,9 @@ import java.util.List;
*/
public interface EntrustMapper extends BaseMapper<Entrust> {
List<Entrust> entrustListNonStatus(@Param Entrust entrust);
List<Entrust> entrustListNonStatus(@Param Entrust entrust);
List<Entrust> simpleReceive(IPage<Entrust> page, Entrust entry);
List<Entrust> simpleReceiveExport(Entrust entry);
}

@ -8,7 +8,8 @@
<result column="sample_name" property="sampleName"/>
</resultMap>
<select id="entrustListNonStatus" parameterType="org.springblade.lims.entry.Entrust" resultType="org.springblade.lims.entry.Entrust">
<select id="entrustListNonStatus" parameterType="org.springblade.lims.entry.Entrust"
resultType="org.springblade.lims.entry.Entrust">
SELECT
*
FROM
@ -20,5 +21,49 @@
AND is_deleted in (0,1)
AND entrust_status &lt;&gt; - 1
</select>
<select id="simpleReceive" resultType="org.springblade.lims.entry.Entrust">
SELECT
a.*
b.simple_receiver AS simpleReceiverTime,
b.experie_num AS experieNum,
b.simple_receiver_name AS simpleReceiverName
FROM
f_entrust_main AS a
LEFT JOIN (
SELECT
MIN( c.simple_receiver_time ) AS simple_receiver_time,
MIN( c.experie_num ) AS experie_num,
MAX( c.simple_receiver_name ) AS simple_receiver_name,
c.entrust_id AS entrust_id
FROM f_examine AS c
WHERE c.is_deleted = 0
GROUP BY c.entrust_id
) AS b ON a.id = b.entrust_id
WHERE
a.is_deleted = 0 AND a.entrust_status != '-1'
ORDER BY a.sampling_date ASC
</select>
<select id="simpleReceiveExport" resultType="org.springblade.lims.entry.Entrust">
SELECT
a.*
b.simple_receiver AS simpleReceiverTime,
b.experie_num AS experieNum,
b.simple_receiver_name AS simpleReceiverName
FROM
f_entrust_main AS a
LEFT JOIN (
SELECT
MIN( c.simple_receiver_time ) AS simple_receiver_time,
MIN( c.experie_num ) AS experie_num,
MAX( c.simple_receiver_name ) AS simple_receiver_name,
c.entrust_id AS entrust_id
FROM f_examine AS c
WHERE c.is_deleted = 0
GROUP BY c.entrust_id
) AS b ON a.id = b.entrust_id
WHERE
a.is_deleted = 0 AND a.entrust_status != '-1'
ORDER BY a.sampling_date ASC
</select>
</mapper>

@ -2,10 +2,12 @@
package org.springblade.lims.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.lims.entry.Entrust;
import org.springblade.core.mp.base.BaseService;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@ -42,4 +44,9 @@ public interface IEntrtrustService extends BaseService<Entrust> {
void repairPrint(String id, HttpServletResponse response);
void sampleRegister(String id, HttpServletResponse response);
IPage<Entrust> simpleReceive(IPage<Entrust> page, Entrust entry);
List<Entrust> simpleReceiveExport(Entrust entry);
}

@ -6,12 +6,14 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.models.auth.In;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xwpf.usermodel.*;
import org.springblade.common.utils.ZipCompressUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.lims.entry.*;
@ -95,6 +97,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Autowired
private IContractSampleService contractSampleService;
@Autowired
private EntrustMapper entrustMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Entrust addEntrust(Entrust entrust) {
@ -372,14 +377,17 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
List<ExamineResultVo> resultList = new ArrayList<>();
System.out.println("examineList: " + examineList);
List<Simple> simples = simpleService.list(new LambdaQueryWrapper<Simple>().eq(Simple::getEntrustId, id));
// 根据检验判断有几个name
for (int i = 1; i <= examineList.size(); i++) {
Examine examine = examineList.get(i - 1);
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
ExamineWay examineWay = examineWayService.getById(examine.getExamineWayId());
// 检测项目名称
if ("2".equals(examineWay.getInputMode()) || "6".equals(examineWay.getInputMode())) {
reportMainBody.put("name" + i, examineWay.getName());
if ("6".equals(examineWay.getInputMode())) {
reportMainBody.put("name" + i, examineItem.getName() + examineWay.getName());
} else {
reportMainBody.put("name" + i, examineItem.getName());
}
@ -398,19 +406,24 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
ExamineTemplate2Excel excel = list.get(i1);
System.out.println("excel: " + excel);
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
Simple simple = simpleService.getOne(wrapper1);
System.out.println("simple: " + simple);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getExperieNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
// System.out.println("simple: " + simple);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
}
@ -433,15 +446,21 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
int endIndex = Integer.parseInt(split[split.length - 1]);
for (int e = startIndex; e <= endIndex; e++) {
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, split[0] + "-" + split[1] + "-" + e);
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
if (e == endIndex) {
originalNum += simple.getOriginalNum();
} else {
originalNum += simple.getOriginalNum() + ",";
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, split[0] + "-" + split[1] + "-" + e);
// Simple simple = simpleService.getOne(wrapper1);
int finalE = e;
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(split[0] + "-" + split[1] + "-" + finalE)).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
if (e == endIndex) {
originalNum += simple.getOriginalNum();
} else {
originalNum += simple.getOriginalNum() + ",";
}
}
}
}
@ -458,18 +477,23 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (PCR2Excel excel : list) {
System.out.println("excel: " + excel);
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getCtValue());
resultVo.setResult(excel.getResult());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getExperieNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getCtValue());
resultVo.setResult(excel.getResult());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultList.add(resultVo);
}
}
}
}
@ -481,18 +505,23 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (list != null && list.size() > 0) {
for (XN2Excel excel : list) {
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getCtValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getExperieNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getCtValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
}
@ -503,18 +532,23 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (list != null && list.size() > 0) {
for (BiochemicalIdentificationExcel excel : list) {
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getExperieNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getExperieNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
}
@ -549,18 +583,22 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (ExamineDataArrVO excel : list1) {
ExamineResultVo resultVo = new ExamineResultVo();
// 根据*取样品
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getLog2());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getLog2());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
}
@ -583,18 +621,22 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (list1.size() > 0) {
for (ExamineDataArrVO excel : list1) {
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getLog2());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getLog2());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
}
@ -617,18 +659,22 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (list1.size() > 0) {
for (ExamineDataArrVO excel : list1) {
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getLog2());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getLog2());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
}
@ -642,18 +688,22 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (ExamineDataArrVO excel : list) {
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
reportMainBody.put("list", resultList);
@ -707,18 +757,22 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (list1.size() > 0) {
for (ExamineDataArrVO excel : list) {
ExamineResultVo resultVo = new ExamineResultVo();
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(Simple::getEntrustId, id);
wrapper1.eq(Simple::getExperieNum, excel.getNum());
Simple simple = simpleService.getOne(wrapper1);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
// LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(Simple::getEntrustId, id);
// wrapper1.eq(Simple::getExperieNum, excel.getNum());
// Simple simple = simpleService.getOne(wrapper1);
List<Simple> collect = simples.stream().filter(simple1 -> simple1.getExperieNum().equals(excel.getNum())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
Simple simple = collect.get(0);
if (simple != null) {
resultVo.setOriginalNum(simple.getOriginalNum());
resultVo.setRecessiveNum(simple.getRecessiveNum());
resultVo.setNum(simple.getExperieNum());
resultVo.setIndex(i);
resultVo.setValue(excel.getValue());
resultVo.setResult(excel.getResult());
resultList.add(resultVo);
}
}
}
//给检测结果赋值 start
@ -1043,6 +1097,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
Set<String> set = new HashSet();
// 定义一个仪器编号及名称变量
String instrumentName = "";
List<ExamineResult> results = new ArrayList<>();
// 如果不为空,遍历该集合
if (CollectionUtils.isNotEmpty(examineList)) {
for (Examine examine : examineList) {
@ -1050,6 +1106,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
LambdaQueryWrapper<ExamineResult> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ExamineResult::getExamineId, examine.getId());
ExamineResult examineResult = examineResultService.getOne(queryWrapper);
results.add(examineResult);
// 切割获取设备仪器id
String[] split = examineResult.getInstrumentId().split(",");
// 往set集合中添加
@ -1068,8 +1125,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
result1.put("code", instrumentName.replace(",", "\r\n"));
// 按照完成时间降序排列
List<Examine> examines = examineList.stream().sorted(Comparator.comparing(Examine::getFinishTime).reversed()).collect(Collectors.toList());
result1.put("experieDate", format3.format(examines.get(0).getFinishTime()));
// List<Examine> examines = examineList.stream().sorted(Comparator.comparing(Examine::getFinishTime).reversed()).collect(Collectors.toList());
List<ExamineResult> examines = results.stream().sorted(Comparator.comparing(ExamineResult::getVerificationTime).reversed()).collect(Collectors.toList());
result1.put("experieDate", format3.format(examines.get(0).getVerificationTime()));
result1.put("remark", entrust.getRemark());
result1.put("resultList1", ItemAndAllList);
@ -1771,51 +1829,29 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (int j = 1; j <= resultMap.size(); j++) {
List<XN2Excel> arrVOList = resultMap.get(String.valueOf(j));
// 使用每一页的数据
if (arrVOList.size() % 3 == 0) {
for (int i = 0; i < arrVOList.size() / 3; i++) {
if (arrVOList.size() % 2 == 0) {
for (int i = 0; i < arrVOList.size() / 2; i++) {
Map<String, Object> map = new HashMap<>();
map.put("num1", arrVOList.get(i).getExperieNum());
map.put("value1", arrVOList.get(i).getCtValue());
map.put("result1", arrVOList.get(i).getResult());
map.put("num2", arrVOList.get(arrVOList.size() / 3 + i).getExperieNum());
map.put("value2", arrVOList.get(arrVOList.size() / 3 + i).getCtValue());
map.put("result2", arrVOList.get(arrVOList.size() / 3 + i).getResult());
map.put("num3", arrVOList.get(arrVOList.size() / 3 * 2 + i).getExperieNum());
map.put("value3", arrVOList.get(arrVOList.size() / 3 * 2 + i).getCtValue());
map.put("result3", arrVOList.get(arrVOList.size() / 3 * 2 + i).getResult());
map.put("num2", arrVOList.get(arrVOList.size() / 2 + i).getExperieNum());
map.put("value2", arrVOList.get(arrVOList.size() / 2 + i).getCtValue());
map.put("result2", arrVOList.get(arrVOList.size() / 2 + i).getResult());
resultList1.add(map);
}
} else {
for (int i = 0; i < arrVOList.size() / 3 + 1; i++) {
if (arrVOList.size() % 3 == 1) {
Map<String, Object> map = new HashMap<>();
map.put("num1", arrVOList.get(i).getExperieNum());
map.put("value1", arrVOList.get(i).getCtValue());
map.put("result1", arrVOList.get(i).getResult());
if (i < arrVOList.size() / 3) {
map.put("num2", arrVOList.get(arrVOList.size() / 3 + i + 1).getExperieNum());
map.put("value2", arrVOList.get(arrVOList.size() / 3 + i + 1).getCtValue());
map.put("result2", arrVOList.get(arrVOList.size() / 3 + i + 1).getResult());
map.put("num3", arrVOList.get(arrVOList.size() / 3 * 2 + i + 1).getExperieNum());
map.put("value3", arrVOList.get(arrVOList.size() / 3 * 2 + i + 1).getCtValue());
map.put("result3", arrVOList.get(arrVOList.size() / 3 * 2 + i + 1).getResult());
}
resultList1.add(map);
} else if (arrVOList.size() % 3 == 2) {
Map<String, Object> map = new HashMap<>();
map.put("num1", arrVOList.get(i).getExperieNum());
map.put("value1", arrVOList.get(i).getCtValue());
map.put("result1", arrVOList.get(i).getResult());
map.put("num2", arrVOList.get(arrVOList.size() / 3 + i + 1).getExperieNum());
map.put("value2", arrVOList.get(arrVOList.size() / 3 + i + 1).getCtValue());
map.put("result2", arrVOList.get(arrVOList.size() / 3 + i + 1).getResult());
if (i < arrVOList.size() / 3) {
map.put("num3", arrVOList.get(arrVOList.size() / 3 * 2 + i + 2).getExperieNum());
map.put("value3", arrVOList.get(arrVOList.size() / 3 * 2 + i + 2).getCtValue());
map.put("result3", arrVOList.get(arrVOList.size() / 3 * 2 + i + 2).getResult());
}
resultList1.add(map);
for (int i = 0; i < arrVOList.size() / 2 + 1; i++) {
Map<String, Object> map = new HashMap<>();
map.put("num1", arrVOList.get(i).getExperieNum());
map.put("value1", arrVOList.get(i).getCtValue());
map.put("result1", arrVOList.get(i).getResult());
if (i < arrVOList.size() / 2) {
map.put("num2", arrVOList.get(arrVOList.size() / 2 + i + 1).getExperieNum());
map.put("value2", arrVOList.get(arrVOList.size() / 2 + i + 1).getCtValue());
map.put("result2", arrVOList.get(arrVOList.size() / 2 + i + 1).getResult());
}
resultList1.add(map);
}
}
}
@ -2854,6 +2890,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
|| "1570671477110534145".equals(examineResult.getReagentId())
|| "1659464963116519426".equals(examineResult.getReagentId())
|| "1589877000410296322".equals(examineResult.getReagentId())
|| "1677607364850900993".equals(examineResult.getReagentId())
|| "1677607364859289601".equals(examineResult.getReagentId())
|| "1582988982068027393".equals(examineResult.getReagentId())) {
result.put("18", "S/P");
} else if ("1580815808211578882".equals(examineResult.getReagentId())) {
@ -3681,6 +3719,20 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
map2.put("2", "阳性对照抑制率");
map2.put("3", df.format((yin - yang) / yin * 100) + "%");
}
// 禽败血支原体ELISA抗体检测试剂盒---百沃特(ID.VET)
else if ("1677607364850900993".equals(reagentId)) {
map1.put("2", "阴性对照OD平均值");
map1.put("3", format);
map2.put("2", "阳性对照OD平均值");
map2.put("3", format1);
}
// 禽滑液囊支原体ELISA抗体检测试剂盒---百沃特(ID.VET)
else if ("1677607364859289601".equals(reagentId)) {
map1.put("2", "阴性对照OD平均值");
map1.put("3", format);
map2.put("2", "阳性对照OD平均值");
map2.put("3", format1);
}
map1.put("5", "成立");
map2.put("5", "成立");
resultList3.add(map1);
@ -3809,7 +3861,11 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
result.put("sampleReceiverName", farView);
result.put("1", farView);
result.put("2", format.format(new Date()));
if (entrust.getSamplingDate() != null) {
result.put("2", format.format(entrust.getSamplingDate()));
} else {
result.put("2", format.format(new Date()));
}
List<Map<String, Object>> resultList1 = new ArrayList<>();
LambdaQueryWrapper<Simple> wrapper = new LambdaQueryWrapper<>();
@ -4806,6 +4862,24 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
}
@Override
public IPage<Entrust> simpleReceive(IPage<Entrust> page, Entrust entry) {
List<Entrust> entrusts = entrustMapper.simpleReceive(page, entry);
if (CollectionUtils.isNotEmpty(entrusts)) {
for (Entrust entrust : entrusts) {
String experieNum = entrust.getExperieNum();
String[] split = experieNum.split(",");
entrust.setExperieNum(split[0] + "-" + split[split.length - 1]);
}
}
return page.setRecords(entrustMapper.simpleReceive(page, entry));
}
@Override
public List<Entrust> simpleReceiveExport(Entrust entry) {
return entrustMapper.simpleReceiveExport(entry);
}
/**
* 根据网络图片URL转成字节数组弃用
*/

Loading…
Cancel
Save