diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 65295c2..bd4a401 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -553,8 +553,10 @@ int seqUpdateFlag = labExecutiveInfoMapper.updateForSendBack(request.getOrderId(), request.getSampleId()); //更新所有状态为空的实验室检测中序号最小的记录的状态为待分配 Long id = labExecutiveInfoMapper.selectMinSeq(request.getOrderId(), request.getSampleId()); - //仅分发了一个实验室检测的情况 + //仅分发了一个实验室检测或无实验室可分配的情况 if(seqUpdateFlag <= 0 && Objects.isNull(id)){ + // TODO: 2023/3/14 分发列表仅一个实验室情况:将样品状态置为待分发或让分发员在分发的检测中进行编辑 + // TODO: 2023/3/14 无实验室可分配的情况:是否要将样品状态置为检测完成或让分发员在分发的检测中进行编辑 return ReturnUtil.success(); } BusinessLabExecutiveInfo info = new BusinessLabExecutiveInfo(); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 65295c2..bd4a401 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -553,8 +553,10 @@ int seqUpdateFlag = labExecutiveInfoMapper.updateForSendBack(request.getOrderId(), request.getSampleId()); //更新所有状态为空的实验室检测中序号最小的记录的状态为待分配 Long id = labExecutiveInfoMapper.selectMinSeq(request.getOrderId(), request.getSampleId()); - //仅分发了一个实验室检测的情况 + //仅分发了一个实验室检测或无实验室可分配的情况 if(seqUpdateFlag <= 0 && Objects.isNull(id)){ + // TODO: 2023/3/14 分发列表仅一个实验室情况:将样品状态置为待分发或让分发员在分发的检测中进行编辑 + // TODO: 2023/3/14 无实验室可分配的情况:是否要将样品状态置为检测完成或让分发员在分发的检测中进行编辑 return ReturnUtil.success(); } BusinessLabExecutiveInfo info = new BusinessLabExecutiveInfo(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 403f44a..0ef09a3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -346,6 +346,10 @@ @Override @Transactional public ReturnDTO submitEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } String formId = request.getFormId(); // 发起流程 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 65295c2..bd4a401 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -553,8 +553,10 @@ int seqUpdateFlag = labExecutiveInfoMapper.updateForSendBack(request.getOrderId(), request.getSampleId()); //更新所有状态为空的实验室检测中序号最小的记录的状态为待分配 Long id = labExecutiveInfoMapper.selectMinSeq(request.getOrderId(), request.getSampleId()); - //仅分发了一个实验室检测的情况 + //仅分发了一个实验室检测或无实验室可分配的情况 if(seqUpdateFlag <= 0 && Objects.isNull(id)){ + // TODO: 2023/3/14 分发列表仅一个实验室情况:将样品状态置为待分发或让分发员在分发的检测中进行编辑 + // TODO: 2023/3/14 无实验室可分配的情况:是否要将样品状态置为检测完成或让分发员在分发的检测中进行编辑 return ReturnUtil.success(); } BusinessLabExecutiveInfo info = new BusinessLabExecutiveInfo(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 403f44a..0ef09a3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -346,6 +346,10 @@ @Override @Transactional public ReturnDTO submitEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } String formId = request.getFormId(); // 发起流程 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 2b29aa7..87f807b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -271,6 +271,11 @@ @Override public ReturnDTO submitStandardEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + ReturnDTO returnDTO = baseApprovalService.processSubmit(request.getFormId(), request.getId()); if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ return returnDTO; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 65295c2..bd4a401 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -553,8 +553,10 @@ int seqUpdateFlag = labExecutiveInfoMapper.updateForSendBack(request.getOrderId(), request.getSampleId()); //更新所有状态为空的实验室检测中序号最小的记录的状态为待分配 Long id = labExecutiveInfoMapper.selectMinSeq(request.getOrderId(), request.getSampleId()); - //仅分发了一个实验室检测的情况 + //仅分发了一个实验室检测或无实验室可分配的情况 if(seqUpdateFlag <= 0 && Objects.isNull(id)){ + // TODO: 2023/3/14 分发列表仅一个实验室情况:将样品状态置为待分发或让分发员在分发的检测中进行编辑 + // TODO: 2023/3/14 无实验室可分配的情况:是否要将样品状态置为检测完成或让分发员在分发的检测中进行编辑 return ReturnUtil.success(); } BusinessLabExecutiveInfo info = new BusinessLabExecutiveInfo(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 403f44a..0ef09a3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -346,6 +346,10 @@ @Override @Transactional public ReturnDTO submitEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } String formId = request.getFormId(); // 发起流程 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 2b29aa7..87f807b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -271,6 +271,11 @@ @Override public ReturnDTO submitStandardEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + ReturnDTO returnDTO = baseApprovalService.processSubmit(request.getFormId(), request.getId()); if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ return returnDTO; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e84f4d6..95e0c70 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -115,10 +115,13 @@ @Override @Transactional public ReturnDTO submitFile(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id //2.根据流程定义id启动流程实例 String formId = request.getFormId(); - ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 65295c2..bd4a401 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -553,8 +553,10 @@ int seqUpdateFlag = labExecutiveInfoMapper.updateForSendBack(request.getOrderId(), request.getSampleId()); //更新所有状态为空的实验室检测中序号最小的记录的状态为待分配 Long id = labExecutiveInfoMapper.selectMinSeq(request.getOrderId(), request.getSampleId()); - //仅分发了一个实验室检测的情况 + //仅分发了一个实验室检测或无实验室可分配的情况 if(seqUpdateFlag <= 0 && Objects.isNull(id)){ + // TODO: 2023/3/14 分发列表仅一个实验室情况:将样品状态置为待分发或让分发员在分发的检测中进行编辑 + // TODO: 2023/3/14 无实验室可分配的情况:是否要将样品状态置为检测完成或让分发员在分发的检测中进行编辑 return ReturnUtil.success(); } BusinessLabExecutiveInfo info = new BusinessLabExecutiveInfo(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 403f44a..0ef09a3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -346,6 +346,10 @@ @Override @Transactional public ReturnDTO submitEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } String formId = request.getFormId(); // 发起流程 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 2b29aa7..87f807b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -271,6 +271,11 @@ @Override public ReturnDTO submitStandardEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + ReturnDTO returnDTO = baseApprovalService.processSubmit(request.getFormId(), request.getId()); if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ return returnDTO; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e84f4d6..95e0c70 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -115,10 +115,13 @@ @Override @Transactional public ReturnDTO submitFile(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id //2.根据流程定义id启动流程实例 String formId = request.getFormId(); - ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 5d1d181..150b754 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -191,10 +191,13 @@ @Override public ReturnDTO submitTraceSupplier(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id //2.根据流程定义id启动流程实例 String formId = request.getFormId(); - ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java index 998b89d..444dbb9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -25,4 +25,6 @@ String CANCELED = "6"; //非草稿状态,仅在枚举中设置,字典中不设置 String UN_DRAFT = "7"; + //删除,已取消中提交后的原有实例删除,仅在枚举中设置,字典中不设置 + String DELETED = "8"; } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 1ca9077..a148676 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -25,7 +25,7 @@ bosr.sample_id, csi.sample_no, csi.sample_name, csi.sample_model, csi.manufacturing_no, csi.manufacturer, csi.manufacturer_country, csi.manufacturing_date, csi.ABC, bo.customer_id, bo.customer_no, bo.customer_name, bo.customer_phone, bo.customer_address, bo.id AS orderId, - bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bosr.measure_content, csi.measure_period, + bo.order_code, bo.deliverer, bo.deliverer_tel, bo.plan_deliver_time, bo.require_over_time, bo.certifications, bosr.measure_content, csi.measure_period, csi.measure_last_time AS measureLastDate, csi.valid_deadline AS effectiveDate, bosr.remark, csi.minio_file_name, csi.measure_type, csi.label_bind diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java index f998501..6b3eae6 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/BaseApprovalSubmitRequest.java @@ -29,4 +29,7 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "流程实例id(已取消中的提交时必传)", dataType = "String") + private String processId; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java index 77844f2..ecaad1c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/SampleHandOutDetailResponse.java @@ -117,6 +117,9 @@ @ApiModelProperty(value = "有效日期", dataType = "String") private String effectiveDate; + @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String") + private String certifications; + //需求中已删除该字段展示,不展示整个样品的检定结果,只在证书里展示各证书的检定结果 // @ApiModelProperty(value = "检定结果", dataType = "String") // private String measureResult; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 7dd402b..8e6a9be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -30,10 +30,13 @@ import com.casic.missiles.service.flowable.ApprovalOperateService; import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.flowable.engine.RuntimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ private final IBaseApprovalService baseApprovalService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; + @Resource + private RuntimeService runtimeService; @Override public Page certificatePrintListPage(CertificateListRequest request, Page page) throws Exception { @@ -124,6 +129,11 @@ @Transactional @Override public ReturnDTO submitAgainPrint(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (!ResponseData.DEFAULT_SUCCESS_CODE.equals(returnDTO.getCode())) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java index 84d19db..38e331a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java @@ -20,7 +20,8 @@ import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.*; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; @@ -163,6 +164,10 @@ */ @Override public ReturnDTO submitCertificateReport(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id String formId = request.getFormId(); //2.根据流程定义id启动流程实例 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 65295c2..bd4a401 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -553,8 +553,10 @@ int seqUpdateFlag = labExecutiveInfoMapper.updateForSendBack(request.getOrderId(), request.getSampleId()); //更新所有状态为空的实验室检测中序号最小的记录的状态为待分配 Long id = labExecutiveInfoMapper.selectMinSeq(request.getOrderId(), request.getSampleId()); - //仅分发了一个实验室检测的情况 + //仅分发了一个实验室检测或无实验室可分配的情况 if(seqUpdateFlag <= 0 && Objects.isNull(id)){ + // TODO: 2023/3/14 分发列表仅一个实验室情况:将样品状态置为待分发或让分发员在分发的检测中进行编辑 + // TODO: 2023/3/14 无实验室可分配的情况:是否要将样品状态置为检测完成或让分发员在分发的检测中进行编辑 return ReturnUtil.success(); } BusinessLabExecutiveInfo info = new BusinessLabExecutiveInfo(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 403f44a..0ef09a3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -346,6 +346,10 @@ @Override @Transactional public ReturnDTO submitEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } String formId = request.getFormId(); // 发起流程 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 2b29aa7..87f807b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -271,6 +271,11 @@ @Override public ReturnDTO submitStandardEquipmentApply(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } + ReturnDTO returnDTO = baseApprovalService.processSubmit(request.getFormId(), request.getId()); if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ return returnDTO; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index e84f4d6..95e0c70 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -115,10 +115,13 @@ @Override @Transactional public ReturnDTO submitFile(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id //2.根据流程定义id启动流程实例 String formId = request.getFormId(); - ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 5d1d181..150b754 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -191,10 +191,13 @@ @Override public ReturnDTO submitTraceSupplier(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id //2.根据流程定义id启动流程实例 String formId = request.getFormId(); - ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index 6545b56..47d1df5 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -204,10 +204,13 @@ @Override @Transactional public ReturnDTO submitTrainPlan(BaseApprovalSubmitRequest request) { + //已取消后的提交需先删除原有实例 + if (StringUtils.isNotEmpty(request.getProcessId())){ + runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED); + } //1.根据表单id获取流程定义id //2.根据流程定义id启动流程实例 String formId = request.getFormId(); - ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ return returnDTO;