diff --git a/esign/src/main/java/com/seeyon/apps/esign/node/EsignMultipleSignerNode.java b/esign/src/main/java/com/seeyon/apps/esign/node/EsignMultipleSignerNode.java index e90a7dd..3eec7b0 100644 --- a/esign/src/main/java/com/seeyon/apps/esign/node/EsignMultipleSignerNode.java +++ b/esign/src/main/java/com/seeyon/apps/esign/node/EsignMultipleSignerNode.java @@ -89,6 +89,9 @@ public class EsignMultipleSignerNode extends ACommonSuperNode { Map noticeConfig = new HashMap<>(); noticeConfig.put("noticeTypes", "1"); config.put("noticeConfig", noticeConfig); + Map signConfig = new HashMap<>(); + signConfig.put("showBatchDropSealButton", false); + config.put("signConfig",signConfig); return config; } diff --git a/esign/src/main/java/com/seeyon/apps/esign/node/EsignOneSignerNode.java b/esign/src/main/java/com/seeyon/apps/esign/node/EsignOneSignerNode.java index a27eaf1..4b5caca 100644 --- a/esign/src/main/java/com/seeyon/apps/esign/node/EsignOneSignerNode.java +++ b/esign/src/main/java/com/seeyon/apps/esign/node/EsignOneSignerNode.java @@ -84,11 +84,13 @@ public class EsignOneSignerNode extends ACommonSuperNode { Map noticeConfig = new HashMap<>(); noticeConfig.put("noticeTypes", "1"); config.put("noticeConfig", noticeConfig); + Map signConfig = new HashMap<>(); + signConfig.put("showBatchDropSealButton", false); + config.put("signConfig",signConfig); return config; } private List buildOnlyASigner(FormDataVo formDataVo, String fileId) throws Exception { - List 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 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 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 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); - SignField field = new SignField(); - field.setSignFieldType(0); - field.setNormalSignFieldConfig(fieldConfig); - field.setFileId(fileId); - signFields.add(field); - } - } + + NormalSignFieldConfig normalSignFieldConfig = new NormalSignFieldConfig(); + normalSignFieldConfig.setAssignedSealId(sealId); + normalSignFieldConfig.setFreeMode(true); + normalSignFieldConfig.setAutoSign(false); + SignField field = new SignField(); + field.setSignFieldType(0); + 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 orgInfo = mapOf("orgName", orgName, + "transactorInfo", mapOf( + "psnAccount", transPhone, + "psnInfo", mapOf( + "psnName", psnName + ) + ) + ); + + signer.setOrgSignerInfo(orgInfo); + } + + List 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 extractPosition(List positions, String keyword) { List posList = new ArrayList<>(); for (Object obj : positions) {