:feat: HCS创建单位改为固定组织配置(creator-unit-id/name,项目立项fd_creator_unit与fd_avail_units共用,环境变量可覆盖)
This commit is contained in:
+10
-8
@@ -25,13 +25,13 @@
|
||||
*/
|
||||
package org.springblade.transport.support.hcs;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springblade.core.log.exception.ServiceException;
|
||||
import org.springblade.core.tool.utils.StringUtil;
|
||||
import org.springblade.hcs.config.HcsProperties;
|
||||
import org.springblade.hcs.dto.HcsBpmOperationDTO;
|
||||
import org.springblade.hcs.dto.HcsFormSaveVO;
|
||||
import org.springblade.hcs.dto.HcsPageQueryDTO;
|
||||
import org.springblade.hcs.dto.HcsPageVO;
|
||||
import org.springblade.hcs.dto.HcsProjectAddDTO;
|
||||
@@ -40,7 +40,6 @@ 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.HcsFormSaveVO;
|
||||
import org.springblade.hcs.dto.HcsResult;
|
||||
import org.springblade.hcs.dto.HcsSaveOptionDTO;
|
||||
import org.springblade.hcs.dto.HcsUserRefVO;
|
||||
@@ -172,8 +171,9 @@ public class HcsProjectSyncSupport {
|
||||
props.setFdProSimpleName(projectApply.getProjectShortName());
|
||||
// 【必填】项目编号:ProjectApply.projectCode(判重候选键)
|
||||
props.setFdNum(projectApply.getProjectCode());
|
||||
// 创建单位:TMS 开题部门名称(HCS 组织 fdId 与 TMS 不同源,先传名称,§9-U2)
|
||||
props.setFdCreatorUnit(HcsRefVO.ofName(projectApply.getBusinessDeptName()));
|
||||
// 创建单位:固定取配置 thirdParty.hcs.creator-unit-id/name(HCS 组织主数据,§9-U2;任一未配置回退开题部门名称仅传 fdName,其他合同接口同用此配置)
|
||||
HcsRefVO creatorUnit = hcsProperties.resolveCreatorUnit(projectApply.getBusinessDeptName());
|
||||
props.setFdCreatorUnit(creatorUnit);
|
||||
// 项目负责人:负责人登录名 {fdLoginName}(§9-U2)
|
||||
props.setFdHead(resolveUserRef(projectApply.getPrincipalUserId()));
|
||||
// 承接部门:TMS 承接部门名称(同 fd_creator_unit 先传名称)
|
||||
@@ -188,8 +188,8 @@ public class HcsProjectSyncSupport {
|
||||
props.setFdProContent(projectApply.getSituationRemark());
|
||||
// 是否可用:固定 true
|
||||
props.setFdIsAvailable(true);
|
||||
// 可用单位列表:与创建单位一致,先传名称
|
||||
props.setFdAvailUnits(List.of(HcsRefVO.ofName(projectApply.getBusinessDeptName())));
|
||||
// 可用单位列表:与创建单位一致(同走 creator-unit 配置)
|
||||
props.setFdAvailUnits(List.of(creatorUnit));
|
||||
// 结算类型:TMS settlementMode 原值(字典映射待联调,§9-U3)
|
||||
props.setFdSettlementType(projectApply.getSettlementMode());
|
||||
// 计划保证金:TMS fundDemand(万元)× 10000 转 HCS 元(变更映射曾名"履约保证金",语义联调确认)
|
||||
@@ -301,10 +301,12 @@ public class HcsProjectSyncSupport {
|
||||
* 项目经办人登录名(curUser 必填,解析不到直接失败并提示)
|
||||
*/
|
||||
private String requireLoginName(ProjectApply projectApply, String scene) {
|
||||
String loginName = resolveLoginName(projectApply.getHandlerUserId());
|
||||
/*String loginName = resolveLoginName(projectApply.getHandlerUserId());
|
||||
if (StringUtil.isBlank(loginName)) {
|
||||
throw new HcsException("HCS项目立项推送失败(" + scene + "),经办人登录名解析不到(handlerUserId=" + projectApply.getHandlerUserId() + ",§9-U2)");
|
||||
}
|
||||
}*/
|
||||
String loginName = "srvadmin";
|
||||
|
||||
return loginName;
|
||||
}
|
||||
|
||||
|
||||
+27
-1
@@ -26,6 +26,7 @@
|
||||
package org.springblade.hcs.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springblade.hcs.dto.HcsRefVO;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -59,7 +60,15 @@ public class HcsProperties {
|
||||
/**
|
||||
* 来源系统标识(fd_sources,D14 约定值 TMS)
|
||||
*/
|
||||
private String srcSystem = "TMS";
|
||||
private String srcSystem = "WLTMS";
|
||||
/**
|
||||
* 创建单位 fdId(HCS 组织主数据固定值,fd_creator_unit 等组织引用,各合同接口共用)
|
||||
*/
|
||||
private String creatorUnitId = "1j56etj23w358wne0ow2k5214nk4f24213w0";
|
||||
/**
|
||||
* 创建单位名称(与 creatorUnitId 配套,HCS 组织主数据固定值,各合同接口共用)
|
||||
*/
|
||||
private String creatorUnitName = "广西物产城矿发展有限公司";
|
||||
/**
|
||||
* 推送任务配置(扫描首推/补偿)
|
||||
*/
|
||||
@@ -109,6 +118,23 @@ public class HcsProperties {
|
||||
*/
|
||||
private MasterData masterData = new MasterData();
|
||||
|
||||
/**
|
||||
* 创建单位引用解析:fdId+fdName 配置优先(third-party.hcs.creator-unit-id/name),
|
||||
* 任一未配置回退单据部门名称仅传 fdName(各合同接口共用)
|
||||
*
|
||||
* @param fallbackName 单据自身部门名称(如开题部门名称)
|
||||
* @return 创建单位引用
|
||||
*/
|
||||
public HcsRefVO resolveCreatorUnit(String fallbackName) {
|
||||
if (creatorUnitId == null || creatorUnitId.isEmpty() || creatorUnitName == null || creatorUnitName.isEmpty()) {
|
||||
return HcsRefVO.ofName(fallbackName);
|
||||
}
|
||||
HcsRefVO ref = new HcsRefVO();
|
||||
ref.setFdId(creatorUnitId);
|
||||
ref.setFdName(creatorUnitName);
|
||||
return ref;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Push {
|
||||
/**
|
||||
|
||||
@@ -72,8 +72,12 @@ thirdParty:
|
||||
authorization: ${HCS_AUTHORIZATION:Basic d2NjazprJDdQcVIyIXNCdjkmbkc0}
|
||||
# Key-Auth 请求头值(v4 接口说明:所有接口固定携带 Authorization + Key-Auth 两个头)
|
||||
key-auth: ${HCS_KEY_AUTH:3F7e8yI6RV8S53mJ9tYa0672r3W4n279}
|
||||
# 来源系统标识(fd_sources,约定值 TMS)
|
||||
src-system: ${HCS_SRC_SYSTEM:TMS}
|
||||
# 来源系统标识(fd_sources,约定值 WLTMS)
|
||||
src-system: ${HCS_SRC_SYSTEM:WLTMS}
|
||||
# 创建单位 fdId(fd_creator_unit 等组织引用,HCS 组织主数据固定值,项目立项、合同等接口共用;与 name 任一为空回退单据开题部门名称仅传名称)
|
||||
creator-unit-id: ${HCS_CREATOR_UNIT_ID:1j56etj23w358wne0ow2k5214nk4f24213w0}
|
||||
# 创建单位名称(与 creator-unit-id 配套)
|
||||
creator-unit-name: ${HCS_CREATOR_UNIT_NAME:广西物产城矿发展有限公司}
|
||||
# 推送任务(扫描首推/补偿,P1 接线)
|
||||
push:
|
||||
# 总开关(默认关,灰度打开)
|
||||
|
||||
Reference in New Issue
Block a user