解决二节点分样,检测编号手动设置,关联的地方做了修改

dev
litao 3 years ago
parent bf6299c31b
commit c0c4233b8e
  1. 22
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java
  2. 28
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java

@ -53,7 +53,17 @@ public class SimpleRelController extends BladeController {
@PostMapping("/update")
public void update(@RequestBody SimpleRel simpleRel) {
// 0.数据准备:检验编号
String experieNum = simpleRel.getExamineExperieNum().substring(0, 13);
// String experieNum = simpleRel.getExamineExperieNum().substring(0, 13);
String experieNum = "";
// 第一个检测编号
String firstNum = simpleRel.getExamineExperieNum().split(",")[0];
// 用“-”切割切割第一个编号
String[] split = firstNum.split("-");
// 取最后一个“-”之前的数据
for (int i = 0; i < split.length - 1; i++) {
experieNum += split[i] + "-";
}
// 1.修改样品关联
simpleRelService.updateById(simpleRel);
// 2.查所有的样品关联
@ -70,7 +80,10 @@ public class SimpleRelController extends BladeController {
for (SimpleRel currRel : currSimpleRels) {
String examineExperieNum = "";
for (Integer j = 0; j < currRel.getExamineNum(); j++) {
examineExperieNum += experieNum + num + ",";
examineExperieNum += experieNum + num;
if (j < currRel.getExamineNum() - 1) {
examineExperieNum += ",";
}
num ++;
}
currRel.setExamineExperieNum(examineExperieNum);
@ -79,7 +92,10 @@ public class SimpleRelController extends BladeController {
for (SimpleRel currRel : currSimpleRels) {
String reagentNum = "";
for (Integer k = 0; k < currRel.getReagentNum(); k++) {
reagentNum += experieNum + num + ",";
reagentNum += experieNum + num;
if (k < currRel.getReagentNum() - 1) {
reagentNum += ",";
}
num ++;
}
currRel.setReagentExperieNum(reagentNum);

@ -1108,8 +1108,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
String[] split = examine.getExperieNum().split(",");
// 如果检测编号截取后长度
String s = "/";
if (split[0].length() > 12) {
s = split[0].substring(0, 12);
if (split[0].split("-").length > 1) {
s = split[0].split("-")[0];
}
result.put("1", s);
result.put("2", examineResult.getDisposal());
@ -3178,13 +3178,16 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
Map<String, Object> map = new HashMap<>();
map.put("simpleName", examine.getSimpleName());
map.put("simpleCount", examine.getSimpleCount());
// 获取当前检测对应的检测编号
String[] split = examine.getExperieNum().split(",");
String[] split1 = split[0].split("-");
String num = split1[0];
if (split.length > 1) {
num = split1[0] + "-" + split1[1];
}
map.put("experieNum", num + examine.getMin() + "~" + num + examine.getMax());
// String[] split1 = split[0].split("-");
// 组装检测编号(只要开头和结尾)
String num = split[0] + "~" + split[split.length - 1];
// if (split.length > 1) {
// num = split1[0] + "-" + split1[1];
// }
// map.put("experieNum", num + examine.getMin() + "~" + num + examine.getMax());
map.put("experieNum", num);
//检测项目
ExamineItem examineItem = examineItemService.getById(examine.getExamineItemId());
if (examineItem != null) {
@ -3928,6 +3931,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
Integer simpleCount = 0;
List<Map<String, Object>> list = entrust.getSimpleNames();
// 检测编号计数器
int experieNumCount = 1;
// 样品排序
for (int sort = 0; sort < list.size(); sort++) {
Map<String, Object> map = list.get(sort);
@ -3955,15 +3960,17 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
simpleRel.setSimpleName(name);
simpleRel.setReagentNum(1);
simpleRel.setReagentExperieNum(s + ((a - 1) * 2 + i + 1 + count));
simpleRel.setReagentExperieNum(experieNumCount + count + "");
simpleRel.setExamineNum(1);
simpleRel.setExamineExperieNum(s + ((a - 1) * 2 + i + 1));
simpleRel.setExamineExperieNum(experieNumCount + "");
simpleRel.setRecessiveNum((i + a) + "");
simpleRel.setOriginalNum((i + a) + "");
simpleRel.setStatus(0);
simpleRel.setSort(sort);
experieNumCount++;
rels.add(simpleRel);
}
experieNumCount += count;
}
simpleRelService.saveBatch(rels);
// 委托单内容补充
@ -4019,6 +4026,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
customer.setStatus(2);
customer.setId(RandomUtils.nextLong());
customer.setPhone(entrust.getTakePhone());
// 单位名称
customer.setName(entrust.getTakeCompany());
customer.setFullName(entrust.getTakePerson());
customer.setAddress(entrust.getTakeCompanyAddress());

Loading…
Cancel
Save