样品变更数量时,序号跟着变的规则

dev
swj 3 years ago
parent 9a04f1c97e
commit f7e8d3bb52
  1. 1
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/SimpleRel.java
  2. 52
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java
  3. 12
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java

@ -44,5 +44,6 @@ public class SimpleRel extends BaseEntity implements Serializable {
private Integer isDeleted; private Integer isDeleted;
private Integer sort;
} }

@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @author swj * @author swj
@ -50,38 +51,41 @@ public class SimpleRelController extends BladeController {
@PostMapping("/update") @PostMapping("/update")
public void update(@RequestBody SimpleRel simpleRel) { public void update(@RequestBody SimpleRel simpleRel) {
// 0.数据准备:检验编号
String experieNum = simpleRel.getExamineExperieNum().substring(0, 13);
// 1.修改样品关联
simpleRelService.updateById(simpleRel); simpleRelService.updateById(simpleRel);
// 2.查所有的样品关联
LambdaQueryWrapper<SimpleRel> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SimpleRel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SimpleRel::getEntrustId, simpleRel.getEntrustId()); wrapper.eq(SimpleRel::getEntrustId, simpleRel.getEntrustId());
wrapper.eq(SimpleRel::getStatus, 0); wrapper.eq(SimpleRel::getStatus, 0);
wrapper.orderByAsc(SimpleRel::getSort);
List<SimpleRel> rels = simpleRelService.list(wrapper); List<SimpleRel> rels = simpleRelService.list(wrapper);
// 3.开始计算
LambdaQueryWrapper<Simple> wrapper1 = new LambdaQueryWrapper<>(); int num = 1;
wrapper1.eq(Simple::getEntrustId, simpleRel.getEntrustId()); Map<Integer, List<SimpleRel>> collect = rels.stream().collect(Collectors.groupingBy(SimpleRel::getSort));
List<Simple> simples = simpleService.list(wrapper1); for (int i = 0; i < collect.size(); i++) {
int a = 1; List<SimpleRel> currSimpleRels = collect.get(i);
if (simples.size() > 0) { // 实验的
a = simples.size() + 1; for (SimpleRel currRel : currSimpleRels) {
} String examineExperieNum = "";
String s = simpleRel.getExamineExperieNum().substring(0, 13); for (Integer j = 0; j < currRel.getExamineNum(); j++) {
// 实验检测编号 examineExperieNum += experieNum + num + ",";
for (SimpleRel rel : rels) { num ++;
String num = ""; }
for (Integer i = 0; i < rel.getExamineNum(); i++) { currRel.setExamineExperieNum(examineExperieNum);
num += s + a + ",";
a++;
} }
rel.setExamineExperieNum(num); // 留样的
} for (SimpleRel currRel : currSimpleRels) {
// 留样检测编号 String reagentNum = "";
for (SimpleRel rel : rels) { for (Integer k = 0; k < currRel.getReagentNum(); k++) {
String num = ""; reagentNum += experieNum + num + ",";
for (Integer i = 0; i < rel.getReagentNum(); i++) { num ++;
num += s + a + ","; }
a++; currRel.setReagentExperieNum(reagentNum);
} }
rel.setReagentExperieNum(num);
} }
// 4.修改
simpleRelService.updateBatchById(rels); simpleRelService.updateBatchById(rels);
} }

@ -197,12 +197,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
StringBuilder simpleName = new StringBuilder(); StringBuilder simpleName = new StringBuilder();
Integer simpleCount = 0; Integer simpleCount = 0;
List<Map<String, Object>> list = entrust.getSimpleNames(); List<Map<String, Object>> list = entrust.getSimpleNames();
int sum = 1;
for (Map<String, Object> map : list) {
Integer count = (Integer) map.get("simpleCount");
sum += count;
}
// 样品排序
int sort = 1;
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
// 样品名称 // 样品名称
String name = (String) map.get("simpleName"); String name = (String) map.get("simpleName");
@ -224,17 +221,16 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
simpleRel.setSimpleName(name); simpleRel.setSimpleName(name);
simpleRel.setReagentNum(1); simpleRel.setReagentNum(1);
// simpleRel.setReagentExperieNum(s + sum);
// sum++;
simpleRel.setReagentExperieNum(s + ((a - 1) * 2 + i + 1 + count)); simpleRel.setReagentExperieNum(s + ((a - 1) * 2 + i + 1 + count));
simpleRel.setExamineNum(1); simpleRel.setExamineNum(1);
// simpleRel.setExamineExperieNum(s + (i + a));
simpleRel.setExamineExperieNum(s + ((a - 1) * 2 + i + 1)); simpleRel.setExamineExperieNum(s + ((a - 1) * 2 + i + 1));
simpleRel.setRecessiveNum((i + a) + ""); simpleRel.setRecessiveNum((i + a) + "");
simpleRel.setOriginalNum((i + a) + ""); simpleRel.setOriginalNum((i + a) + "");
simpleRel.setStatus(0); simpleRel.setStatus(0);
simpleRel.setSort(sort);
rels.add(simpleRel); rels.add(simpleRel);
} }
sort ++;
} }
simpleRelService.saveBatch(rels); simpleRelService.saveBatch(rels);

Loading…
Cancel
Save