From 934b2990f1acdcc4c16d659a610d8d7cdffa279b Mon Sep 17 00:00:00 2001 From: jiangpeng Date: Fri, 10 Jul 2026 18:05:17 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=8E=A8=E9=80=81CRM=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oms_web/oms_vue/src/views/system/product/index.vue | 7 ++----- .../com/ruoyi/sip/controller/DataProcessController.java | 6 ++++-- .../sip/dto/integration/OpportunityUpdateRequestDto.java | 6 +++++- .../com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java | 7 ++++++- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/oms_web/oms_vue/src/views/system/product/index.vue b/oms_web/oms_vue/src/views/system/product/index.vue index a0219646..369350d8 100644 --- a/oms_web/oms_vue/src/views/system/product/index.vue +++ b/oms_web/oms_vue/src/views/system/product/index.vue @@ -566,11 +566,8 @@ export default { }); }, handleLevel2TypeChange(level2Type) { - /* - 产品类型:硬件 - 二级类型:汇智云终端、H3C云终端、转售云终端 - */ - if (this.form.type == 2 && (level2Type == 3 || level2Type == 4 || level2Type == 5)) { + // 产品类型为硬件时显示云终端配置 + if (this.form.type == 2) { this.level2TypeRelation = true; // 显示时添加必填验证 this.rules.terminalType = [{ required: true, message: "终端类型不能为空", trigger: "change" }]; diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DataProcessController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DataProcessController.java index e38749c8..a42be584 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DataProcessController.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DataProcessController.java @@ -50,8 +50,10 @@ public class DataProcessController extends BaseController { //项目推送CRM @Anonymous @GetMapping("/projectPushCRM") - public void projectSendCRM(@RequestParam("projectId") Long projectId) { - dataProcessService.projectSendCRM(projectId); + public void projectSendCRM(@RequestParam("projectId") String projectIds) { + for (String projectId : projectIds.split(",")) { + dataProcessService.projectSendCRM(Long.valueOf(projectId.trim())); + } } //生成虚拟采购单(已发货未绑定采购单的数据) diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/dto/integration/OpportunityUpdateRequestDto.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/dto/integration/OpportunityUpdateRequestDto.java index d8f3705c..33d69c75 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/dto/integration/OpportunityUpdateRequestDto.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/dto/integration/OpportunityUpdateRequestDto.java @@ -3,7 +3,7 @@ package com.ruoyi.sip.dto.integration; import lombok.Data; import java.math.BigDecimal; -import java.util.List; +import java.time.OffsetDateTime; @Data public class OpportunityUpdateRequestDto { @@ -63,4 +63,8 @@ public class OpportunityUpdateRequestDto { * 是否归档 */ private Boolean archived; + /** + * 签约时间 + */ + private OffsetDateTime archivedAt; } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java index 264d96a6..a97c56d0 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectInfoServiceImpl.java @@ -398,6 +398,10 @@ public class ProjectInfoServiceImpl implements IProjectInfoService { ? firstOrder.getActualPurchaseAmount() : firstOrder.getShipmentAmount(); requestDto.setActualSignedAmount(actualSignedAmount); + if (firstOrder.getApproveTime() != null) { + requestDto.setArchivedAt(firstOrder.getApproveTime().toInstant() + .atZone(ZoneId.systemDefault()).toOffsetDateTime()); + } } } requestDto.setExpectedCloseDate(formatterDate(projectInfo.getEstimatedOrderTime(), DateUtils.YYYY_MM_DD)); @@ -431,7 +435,8 @@ public class ProjectInfoServiceImpl implements IProjectInfoService { || requestDto.getPreSalesId() != null || StringUtils.isNotEmpty(requestDto.getPreSalesName()) || StringUtils.isNotEmpty(requestDto.getCompetitorName()) - || requestDto.getArchived() != null; + || requestDto.getArchived() != null + || requestDto.getArchivedAt() != null; } private void recordOperationLogs(ProjectInfo projectInfo, ProjectInfo oldProjectInfo) {