This commit is contained in:
2025-08-22 17:05:52 +08:00
parent cc96bd2fe6
commit 2934c9ef47
2 changed files with 62 additions and 25 deletions

View File

@@ -89,6 +89,9 @@ public class EsignMultipleSignerNode extends ACommonSuperNode {
Map<String, Object> noticeConfig = new HashMap<>(); Map<String, Object> noticeConfig = new HashMap<>();
noticeConfig.put("noticeTypes", "1"); noticeConfig.put("noticeTypes", "1");
config.put("noticeConfig", noticeConfig); config.put("noticeConfig", noticeConfig);
Map<String,Object> signConfig = new HashMap<>();
signConfig.put("showBatchDropSealButton", false);
config.put("signConfig",signConfig);
return config; return config;
} }

View File

@@ -84,11 +84,13 @@ public class EsignOneSignerNode extends ACommonSuperNode {
Map<String, Object> noticeConfig = new HashMap<>(); Map<String, Object> noticeConfig = new HashMap<>();
noticeConfig.put("noticeTypes", "1"); noticeConfig.put("noticeTypes", "1");
config.put("noticeConfig", noticeConfig); config.put("noticeConfig", noticeConfig);
Map<String,Object> signConfig = new HashMap<>();
signConfig.put("showBatchDropSealButton", false);
config.put("signConfig",signConfig);
return config; return config;
} }
private List<Signer> buildOnlyASigner(FormDataVo formDataVo, String fileId) throws Exception { private List<Signer> buildOnlyASigner(FormDataVo formDataVo, String fileId) throws Exception {
List<SignFieldPosition> aPositions = new ArrayList<>();
SignFieldPosition aQiFengposition = new SignFieldPosition(); SignFieldPosition aQiFengposition = new SignFieldPosition();
aQiFengposition.setAcrossPageMode("ALL"); aQiFengposition.setAcrossPageMode("ALL");
@@ -96,12 +98,15 @@ public class EsignOneSignerNode extends ACommonSuperNode {
String sealId = getStringField(formDataVo,"甲方印章ID"); String sealId = getStringField(formDataVo,"甲方印章ID");
String psnName = getStringField(formDataVo,"甲方签署经办人"); String psnName = getStringField(formDataVo,"甲方签署经办人");
String psnMobile = getStringField(formDataVo,"甲方签署经办人联系方式"); String psnMobile = getStringField(formDataVo,"甲方签署经办人联系方式");
aPositions.add(aQiFengposition);
Signer aSigner = createOrgSigner( Signer aSigner = createOrgSigner(
fileId,"湖北国通领驭建设集团有限公司", aPositions, 1, null, null, null, psnMobile, psnName, null,false fileId,"湖北橙阳科技有限公司", null, 1, null, null, null, psnMobile, psnName, null,false
,sealId); ,sealId);
Signer a2Signer = createOrgQiFengSigner(
fileId,"湖北橙阳科技有限公司", aQiFengposition, 2, null, null, null, psnMobile, psnName, null,false
,sealId);
List<Signer> signers = new ArrayList<>(); List<Signer> signers = new ArrayList<>();
signers.add(aSigner); signers.add(aSigner);
signers.add(a2Signer);
return signers; return signers;
} }
@@ -195,7 +200,7 @@ public class EsignOneSignerNode extends ACommonSuperNode {
return signer; return signer;
} }
private Signer createOrgSigner(String fileId ,String orgName, List<SignFieldPosition> pos, int order, private Signer createOrgSigner(String fileId ,String orgName, SignFieldPosition po, int order,
String legalName, String legalId, String orgCode, String legalName, String legalId, String orgCode,
String transPhone, String psnName, String psnId,Boolean autoSign,String sealId) { String transPhone, String psnName, String psnId,Boolean autoSign,String sealId) {
Signer signer = new Signer(); Signer signer = new Signer();
@@ -217,32 +222,61 @@ public class EsignOneSignerNode extends ACommonSuperNode {
} }
List<SignField> signFields = new ArrayList<>(); List<SignField> signFields = new ArrayList<>();
for (SignFieldPosition po : pos) {
NormalSignFieldConfig fieldConfig = new NormalSignFieldConfig(); NormalSignFieldConfig normalSignFieldConfig = new NormalSignFieldConfig();
fieldConfig.setAssignedSealId(sealId); normalSignFieldConfig.setAssignedSealId(sealId);
if("ALL".equals(po.getAcrossPageMode())){ normalSignFieldConfig.setFreeMode(true);
fieldConfig.setSignFieldPosition(po); normalSignFieldConfig.setAutoSign(false);
fieldConfig.setAutoSign(autoSign); SignField field = new SignField();
fieldConfig.setSignFieldStyle(2); field.setSignFieldType(0);
SignField qiFengfield = new SignField(); field.setNormalSignFieldConfig(normalSignFieldConfig);
qiFengfield.setSignFieldType(0); field.setFileId(fileId);
qiFengfield.setNormalSignFieldConfig(fieldConfig); signFields.add(field);
qiFengfield.setFileId(fileId);
signFields.add(qiFengfield);
}else {
fieldConfig.setFreeMode(true);
SignField field = new SignField();
field.setSignFieldType(0);
field.setNormalSignFieldConfig(fieldConfig);
field.setFileId(fileId);
signFields.add(field);
}
}
signer.setSignFields(signFields); signer.setSignFields(signFields);
return signer; return signer;
} }
private Signer createOrgQiFengSigner(String fileId ,String orgName, SignFieldPosition po, int order,
String legalName, String legalId, String orgCode,
String transPhone, String psnName, String psnId,Boolean autoSign,String sealId) {
Signer signer = new Signer();
signer.setSignerType(1);
signer.setSignConfig(mapOf("signOrder", order));
if(Boolean.FALSE.equals(autoSign)){
signer.setNoticeConfig(mapOf("noticeTypes", "1"));
Map<String, Object> orgInfo = mapOf("orgName", orgName,
"transactorInfo", mapOf(
"psnAccount", transPhone,
"psnInfo", mapOf(
"psnName", psnName
)
)
);
signer.setOrgSignerInfo(orgInfo);
}
List<SignField> signFields = new ArrayList<>();
NormalSignFieldConfig normalSignFieldConfig = new NormalSignFieldConfig();
normalSignFieldConfig.setAssignedSealId(sealId);
normalSignFieldConfig.setSignFieldPosition(po);
normalSignFieldConfig.setAutoSign(autoSign);
normalSignFieldConfig.setSignFieldStyle(2);
SignField qiFengfield = new SignField();
qiFengfield.setSignFieldType(0);
qiFengfield.setNormalSignFieldConfig(normalSignFieldConfig);
qiFengfield.setFileId(fileId);
signFields.add(qiFengfield);
signer.setSignFields(signFields);
return signer;
}
private List<SignFieldPosition> extractPosition(List<Object> positions, String keyword) { private List<SignFieldPosition> extractPosition(List<Object> positions, String keyword) {
List<SignFieldPosition> posList = new ArrayList<>(); List<SignFieldPosition> posList = new ArrayList<>();
for (Object obj : positions) { for (Object obj : positions) {