From f5c7f04bffb3b458516eafc78e560c4a4d89700a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=B5=B7=E8=88=AA?= <11918452+yang-haihang@user.noreply.gitee.com> Date: Wed, 19 Mar 2025 17:36:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=A7=94=E6=89=98?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E4=BF=AE=E6=94=B9=E6=97=B6=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9A=84=E5=86=85=E5=AE=B9=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E4=BA=86=E4=BF=AE=E6=94=B9=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=BA=86=E9=80=81=E6=A3=80=E6=97=B6?= =?UTF-8?q?=E9=A2=84=E8=A7=88PDF=E7=89=88=E6=9C=AC=E9=89=B4=E5=AE=9A?= =?UTF-8?q?=E5=A7=94=E6=89=98=E4=B9=A6=E4=B8=8E=E9=89=B4=E5=AE=9A=E4=BA=8B?= =?UTF-8?q?=E9=A1=B9=E7=A1=AE=E8=AE=A4=E4=B9=A6=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EntrustmentController.java | 13 ++ .../dto/ApprovedUpdateEntrustDTO.java | 8 +- .../platform/entrustment/dto/MaterialDTO.java | 32 ++++ .../service/EntrustmentService.java | 4 + .../impl/EntrustAlterApplyServiceImpl.java | 178 ++++++++++++++++-- .../service/impl/EntrustmentServiceImpl.java | 81 +++++++- .../mapper/EntrustAlterApplyMapper.xml | 2 +- 7 files changed, 293 insertions(+), 25 deletions(-) diff --git a/src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java b/src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java index 6ef2a2f..e6876df 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java +++ b/src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java @@ -2395,4 +2395,17 @@ public class EntrustmentController { Entrustment entrustment = entrustmentService.getById(id); return R.ok(entrustment); } + @ApiOperation("预览鉴定事项确认书,只在送检单位填写完委托与检材后才能进行预览") + @GetMapping("/previewEntrustLetterPDF") + + public void previewEntrustLetterPDF(String entrustId, HttpServletResponse servletResponse) throws Exception { + entrustmentService.previewEntrustLetterPDF(entrustId, servletResponse); + } + + @ApiOperation("预览鉴定委托书,只在送检单位填写完委托与检材后才能进行预览") + @GetMapping("/previewEntrustPDF") + public void previewEntrustPDF(String entrustId, HttpServletResponse servletResponse) throws Exception { + entrustmentService.previewEntrustPDF(entrustId, servletResponse); + } + } diff --git a/src/main/java/digital/laboratory/platform/entrustment/dto/ApprovedUpdateEntrustDTO.java b/src/main/java/digital/laboratory/platform/entrustment/dto/ApprovedUpdateEntrustDTO.java index b1d284c..fb3d95a 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/dto/ApprovedUpdateEntrustDTO.java +++ b/src/main/java/digital/laboratory/platform/entrustment/dto/ApprovedUpdateEntrustDTO.java @@ -21,7 +21,7 @@ public class ApprovedUpdateEntrustDTO { @NotBlank(message = "关联的委托id不能为空!") private String entrustId; - @ApiModelProperty(value="委托日期, 鉴定委托书打印日期") + @ApiModelProperty(value = "委托日期, 鉴定委托书打印日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime entrustmentTime; @@ -37,6 +37,12 @@ public class ApprovedUpdateEntrustDTO { @ApiModelProperty(value = "委托检材列表") private List materialList; + @ApiModelProperty(value = "案发时间") + private LocalDateTime happenTime; + + @ApiModelProperty(value = "委托类型,0:常规毒品,1:生物样本") + private Integer entrustmentType; + @ApiModelProperty(value = "是否完成, true:已完成(标记该申请已完成,该申请将不在允许修改), false:未完成(不改变状态)") private Boolean finished; } diff --git a/src/main/java/digital/laboratory/platform/entrustment/dto/MaterialDTO.java b/src/main/java/digital/laboratory/platform/entrustment/dto/MaterialDTO.java index ac910d2..0b21d7f 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/dto/MaterialDTO.java +++ b/src/main/java/digital/laboratory/platform/entrustment/dto/MaterialDTO.java @@ -1,10 +1,14 @@ package digital.laboratory.platform.entrustment.dto; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import digital.laboratory.platform.entrustment.json.DynamicBigDecimalSerializer; import digital.laboratory.platform.sys.entity.DrugLite; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; // 使用内部类MaterialDTO @@ -23,4 +27,32 @@ public class MaterialDTO { @ApiModelProperty(value = "候选毒品列表(drug 对象的 json array)") private List candidateDrugs; + + @ApiModelProperty(value = "检材性状") + private String form; + + @ApiModelProperty(value = "留存样个数--贵阳新增需求") + private Integer rtSampleQuantity; + + @ApiModelProperty(value = "检材数量, 例如 3.8 克 或 4.5毫升") + @JsonSerialize(using = DynamicBigDecimalSerializer.class) + private BigDecimal quantity; + + @ApiModelProperty(value = "计量单位, 例如 3.8 克 或 4.5毫升") + private String unit; + + @ApiModelProperty(value = "提取时间--贵阳新增需求") + private LocalDateTime drawTime; + + @ApiModelProperty(value = "提取地点--贵阳新增需求") + private String drawPlace; + + @ApiModelProperty(value = "检材年龄,用于后续统计各年龄阶段的数据--贵阳新增需求") + private Integer materialAge; + + @ApiModelProperty(value = "性别,针对生物样本检材") + private String biologyGender; + + @ApiModelProperty(value = "检材类别") + private String typeName; } \ No newline at end of file diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/EntrustmentService.java b/src/main/java/digital/laboratory/platform/entrustment/service/EntrustmentService.java index a218018..b6e548f 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/service/EntrustmentService.java +++ b/src/main/java/digital/laboratory/platform/entrustment/service/EntrustmentService.java @@ -216,4 +216,8 @@ public interface EntrustmentService extends IService { Boolean isEligibleForSubmission(String entrustId, Integer materialCount); List getDelivererList(DLPUser dlpUser); + + void previewEntrustLetterPDF(String entrustId, HttpServletResponse servletResponse) throws Exception; + + void previewEntrustPDF(String entrustId, HttpServletResponse servletResponse) throws Exception; } diff --git a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustAlterApplyServiceImpl.java b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustAlterApplyServiceImpl.java index d85cf6b..017a5f1 100644 --- a/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustAlterApplyServiceImpl.java +++ b/src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustAlterApplyServiceImpl.java @@ -3,6 +3,7 @@ package digital.laboratory.platform.entrustment.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -35,6 +36,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -45,13 +48,13 @@ import java.util.function.Function; import java.util.stream.Collectors; /** -* @author ChenJiangBao -* @description 针对表【b_entrust_alter_apply(申请修改委托消息表)】的数据库操作Service实现 -* @createDate 2024-10-31 17:35:01 -*/ + * @author ChenJiangBao + * @description 针对表【b_entrust_alter_apply(申请修改委托消息表)】的数据库操作Service实现 + * @createDate 2024-10-31 17:35:01 + */ @Service public class EntrustAlterApplyServiceImpl extends ServiceImpl - implements EntrustAlterApplyService{ + implements EntrustAlterApplyService { @Resource private OssFile ossFile; @@ -81,6 +84,7 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl ids) { - List entrustAlterAppliesVOS = baseMapper.getEntrustAlterApplyVOList(Wrappers.query().in("eaa.id",ids)); + List entrustAlterAppliesVOS = baseMapper.getEntrustAlterApplyVOList(Wrappers.query().in("eaa.id", ids)); DLPUser user = SecurityUtils.getUser(); entrustAlterAppliesVOS.forEach(e -> { if (!e.getApplicant().equals(user.getId())) { @@ -195,11 +201,12 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpllambdaUpdate().in(EntrustAlterApply::getId,ids)); + return super.remove(Wrappers.lambdaUpdate().in(EntrustAlterApply::getId, ids)); } /** * 修改委托案件简要、鉴定要求, 并删除已生成的鉴定事项确认书和委托书 + * * @param dto * @return */ @@ -214,29 +221,67 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpllambdaUpdate().eq(CaseEvent::getId, entrustment.getCaseId()) .set(CaseEvent::getCaseBrief, dto.getCaseBrief()) .set(CaseEvent::getCaseName, dto.getCaseName()) + .set(CaseEvent::getHappenTime, dto.getHappenTime()) ); // 添加更新记录 |
代表换行 LocalDateTime opDate = null; // 操作的时间,这里也用来标识是否有更新 + + boolean isTypeName = false; if (!oldCaseInfo.getCaseBrief().equals(dto.getCaseBrief())) { opDate = LocalDateTime.now(); - updateRecordBuilder.append(opDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("
案件更新记录:").append("
该委托案件的案件简要由 [").append(oldCaseInfo.getCaseBrief()).append("] 更改为 [").append(dto.getCaseBrief()).append("] 。"); + updateRecordBuilder.append(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("
案件更新记录:"); + updateRecordBuilder.append("
该委托案件的案件简要由 [").append(oldCaseInfo.getCaseBrief()).append("] 更改为 [").append(dto.getCaseBrief()).append("] 。"); + } + if (!oldCaseInfo.getCaseName().equals(dto.getCaseName())) { + if (opDate == null) { + opDate = LocalDateTime.now(); + updateRecordBuilder.append(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("
案件更新记录:"); + } + updateRecordBuilder.append("
该委托案件的案件名称由 [").append(oldCaseInfo.getCaseName()).append("] 更改为 [").append(dto.getCaseName()).append("] 。"); + } + if (dto.getHappenTime() != null && !oldCaseInfo.getHappenTime().equals(dto.getHappenTime().toLocalDate())) { + if (opDate == null) { + opDate = LocalDateTime.now(); + updateRecordBuilder.append(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("
案件更新记录:"); + } + updateRecordBuilder.append("
该委托案件的案发时间由 [").append(oldCaseInfo.getHappenTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append("] 更改为 [").append(dto.getHappenTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append("] 。"); + } + if (dto.getEntrustmentTime() != null && entrustment.getEntrustmentTime().equals(dto.getEntrustmentTime())) { + if (opDate == null) { + opDate = LocalDateTime.now(); + updateRecordBuilder.append(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("
案件更新记录:"); + } + updateRecordBuilder.append("
该委托案件的委托时间由 [").append(entrustment.getEntrustmentTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("] 更改为 [").append(dto.getEntrustmentTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("] 。"); + } + + entrustment.setEntrustmentTime(dto.getEntrustmentTime()); // 修改委托时间 + + if (dto.getEntrustmentType() != null && dto.getEntrustmentType() != entrustment.getEntrustmentType()) { + isTypeName = true; + entrustment.setEntrustmentType(dto.getEntrustmentType()); + if (opDate == null) { + opDate = LocalDateTime.now(); + updateRecordBuilder.append(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).append("
案件更新记录:"); + } + updateRecordBuilder.append("
该委托案件的委托类型由 [").append(entrustment.getEntrustmentType() == 0 ? "常规毒品" : "生物样本").append("] 更改为 [").append(dto.getEntrustmentType() == 0 ? "常规毒品" : "生物样本").append("] 。"); } // 2.修改检材 信息 // 这里之所以要取未更新前的信息是为了留痕 Map oldInfoMap = entrustmentIdentificationMaterialService.list(Wrappers.lambdaQuery() - .eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId) - .orderByAsc(EntrustmentIdentificationMaterial::getOrderNo)) + .eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId) + .orderByAsc(EntrustmentIdentificationMaterial::getOrderNo)) .stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity())); List entrustmentIdentificationMaterialList = processUpdateEntrustMaterialInfo( dto.getMaterialList(), oldInfoMap, updateRecordBuilder, - opDate + opDate, + isTypeName ); entrustmentIdentificationMaterialService.updateBatchById(entrustmentIdentificationMaterialList); // 3. 更新委托鉴定要求和委托时间 - entrustment.setEntrustmentTime(dto.getEntrustmentTime()); // 修改委托时间 + updateEntrustmentRequirement(entrustment, dto.getEntrustRequirement(), updateRecordBuilder, opDate); // 如果确认完成,则删除鉴定事项确认书和委托书,并更新申请状态为已完成 if (dto.getFinished()) { @@ -257,7 +302,7 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl processUpdateEntrustMaterialInfo(List materialList, Map oldInfoMap, StringBuilder updateRecordBuilder, LocalDateTime opDate) { + private List processUpdateEntrustMaterialInfo(List materialList, Map oldInfoMap, StringBuilder updateRecordBuilder, LocalDateTime opDate, boolean isTypeName) { Integer index = 1; List entrustmentIdentificationMaterialList = new ArrayList<>(); for (MaterialDTO item : materialList) { @@ -273,7 +318,25 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl") .append(index++) .append(".原检材编号为 [") - .append(oldMaterial.getImNo()) + .append(StringUtils.isNotBlank(oldMaterial.getAcceptNo()) ? oldMaterial.getAcceptNo() : oldMaterial.getImNo()) .append("] 的检材信息"); if (!equalsName) { updateRecordBuilder @@ -313,6 +376,63 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl - 性状由 [") + .append(oldMaterial.getForm()) + .append("] 更改为 [") + .append(item.getForm()).append("]"); + } + + if (!equalsQuantity) { + updateRecordBuilder + .append("
- 重量/体积由 [") + .append(oldMaterial.getQuantity()) + .append("] 更改为 [") + .append(item.getQuantity()).append("]"); + } + + if (!equalsUnit) { + updateRecordBuilder + .append("
- 单位由 [") + .append(oldMaterial.getUnit()) + .append("] 更改为 [") + .append(item.getUnit()).append("]"); + } + + if (!equalsDrawTime) { + updateRecordBuilder + .append("
- 提取时间由 [") + .append(oldMaterial.getDrawTime()) + .append("] 更改为 [") + .append(item.getDrawTime()).append("]"); + } + + if (!equalsDrawPlace) { + updateRecordBuilder + .append("
- 提取地点由 [") + .append(oldMaterial.getDrawPlace()) + .append("] 更改为 [") + .append(item.getDrawPlace()).append("]"); + } + + if (!equalsMaterialAge) { + updateRecordBuilder + .append("
- 年龄由 [") + .append(oldMaterial.getMaterialAge()) + .append("] 更改为 [") + .append(item.getMaterialAge()).append("]"); + } + + if (!equalsBiologyGender) { + updateRecordBuilder + .append("
- 性别由 [") + .append(oldMaterial.getBiologyGender()) + .append("] 更改为 [") + .append(item.getBiologyGender()).append("]"); + } + updateRecordBuilder.append("。"); EntrustmentIdentificationMaterial entrustmentIdentificationMaterial = new EntrustmentIdentificationMaterial(); entrustmentIdentificationMaterial.setId(materialId); @@ -321,6 +441,27 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl materialList, String flag) { @@ -2050,7 +2049,7 @@ public class EntrustmentServiceImpl extends ServiceImpl entrust.getReturnOrNot() != null &&entrust.getReturnOrNot().equals(-1)).collect(Collectors.toList()).size(), "已退回")); + markersVOS.add(new MarkersVO("案件委托", entrustList.stream().filter(entrust -> entrust.getReturnOrNot() != null && entrust.getReturnOrNot().equals(-1)).collect(Collectors.toList()).size(), "已退回")); markersVOS.add(new MarkersVO("案件委托", entrustGroupByStatusMap.getOrDefault(EntrustStatusConstants.ENTRUST_STATUS_COMPLETED.getStatus(), Collections.EMPTY_LIST).size(), "已完成")); @@ -3605,4 +3604,74 @@ public class EntrustmentServiceImpl extends ServiceImpl materialList = entrustmentIdentificationMaterialService.list(Wrappers.lambdaQuery() + .eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId)); + + if (materialList == null || materialList.size() == 0) { + throw new RuntimeException("请至少先添加一个检材后再进行打印!"); + } + String identifyItemsConfirmLetterFileName = "鉴定事项确认书-" + ev.getEntrustmentNo(); + String downFile = OSSDirectoryConstants.IDENTIFY_BOOK_DIRECTORY + "/" + entrustId + "/" + identifyItemsConfirmLetterFileName + ".docx"; + boolean ret = !ossFile.objectExist(downFile); + if (!ossFile.objectExist(downFile) || ev.getStatus() <= EntrustStatusConstants.ENTRUST_STATUS_WAITING_ACCEPT.getStatus()) { + this.generateIdentifyItemsBook(ev.getId()); + } + String pdfFilePath = OSSDirectoryConstants.IDENTIFY_BOOK_DIRECTORY + "/" + ev.getId() + "/" + identifyItemsConfirmLetterFileName + ".pdf"; + + ByteArrayOutputStream fosWord = new ByteArrayOutputStream(); + ossFile.fileGet(downFile, fosWord); + ByteArrayInputStream fisWord = new ByteArrayInputStream(fosWord.toByteArray()); + fosWord.close(); + // 转换临时目录中的 word 文档为 PDF + MockMultipartFile mockMultipartFile = new MockMultipartFile("file", identifyItemsConfirmLetterFileName + ".docx", "image/jpg", fisWord); + Response response = remoteWord2PDFService.word2pdf(mockMultipartFile); + fisWord.close(); + org.apache.commons.io.output.ByteArrayOutputStream outPDF = new org.apache.commons.io.output.ByteArrayOutputStream(); + IoUtil.copy(response.body().asInputStream(), outPDF, IoUtil.DEFAULT_MIDDLE_BUFFER_SIZE); + ByteArrayInputStream isPDF = new ByteArrayInputStream(outPDF.toByteArray()); + outPDF.close(); + ossFile.fileSave(pdfFilePath, isPDF); + isPDF.close(); + ossFile.fileGet(pdfFilePath, servletResponse.getOutputStream()); + System.out.println(String.format("转换为 PDF 结束")); + } + + + @Override + public void previewEntrustPDF(String entrustId, HttpServletResponse servletResponse) throws Exception { + EntrustmentVO ev = this.getEntrustmentVOById(entrustId); + List materialList = entrustmentIdentificationMaterialService.list(Wrappers.lambdaQuery() + .eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId)); + + if (materialList == null || materialList.size() == 0) { + throw new RuntimeException("请至少先添加一个检材后再进行打印!"); + } + String entrustmentLetterFileName = "鉴定委托书" + "-" + ev.getEntrustmentNo(); + String downFile = OSSDirectoryConstants.DOCUMENT_ENTRUSTMENT_DIRECTORY + "/" + ev.getId() + "/" + entrustmentLetterFileName + ".docx"; + boolean ret = !ossFile.objectExist(downFile); + if (!ossFile.objectExist(downFile) || ev.getStatus() <= EntrustStatusConstants.ENTRUST_STATUS_WAITING_ACCEPT.getStatus()) { + GenerateEntrustmentLetterPDF(ev); + } + String pdfFilePath = OSSDirectoryConstants.DOCUMENT_ENTRUSTMENT_DIRECTORY + "/" + ev.getId() + "/" + entrustmentLetterFileName + ".pdf"; + + ByteArrayOutputStream fosWord = new ByteArrayOutputStream(); + ossFile.fileGet(downFile, fosWord); + ByteArrayInputStream fisWord = new ByteArrayInputStream(fosWord.toByteArray()); + fosWord.close(); + // 转换临时目录中的 word 文档为 PDF + MockMultipartFile mockMultipartFile = new MockMultipartFile("file", entrustmentLetterFileName + ".docx", "image/jpg", fisWord); + Response response = remoteWord2PDFService.word2pdf(mockMultipartFile); + fisWord.close(); + org.apache.commons.io.output.ByteArrayOutputStream outPDF = new org.apache.commons.io.output.ByteArrayOutputStream(); + IoUtil.copy(response.body().asInputStream(), outPDF, IoUtil.DEFAULT_MIDDLE_BUFFER_SIZE); + ByteArrayInputStream isPDF = new ByteArrayInputStream(outPDF.toByteArray()); + outPDF.close(); + ossFile.fileSave(pdfFilePath, isPDF); + isPDF.close(); + ossFile.fileGet(pdfFilePath, servletResponse.getOutputStream()); + System.out.println(String.format("转换为 PDF 结束")); + } } diff --git a/src/main/resources/mapper/EntrustAlterApplyMapper.xml b/src/main/resources/mapper/EntrustAlterApplyMapper.xml index 2108dae..619ac3d 100644 --- a/src/main/resources/mapper/EntrustAlterApplyMapper.xml +++ b/src/main/resources/mapper/EntrustAlterApplyMapper.xml @@ -66,7 +66,7 @@ AND eaa.apply_org_id = #{query.clientOrgId} - ORDER BY eaa.apply_date DESC + ORDER BY eaa.create_time DESC