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<>();
noticeConfig.put("noticeTypes", "1");
config.put("noticeConfig", noticeConfig);
Map<String,Object> signConfig = new HashMap<>();
signConfig.put("showBatchDropSealButton", false);
config.put("signConfig",signConfig);
return config;
}

View File

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