From 28416887285be909bdf03892a65e140734038ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Mon, 9 Nov 2026 15:30:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=90=88=E8=A7=84=E6=96=B0=E5=A2=9E=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=8D=95=E4=BD=8D=E9=87=91=E8=9D=B6=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=B9=B6=E5=81=9C=E9=80=81=E5=88=9B=E5=BB=BA=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/hcs/HcsProjectSyncSupport.java | 15 +++++++++------ .../springblade/hcs/dto/HcsProjectPropsDTO.java | 5 +++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsProjectSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsProjectSyncSupport.java index e24d8e16..e7b64b3a 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsProjectSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/hcs/HcsProjectSyncSupport.java @@ -43,7 +43,6 @@ import org.springblade.hcs.dto.HcsProjectLegalResultDTO; import org.springblade.hcs.dto.HcsProjectPropsDTO; import org.springblade.hcs.dto.HcsProjectUpdateDTO; import org.springblade.hcs.dto.HcsProjectVO; -import org.springblade.hcs.dto.HcsRefVO; import org.springblade.hcs.dto.HcsResult; import org.springblade.hcs.dto.HcsSaveOptionDTO; import org.springblade.hcs.dto.HcsUserRefVO; @@ -55,6 +54,8 @@ import org.springblade.transport.mapper.HcsContractCheckLogMapper; import org.springblade.transport.mapper.ProjectApplyMapper; import org.springblade.transport.pojo.entity.HcsContractCheckLog; import org.springblade.transport.pojo.entity.ProjectApply; +import org.springblade.transport.service.KingdeeSyncContext; +import org.springblade.transport.support.KingdeeApBillSyncSupport; import org.springframework.stereotype.Component; import java.math.BigDecimal; @@ -91,6 +92,7 @@ public class HcsProjectSyncSupport { private final HcsProperties hcsProperties; private final ProjectApplyMapper projectApplyMapper; private final HcsContractCheckLogMapper hcsContractCheckLogMapper; + private final KingdeeApBillSyncSupport kingdeeApBillSyncSupport; /** * 推送项目立项到 HCS:判重 → 新建(C102-1)/ 更新(C102-2)→ 回填合规 fdId 置 synced @@ -189,13 +191,11 @@ public class HcsProjectSyncSupport { props.setFdProSimpleName(projectApply.getProjectShortName()); // 【必填】项目编号:ProjectApply.projectCode(判重候选键) props.setFdNum(projectApply.getProjectCode()); - // 创建单位:固定取配置 thirdParty.hcs.creator-unit-id/name(HCS 组织主数据,§9-U2;任一未配置回退开题部门名称仅传 fdName,其他合同接口同用此配置) - HcsRefVO creatorUnit = hcsProperties.resolveCreatorUnit(projectApply.getBusinessDeptName()); - props.setFdCreatorUnit(creatorUnit); + // 创建单位 fd_creator_unit 按合规要求停送(字段保留,值不传) + // 承接部门:取配置 thirdParty.hcs.creator-unit-id/name(原与创建单位同源,测试线联调固定广西物产城矿发展有限公司) + props.setFdTakerDept(hcsProperties.resolveCreatorUnit(projectApply.getBusinessDeptName())); // 项目负责人:负责人登录名 {fdLoginName}(§9-U2) props.setFdHead(resolveUserRef(projectApply.getPrincipalUserId())); - // todo 承接部门:与创建单位一致,取配置 thirdParty.hcs.creator-unit-id/name(测试线联调固定广西物产城矿发展有限公司) - props.setFdTakerDept(creatorUnit); // 承接人:项目经办人登录名 {fdLoginName} props.setFdTaker(resolveUserRef(projectApply.getHandlerUserId())); // 付款额度:TMS fundLimit(万元)× 10000 转 HCS 元 @@ -224,6 +224,9 @@ public class HcsProjectSyncSupport { // 金蝶项目立项ID 来源系统主键 ID:TMS 项目立项单主键(D14,对账/幂等候选键) // props.setFdKingdeeId(String.valueOf(projectApply.getId())); + // 【必填】申请单位金蝶编码:项目业务部门上溯平台公司的金蝶编码(业务部门未维护/未归属平台公司/平台公司未维护金蝶编码时拦截推送) + props.setFdHtId(kingdeeApBillSyncSupport.kingdeeOrgNumber(projectApply.getId(), KingdeeSyncContext.empty())); + // 创建人:项目经办人登录名(扫描推送无登录上下文,取单据承办人,§9-U2) props.setFdCreator(resolveUserRef(projectApply.getHandlerUserId())); formData.setDynamicProps(props); diff --git a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsProjectPropsDTO.java b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsProjectPropsDTO.java index 75310d50..9a16eb1c 100644 --- a/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsProjectPropsDTO.java +++ b/blade-third-party-api/blade-hcs-api/src/main/java/org/springblade/hcs/dto/HcsProjectPropsDTO.java @@ -148,6 +148,11 @@ public class HcsProjectPropsDTO implements Serializable { */ @JsonProperty("fd_kingdee_id") private String fdKingdeeId; + /** + * 申请单位金蝶编码(必填,项目业务部门上溯平台公司的金蝶编码,未维护时拦截推送) + */ + @JsonProperty("fd_ht_id") + private String fdHtId; /** * 创建人 {fdLoginName} */