diff --git a/pom.xml b/pom.xml
index ab652a7..3fc990f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,13 +13,18 @@
送检受理
+
+ 2022.10.11-snapshots
+ 2021.1
+
+
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
- 2021.1
+ ${cloud.alibaba.version}
@@ -27,7 +32,7 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
- 2021.1
+ ${cloud.alibaba.version}
@@ -40,14 +45,14 @@
digital.laboratory.platform
dlp-common-feign
- 2022.10.11-snapshots
+ ${dlp.version}
digital.laboratory.platform
dlp-common-security
- 2022.10.11-snapshots
+ ${dlp.version}
@@ -71,39 +76,39 @@
digital.laboratory.platform
dlp-common-log
- 2022.10.11-snapshots
+ ${dlp.version}
digital.laboratory.platform
dlp-admin-api
- 2022.10.11-snapshots
+ ${dlp.version}
digital.laboratory.platform
dlp-sewage-api
- 2022.10.11-snapshots
+ ${dlp.version}
digital.laboratory.platform
dlp-othersys-api
- 2022.10.11-snapshots
+ ${dlp.version}
digital.laboratory.platform
dlp-common-oss
- 2022.10.11-snapshots
+ ${dlp.version}
compile
digital.laboratory.platform
dlp-common-remote-word2pdf
- 2022.10.11-snapshots
+ ${dlp.version}
compile
@@ -170,7 +175,7 @@
digital.laboratory.platform
dlp-common-seata
- 2022.10.11-snapshots
+ ${dlp.version}
diff --git a/src/main/java/digital/laboratory/platform/entrustment/controller/AcceptController.java b/src/main/java/digital/laboratory/platform/entrustment/controller/AcceptController.java
new file mode 100644
index 0000000..d461164
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/entrustment/controller/AcceptController.java
@@ -0,0 +1,32 @@
+package digital.laboratory.platform.entrustment.controller;
+
+import digital.laboratory.platform.common.core.util.R;
+import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
+import digital.laboratory.platform.entrustment.service.AcceptService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 委托受理模块控制器
+ */
+@RestController
+@RequestMapping("/papp/accept")
+@Api(value = "AcceptController", tags = "委托受理模块控制器相关接口")
+public class AcceptController {
+
+ @Resource
+ private AcceptService acceptService;
+
+ @ApiOperation("修改受理后的检材受理编号")
+ @PutMapping("/alertMaterialAcceptNo")
+ @PreAuthorize("@pms.hasPermission('EntrustmentAccept')")
+ public R alertMaterialAcceptNo(@RequestBody EntrustmentIdentificationMaterial material) {
+ Boolean success = acceptService.alertMaterialAcceptNo(material);
+ return R.ok(success);
+ }
+
+}
diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/AcceptService.java b/src/main/java/digital/laboratory/platform/entrustment/service/AcceptService.java
new file mode 100644
index 0000000..f793d6d
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/entrustment/service/AcceptService.java
@@ -0,0 +1,16 @@
+package digital.laboratory.platform.entrustment.service;
+
+import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
+
+/**
+ * 受理服务层接口
+ */
+public interface AcceptService {
+
+ /**
+ * 修改受理后的检材受理编号
+ * @param material
+ * @return
+ */
+ Boolean alertMaterialAcceptNo(EntrustmentIdentificationMaterial material);
+}
diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/impl/AcceptServiceImpl.java b/src/main/java/digital/laboratory/platform/entrustment/service/impl/AcceptServiceImpl.java
new file mode 100644
index 0000000..9adcbb4
--- /dev/null
+++ b/src/main/java/digital/laboratory/platform/entrustment/service/impl/AcceptServiceImpl.java
@@ -0,0 +1,88 @@
+package digital.laboratory.platform.entrustment.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import digital.laboratory.platform.common.core.exception.ValidateCodeException;
+import digital.laboratory.platform.entrustment.entity.Entrustment;
+import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
+import digital.laboratory.platform.entrustment.service.AcceptService;
+import digital.laboratory.platform.entrustment.service.EntrustmentIdentificationMaterialService;
+import digital.laboratory.platform.entrustment.service.EntrustmentService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * 受理服务层接口 -- 实现类
+ */
+@Service
+public class AcceptServiceImpl implements AcceptService {
+
+ @Resource
+ private EntrustmentService entrustmentService;
+
+ @Resource
+ private EntrustmentIdentificationMaterialService entrustmentIdentificationMaterialService;
+
+ /**
+ * 修改受理后的检材受理编号
+ * @param material
+ * @return
+ */
+ @Override
+ public Boolean alertMaterialAcceptNo(EntrustmentIdentificationMaterial material) {
+ EntrustmentIdentificationMaterial identificationMaterial = entrustmentIdentificationMaterialService.getById(material.getId());
+ if (identificationMaterial == null) {
+ throw new ValidateCodeException("检材信息不存在!");
+ }
+ // 获取要修改的检材受理编号
+ String materialAcceptNo = material.getAcceptNo();
+ if (StrUtil.isBlank(materialAcceptNo)) {
+ throw new ValidateCodeException("检材受理编号不能修改为空!");
+ }
+ /** 判断是否符合编号规则,
+ * \\d+:表示一个或多个数字-:表示连字符
+ * -:表示连字符
+ * ^ 和 $:表示字符串的开始和结束
+ */
+ String regex = "^\\d+-\\d+-\\d+$";
+ if (Pattern.matches(regex, materialAcceptNo)) {
+ throw new ValidateCodeException(String.format("%s 不符合检材受理编号的规则!", materialAcceptNo));
+ }
+ // 校验当前修改的检材受理编号对应的委托的受理编号存不存在, 委托的受理编号是检材受理编号截取最后一个横杠的内容
+ String entrustAcceptNo = materialAcceptNo.substring(0, materialAcceptNo.lastIndexOf("-"));
+ if (entrustmentService.count(Wrappers.lambdaQuery().eq(Entrustment::getAcceptNo, entrustAcceptNo)) > 0) {
+ throw new ValidateCodeException(String.format("%s 的委托受理信息已经存在!", entrustAcceptNo));
+ }
+ if (entrustmentIdentificationMaterialService.count(Wrappers.lambdaQuery().eq(EntrustmentIdentificationMaterial::getAcceptNo, materialAcceptNo)) > 0) {
+ throw new ValidateCodeException(String.format("%s 的委托检材受理信息已经存在!", materialAcceptNo));
+ }
+ if (entrustmentIdentificationMaterialService.update(Wrappers.lambdaUpdate()
+ .eq(EntrustmentIdentificationMaterial::getId, material.getId()).set(EntrustmentIdentificationMaterial::getAcceptNo, materialAcceptNo))) {
+ // 查询该委托下面的其他已经受理的检材
+ List materialList = entrustmentIdentificationMaterialService.list(Wrappers.lambdaQuery()
+ .eq(EntrustmentIdentificationMaterial::getEntrustmentId, identificationMaterial.getEntrustmentId())
+ .ne(EntrustmentIdentificationMaterial::getAcceptNo, materialAcceptNo)
+ .isNotNull(EntrustmentIdentificationMaterial::getAcceptNo));
+ if (CollUtil.isNotEmpty(materialList)) {
+ int count = 0;
+ for (EntrustmentIdentificationMaterial entrustmentIdentificationMaterial : materialList) {
+ String entrustmentIdentificationMaterialAcceptNo = entrustmentIdentificationMaterial.getAcceptNo();
+ if (entrustmentIdentificationMaterialAcceptNo.contains(entrustAcceptNo)) {
+ continue;
+ }
+ count++;
+ entrustmentIdentificationMaterial.setAcceptNo(entrustAcceptNo
+ + "-"
+ + entrustmentIdentificationMaterialAcceptNo.substring(entrustmentIdentificationMaterialAcceptNo.lastIndexOf("-")));
+ }
+ return count == 0 ? true : entrustmentIdentificationMaterialService.updateBatchById(materialList);
+ }
+ return Boolean.TRUE;
+ }
+ return Boolean.FALSE;
+ }
+}
diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentIdentificationMaterialServiceImpl.java b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentIdentificationMaterialServiceImpl.java
index 0b9fce4..4bbc78a 100644
--- a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentIdentificationMaterialServiceImpl.java
+++ b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentIdentificationMaterialServiceImpl.java
@@ -546,19 +546,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper();
updateWrapper.eq("id", im.getId()); // 查询条件是 id 相等
+ return getEntrustmentIdentificationMaterial(identificationMaterial, updateWrapper, im);
+ }
+
+ /**
+ * 更新检材是否审批通过
+ * @param identificationMaterial
+ * @param updateWrapper
+ * @param im
+ * @return
+ */
+ public EntrustmentIdentificationMaterial getEntrustmentIdentificationMaterial(EntrustmentIdentificationMaterial identificationMaterial, UpdateWrapper updateWrapper, EntrustmentIdentificationMaterial im) {
updateWrapper.set("approve_passed", im.getApprovePassed());
updateWrapper.set("approve_time", im.getApproveTime());
@@ -610,7 +609,6 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper();
-// updateWrapper.eq("id", im.getId()); // 查询条件是 id 相等
-//
-// updateWrapper.set("fund_quantity", im.getFundQuantity());
-// updateWrapper.set("quantity", im.getQuantity());
-//
-// updateWrapper.set("provided_sample1_no", im.getProvidedSample1No());
-// updateWrapper.set("provided_sample1_fund_quantity", im.getProvidedSample1FundQuantity());
-// updateWrapper.set("provided_sample1_quantity", im.getProvidedSample1Quantity());
-//
-// updateWrapper.set("provided_sample2_present", im.getProvidedSample2Present());
-// updateWrapper.set("provided_sample2_no", im.getProvidedSample2No());
-// updateWrapper.set("provided_sample2_fund_quantity", im.getProvidedSample2FundQuantity());
-// updateWrapper.set("provided_sample2_quantity", im.getProvidedSample2Quantity());
-//
-// updateWrapper.set("splited_sample", im.getSplitedSample());
-//
-// //updateWrapper.set("sample1_present", im.getSample1Present());
-// updateWrapper.set("sample1_no", im.getSample1No());
-// updateWrapper.set("sample1_fund_quantity", im.getSample1FundQuantity());
-// updateWrapper.set("sample1_quantity", im.getSample1Quantity());
-// updateWrapper.set("sample1_box_id", im.getSample1BoxId());
-// updateWrapper.set("sample2_present", im.getSample2Present());
-// updateWrapper.set("sample2_no", im.getSample2No());
-// updateWrapper.set("sample2_fund_quantity", im.getSample2FundQuantity());
-// updateWrapper.set("sample2_quantity", im.getSample2Quantity());
-// updateWrapper.set("sample2_box_id", im.getSample2BoxId());
-// updateWrapper.set("remark", im.getRemark());
-// updateWrapper.set("pack", im.getPack());
if (!this.updateById(im)) {
throw new RuntimeException("保存检材信息失败");