master
杨海航 5 months ago
parent 2f52d8c425
commit 219942495b
  1. 8
      src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java
  2. 23
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentIdentificationMaterialServiceImpl.java
  3. 192
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java

@ -2356,4 +2356,12 @@ public class EntrustmentController {
return entrustmentService.isMaterialPhoto(entrustmentId) ? R.ok(path) : R.ok(null);
}
@PutMapping("/editRequirement")
@ApiOperation(value = "修改鉴定要求")
public R editRequirement(@RequestBody Entrustment entrustment){
Entrustment entst = entrustmentService.getById(entrustment.getId());
entst.setEntrustRequirement(entrustment.getEntrustRequirement());
return entrustmentService.updateById(entst) ? R.ok("修改成功") : R.failed("修改失败");
}
}

@ -506,6 +506,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
//
}
//2024-9-11 贵阳市局需求修改:已经将审核审批合为一步,因此这里只做审核操作,并且将检材一起审批完成
@Override
public EntrustmentIdentificationMaterial bizCheck_Apply(EntrustmentIdentificationMaterial identificationMaterial, Integer opCode, DLPUser dlpUser) {
if (opCode == null) {
@ -537,12 +538,16 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
//-------------------
im.setCheckPassed(opCode);
im.setCheckTime(LocalDateTime.now());
im.setApprovePassed(opCode);
im.setApproveTime(LocalDateTime.now());
UpdateWrapper<EntrustmentIdentificationMaterial> updateWrapper = new UpdateWrapper<EntrustmentIdentificationMaterial>();
updateWrapper.eq("id", im.getId()); // 查询条件是 id 相等
updateWrapper.set("check_passed", im.getCheckPassed());
updateWrapper.set("check_time", im.getCheckTime());
updateWrapper.set("approve_passed", im.getApprovePassed());
updateWrapper.set("approve_time", im.getApproveTime());
if (!this.update(null, updateWrapper)) {
throw new RuntimeException("保存检材信息失败");
@ -611,7 +616,15 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
@Override
public List<EntrustmentIdentificationMaterial> bizAccept_Save(List<EntrustmentIdentificationMaterial> materialList, DLPUser dlpUser) {
boolean flag = false;
for (EntrustmentIdentificationMaterial material : materialList) {
if (material.getAcceptPassed() == 0) {
flag = true;
}
}
if (!flag) {
throw new RuntimeException(String.format("检材均已受理,无法进行修改保存!"));
}
for (EntrustmentIdentificationMaterial identificationMaterial : materialList) {
// 检查委托原来的状态
@ -790,6 +803,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
acceptNo = "1";
}
}
//设置受理编号
im.setAcceptNo(acceptNo);
im.setProvidedSample1No(identificationMaterial.getProvidedSample1No());
@ -1036,6 +1050,8 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
identificationMaterial.setCheckPassed(0);
identificationMaterial.setApprovePassed(0);
identificationMaterial.setAcceptPassed(0);
identificationMaterial.setSample1RepeatWeigh(identificationMaterial.getQuantity());
identificationMaterial.setSample2RepeatWeigh(null);
//-- 更新采集员表信息 ----------------
this.saveCollectors(identificationMaterial, dlpUser);
@ -1382,7 +1398,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
identificationMaterial.setCreateBy(dlpUser.getId());
identificationMaterial.setCreateTime(LocalDateTime.now());
identificationMaterial.setAcceptNo(null);
identificationMaterial.setSample1RepeatWeigh(null);
identificationMaterial.setSample1RepeatWeigh(identificationMaterial.getQuantity());
identificationMaterial.setSample2RepeatWeigh(null);
identificationMaterial.setColor("");
@ -1405,6 +1421,9 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
}
}
}
List<EntrustmentIdentificationMaterial> list = this.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustment.getId()));
entrustment.setEntrustRequirement(entrustmentService.buildEntrustReq(list));
entrustmentService.updateById(entrustment);
return identificationMaterialList;
}

@ -495,7 +495,7 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
dm.put("identificationNo", entrustment.getAcceptNo());//受理编号
dm.put("materialDes", buildMaterialDes(materialList));//检材描述
dm.put("identifyReq", buildIdentfyReq(materialList).toString());//鉴定要求
dm.put("identifyReq", entrustment.getEntrustRequirement());//鉴定要求
dm.put("identifyMethod", "委托鉴定单位未指定");//鉴定方法
dm.put("oldIdentfyStatus", entrustment.getOldIdentificationResult());//原鉴定情况
dm.put("identitfyLimit", "鉴定受理之日起15个工作日(检材疑难、复杂或数量较大的,或另有规定的除外)。");//鉴定时限
@ -858,9 +858,9 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
}
;
sbMaterialName.delete(sbMaterialName.length() - 1, sbMaterialName.length());
String req1 = "对" + sbMaterialName.toString() + "中";
String req1 = "对" + sbMaterialName.toString() + "中是否含有";
String req2 = sbDrugDes.toString();
String req3 = "进行" + sbAnalysisDes.toString() + "分析";
String req3 = "进行" + sbAnalysisDes.toString() + "分析检测";
return req1 + req2 + req3;
}
@ -1368,7 +1368,8 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
"已提交",
1, entrustment.getStatus(), true);
pis.add(pi);
entrustment.setProcessInfo(pis);//-- 更新送检员表的信息
entrustment.setProcessInfo(pis);
//-- 更新送检员表的信息
if (org.apache.commons.lang3.StringUtils.isNotBlank(entrust.getDeliverer1Name())) {
Deliverer deliverer1 = new Deliverer();
deliverer1.setOwnerUserId(dlpUser.getId());
@ -1389,6 +1390,16 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
deliverer2.setPhone(entrust.getDeliverer2Phone());
remoteDeliverService.renew(deliverer2);
}//-------------------
entrustment.setDeliverer1Id(entrust.getDeliverer1Id());
entrustment.setDeliverer1Cert(entrust.getDeliverer1Cert());
entrustment.setDeliverer1Name(entrust.getDeliverer1Name());
entrustment.setDeliverer1Phone(entrust.getDeliverer1Phone());
entrustment.setDeliverer1Position(entrust.getDeliverer1Position());
entrustment.setDeliverer2Id(entrust.getDeliverer2Id());
entrustment.setDeliverer2Cert(entrust.getDeliverer2Cert());
entrustment.setDeliverer2Name(entrust.getDeliverer2Name());
entrustment.setDeliverer2Phone(entrust.getDeliverer2Phone());
entrustment.setDeliverer2Position(entrust.getDeliverer2Position());
// 更新数据库表数据
//-------------------
//提交审核的时候设置委托的编号 xy add
@ -1405,7 +1416,6 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
this.updateById(entrustment);
result = entrustment;
}
return result;
}
@ -1471,6 +1481,9 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
return entrustment;
}
/*
2024-9-11修改贵阳市局只需要一层审核因此我们默认把审批过程也加入到审核过程中然后去除审批过程中的pi对象记录
*/
@Override
@Transactional
public Entrustment bizChecker_Apply(Entrustment entrust, Integer opCode, DLPUser dlpUser) {
@ -1618,7 +1631,8 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
if (!this.update(null, updateWrapper)) {
throw new RuntimeException("保存委托信息失败");
}
this.bizApprover_Claim(entrust, dlpUser);
this.bizApprover_Apply(entrust, 1, dlpUser);
// 从数据库表中取出保存的委托对象, 后续的操作我们以此为准
entrustment = this.getById(entrust.getId());
if (entrustment == null) {
@ -1717,9 +1731,9 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
throw new RuntimeException(String.format("审批必须提供 opCode"));
}
if (StrUtil.isBlank(entrust.getApproveComments())) {
throw new RuntimeException(String.format("必须提供审批意见"));
}
// if (StrUtil.isBlank(entrust.getApproveComments())) {
// throw new RuntimeException(String.format("必须提供审批意见"));
// }
// 检查委托原来的状态
Entrustment entrustment = this.getById(entrust.getId());
@ -1783,28 +1797,28 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
entrustment.setPreviousStatus(entrustment.getStatus()); // 可能是从其他环节转过来的, 一旦提交, 保存上一个状态
entrustment.setStatus(newStatus); // 新的状态(环节), 可能会是审批或提交前
List<UpdateInfo> pis = entrustment.getProcessInfo();
if (pis == null) {
pis = new ArrayList<UpdateInfo>();
}
if (opCode == 1) {
UpdateInfo pi = new UpdateInfo(dlpUser.getId(),
dlpUser.getName(),
dlpUser.getOrgId(),
dlpUser.getOrgName(),
"已审批",
opCode, entrustment.getStatus(), true);
pis.add(pi);
} else {
UpdateInfo pi = new UpdateInfo(dlpUser.getId(),
dlpUser.getName(),
dlpUser.getOrgId(),
dlpUser.getOrgName(),
"审批不通过",
opCode, entrustment.getStatus(), false, entrust.getApproveComments());
pis.add(pi);
}
entrustment.setProcessInfo(pis);
// List<UpdateInfo> pis = entrustment.getProcessInfo();
// if (pis == null) {
// pis = new ArrayList<UpdateInfo>();
// }
// if (opCode == 1) {
// UpdateInfo pi = new UpdateInfo(dlpUser.getId(),
// dlpUser.getName(),
// dlpUser.getOrgId(),
// dlpUser.getOrgName(),
// "已审批",
// opCode, entrustment.getStatus(), true);
// pis.add(pi);
// } else {
// UpdateInfo pi = new UpdateInfo(dlpUser.getId(),
// dlpUser.getName(),
// dlpUser.getOrgId(),
// dlpUser.getOrgName(),
// "审批不通过",
// opCode, entrustment.getStatus(), false, entrust.getApproveComments());
// pis.add(pi);
// }
// entrustment.setProcessInfo(pis);
this.updateById(entrustment);
@ -2001,6 +2015,9 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
return entrustment;
}
/*
2024-9-11 贵阳市局修改需求由于在送检提交时就已经填写了送检人信息因此在送检提交时只改变状态记录一下送检时间即可
*/
@Override
public Entrustment bizDeliver_Apply(Entrustment entrust, Integer opCode, DLPUser dlpUser) {
@ -2008,39 +2025,39 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
throw new RuntimeException(String.format("送检操作必须提供 opCode"));
}
{
if ((StrUtil.isBlank(entrust.getDeliverer1Name())) ||
(StrUtil.isBlank(entrust.getDeliverer1Cert())) || (StrUtil.isBlank(entrust.getDeliverer1Id())) ||
(StrUtil.isBlank(entrust.getDeliverer1Phone()))) {
throw new RuntimeException(String.format("送检人1 必须填写姓名、证件类型、证件号和电话号码"));
}
}
{
if ((StrUtil.isBlank(entrust.getDeliverer2Name())) ||
(StrUtil.isBlank(entrust.getDeliverer2Cert())) || (StrUtil.isBlank(entrust.getDeliverer2Id())) ||
(StrUtil.isBlank(entrust.getDeliverer2Phone()))) {
throw new RuntimeException(String.format("送检人2 必须填写姓名、证件类型、证件号和电话号码"));
}
}
//-- 更新送检员表的信息
Deliverer deliverer = new Deliverer();
deliverer.setOwnerUserId(dlpUser.getId());
deliverer.setName(entrust.getDeliverer1Name());
deliverer.setPosition(entrust.getDeliverer1Position());
deliverer.setCert(entrust.getDeliverer1Cert());
deliverer.setIdnum(entrust.getDeliverer1Id());
deliverer.setPhone(entrust.getDeliverer1Phone());
remoteDeliverService.renew(deliverer);
deliverer = new Deliverer();
deliverer.setOwnerUserId(dlpUser.getId());
deliverer.setName(entrust.getDeliverer2Name());
deliverer.setPosition(entrust.getDeliverer2Position());
deliverer.setCert(entrust.getDeliverer2Cert());
deliverer.setIdnum(entrust.getDeliverer2Id());
deliverer.setPhone(entrust.getDeliverer2Phone());
remoteDeliverService.renew(deliverer);
// {
// if ((StrUtil.isBlank(entrust.getDeliverer1Name())) ||
// (StrUtil.isBlank(entrust.getDeliverer1Cert())) || (StrUtil.isBlank(entrust.getDeliverer1Id())) ||
// (StrUtil.isBlank(entrust.getDeliverer1Phone()))) {
// throw new RuntimeException(String.format("送检人1 必须填写姓名、证件类型、证件号和电话号码"));
// }
// }
// {
// if ((StrUtil.isBlank(entrust.getDeliverer2Name())) ||
// (StrUtil.isBlank(entrust.getDeliverer2Cert())) || (StrUtil.isBlank(entrust.getDeliverer2Id())) ||
// (StrUtil.isBlank(entrust.getDeliverer2Phone()))) {
// throw new RuntimeException(String.format("送检人2 必须填写姓名、证件类型、证件号和电话号码"));
// }
// }
//
// //-- 更新送检员表的信息
// Deliverer deliverer = new Deliverer();
// deliverer.setOwnerUserId(dlpUser.getId());
// deliverer.setName(entrust.getDeliverer1Name());
// deliverer.setPosition(entrust.getDeliverer1Position());
// deliverer.setCert(entrust.getDeliverer1Cert());
// deliverer.setIdnum(entrust.getDeliverer1Id());
// deliverer.setPhone(entrust.getDeliverer1Phone());
// remoteDeliverService.renew(deliverer);
//
// deliverer = new Deliverer();
// deliverer.setOwnerUserId(dlpUser.getId());
// deliverer.setName(entrust.getDeliverer2Name());
// deliverer.setPosition(entrust.getDeliverer2Position());
// deliverer.setCert(entrust.getDeliverer2Cert());
// deliverer.setIdnum(entrust.getDeliverer2Id());
// deliverer.setPhone(entrust.getDeliverer2Phone());
// remoteDeliverService.renew(deliverer);
//-------------------
// 检查委托原来的状态
@ -2068,16 +2085,16 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
//-------------------
// 更新数据库表数据
//-------------------
entrustment.setDeliverer1Name(entrust.getDeliverer1Name());
entrustment.setDeliverer1Position(entrust.getDeliverer1Position());
entrustment.setDeliverer1Cert(entrust.getDeliverer1Cert());
entrustment.setDeliverer1Id(entrust.getDeliverer1Id());
entrustment.setDeliverer1Phone(entrust.getDeliverer1Phone());
entrustment.setDeliverer2Name(entrust.getDeliverer2Name());
entrustment.setDeliverer2Position(entrust.getDeliverer2Position());
entrustment.setDeliverer2Cert(entrust.getDeliverer2Cert());
entrustment.setDeliverer2Id(entrust.getDeliverer2Id());
entrustment.setDeliverer2Phone(entrust.getDeliverer2Phone());
// entrustment.setDeliverer1Name(entrust.getDeliverer1Name());
// entrustment.setDeliverer1Position(entrust.getDeliverer1Position());
// entrustment.setDeliverer1Cert(entrust.getDeliverer1Cert());
// entrustment.setDeliverer1Id(entrust.getDeliverer1Id());
// entrustment.setDeliverer1Phone(entrust.getDeliverer1Phone());
// entrustment.setDeliverer2Name(entrust.getDeliverer2Name());
// entrustment.setDeliverer2Position(entrust.getDeliverer2Position());
// entrustment.setDeliverer2Cert(entrust.getDeliverer2Cert());
// entrustment.setDeliverer2Id(entrust.getDeliverer2Id());
// entrustment.setDeliverer2Phone(entrust.getDeliverer2Phone());
entrustment.setDeliverTime(LocalDateTime.now());
entrustment.setDeliverSubmitter(dlpUser.getId());
@ -2104,18 +2121,18 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
updateWrapper.eq("id", entrustment.getId()); // 查询条件是 id 相等
// updateWrapper.set("deliverer1_user_id", entrustment.getDeliverer1UserId());
updateWrapper.set("deliverer1_name", entrustment.getDeliverer1Name());
updateWrapper.set("deliverer1_position", entrustment.getDeliverer1Position());
updateWrapper.set("deliverer1_cert", entrustment.getDeliverer1Cert());
updateWrapper.set("deliverer1_id", entrustment.getDeliverer1Id());
updateWrapper.set("deliverer1_phone", entrustment.getDeliverer1Phone());
// updateWrapper.set("deliverer2_user_id", entrustment.getDeliverer2UserId());
updateWrapper.set("deliverer2_name", entrustment.getDeliverer2Name());
updateWrapper.set("deliverer2_position", entrustment.getDeliverer2Position());
updateWrapper.set("deliverer2_cert", entrustment.getDeliverer2Cert());
updateWrapper.set("deliverer2_id", entrustment.getDeliverer2Id());
updateWrapper.set("deliverer2_phone", entrustment.getDeliverer2Phone());
// updateWrapper.set("deliverer1_name", entrustment.getDeliverer1Name());
// updateWrapper.set("deliverer1_position", entrustment.getDeliverer1Position());
// updateWrapper.set("deliverer1_cert", entrustment.getDeliverer1Cert());
// updateWrapper.set("deliverer1_id", entrustment.getDeliverer1Id());
// updateWrapper.set("deliverer1_phone", entrustment.getDeliverer1Phone());
//
// // updateWrapper.set("deliverer2_user_id", entrustment.getDeliverer2UserId());
// updateWrapper.set("deliverer2_name", entrustment.getDeliverer2Name());
// updateWrapper.set("deliverer2_position", entrustment.getDeliverer2Position());
// updateWrapper.set("deliverer2_cert", entrustment.getDeliverer2Cert());
// updateWrapper.set("deliverer2_id", entrustment.getDeliverer2Id());
// updateWrapper.set("deliverer2_phone", entrustment.getDeliverer2Phone());
updateWrapper.set("deliver_time", entrustment.getDeliverTime());
updateWrapper.set("deliver_submitter", entrustment.getDeliverSubmitter());
@ -2425,12 +2442,13 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
}
entrustmentIdentificationMaterialService.updateBatchById(list);
}
if (opCode > 0) {
//检查检材是否复秤,不复秤不能受理
boolean b = this.checkRepeatWeigh(entrustment);
if (b) {
throw new RuntimeException(String.format("有未复秤的样本,请给样本复秤"));
}
if (opCode > 0) {
// 如果是确认受理, 需要检材全部都确认受理
// 检查检材的受理状态
List<EntrustmentIdentificationMaterial> imList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>query()

Loading…
Cancel
Save