fix: 项目立项接口字段标注

This commit is contained in:
刘泉佳
2026-10-10 21:01:00 +08:00
parent 242b203a68
commit 7dce25b7bd
@@ -174,7 +174,7 @@ public class HcsProjectSyncSupport {
props.setFdCreatorUnit(creatorUnit);
// 项目负责人:负责人登录名 {fdLoginName}(§9-U2)
props.setFdHead(resolveUserRef(projectApply.getPrincipalUserId()));
// 承接部门:与创建单位一致,取配置 thirdParty.hcs.creator-unit-id/name(测试线联调固定广西物产城矿发展有限公司)
// todo 承接部门:与创建单位一致,取配置 thirdParty.hcs.creator-unit-id/name(测试线联调固定广西物产城矿发展有限公司)
props.setFdTakerDept(creatorUnit);
// 承接人:项目经办人登录名 {fdLoginName}
props.setFdTaker(resolveUserRef(projectApply.getHandlerUserId()));
@@ -186,21 +186,24 @@ public class HcsProjectSyncSupport {
props.setFdProContent(projectApply.getSituationRemark());
// 【必填】是否可用:固定 true
props.setFdIsAvailable(true);
// 可用单位列表:与创建单位一致(同走 creator-unit 配置)
props.setFdAvailUnits(List.of(creatorUnit));
// 可用单位列表:与创建单位一致(同走 creator-unit 配置)(废弃)
// props.setFdAvailUnits(List.of(creatorUnit));
// 结算类型:TMS settlementMode 原值(字典映射待联调,§9-U3)
props.setFdSettlementType(projectApply.getSettlementMode());
// 计划保证金:TMS fundDemand(万元)× 10000 转 HCS 元(变更映射曾名"履约保证金",语义联调确认)
props.setFdProPlanDeposit(toYuan(projectApply.getFundDemand()));
// 是否自营项目:一期固定 "1"(联调确认)
props.setFdIsSelfPro("1");
// 是否自营项目:一期固定 "2"。是|1, 否|2
props.setFdIsSelfPro("2");
// TODO 待确认:项目收入目标 fd_pro_income_goal,TMS 无直接对应字段,一期不传(§5.1)
// 金蝶同步状态:固定 "1"
props.setFdKingdeeSyncStatus("1");
// 金蝶同步状态:固定 "1" 推送成功|1
// props.setFdKingdeeSyncStatus("1");
// 【必填】来源标识:fd_sources,配置 thirdParty.hcs.src-system(约定值 WLTMS,D14)
props.setFdSources(hcsProperties.getSrcSystem());
// 来源系统主键 ID:TMS 项目立项单主键(D14,对账/幂等候选键)
props.setFdKingdeeId(String.valueOf(projectApply.getId()));
// 金蝶项目立项ID 来源系统主键 ID:TMS 项目立项单主键(D14,对账/幂等候选键)
// props.setFdKingdeeId(String.valueOf(projectApply.getId()));
// 创建人:项目经办人登录名(扫描推送无登录上下文,取单据承办人,§9-U2)
props.setFdCreator(resolveUserRef(projectApply.getHandlerUserId()));
formData.setDynamicProps(props);
@@ -296,16 +299,11 @@ public class HcsProjectSyncSupport {
}
/**
* 项目经办人登录名(curUser 必填,解析不到直接失败并提示)
* 项目经办人登录名(curUser 必填)
*/
private String requireLoginName(ProjectApply projectApply, String scene) {
/*String loginName = resolveLoginName(projectApply.getHandlerUserId());
if (StringUtil.isBlank(loginName)) {
throw new HcsException("HCS项目立项推送失败(" + scene + "),经办人登录名解析不到(handlerUserId=" + projectApply.getHandlerUserId() + ",§9-U2)");
}*/
String loginName = "srvadmin";
return loginName;
// TODO 测试线联调:登录名固定取 srvadmin,联调通过后恢复经办人解析与校验
return resolveLoginName(projectApply.getHandlerUserId());
}
/**
@@ -320,11 +318,13 @@ public class HcsProjectSyncSupport {
* 按用户ID 解析登录名(UserCache 惯例)
*/
private String resolveLoginName(Long userId) {
if (userId == null) {
// TODO 测试线联调:登录名固定取 srvadmin(curUser/fd_head/fd_taker/fd_creator 统一生效),联调通过后恢复按 UserCache 解析
return "srvadmin";
/*if (userId == null) {
return null;
}
User user = UserCache.getUser(userId);
return user == null ? null : user.getAccount();
return user == null ? null : user.getAccount();*/
}
/**