fix bug
This commit is contained in:
@@ -141,6 +141,7 @@ public class EsignMultipleSignerNode extends ACommonSuperNode {
|
||||
}
|
||||
Map<String, Object> docMap = new HashMap<>();
|
||||
docMap.put("fileId", fileId);
|
||||
Thread.sleep(1000);
|
||||
List<Object> docs = new ArrayList<>();
|
||||
docs.add(docMap);
|
||||
Map<String, Object> signFlowConfig = buildSignFlowConfig(formDataVo, formDataMasterBean);
|
||||
|
||||
@@ -14,10 +14,12 @@ import com.seeyon.apps.ext.workflow.vo.FieldDataVo;
|
||||
import com.seeyon.apps.ext.workflow.vo.FormDataVo;
|
||||
import com.seeyon.apps.ext.workflow.vo.SuperNodeContext;
|
||||
import com.seeyon.cap4.form.bean.FormDataMasterBean;
|
||||
import com.seeyon.cap4.form.bean.FormDataSubBean;
|
||||
import com.seeyon.cap4.form.bean.FormFieldBean;
|
||||
import com.seeyon.cap4.form.service.CAP4FormManager;
|
||||
import com.seeyon.ctp.common.AppContext;
|
||||
import com.seeyon.ctp.common.exceptions.BusinessException;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -99,15 +101,31 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
||||
String psnName = getStringField(formDataVo,"甲方签署经办人");
|
||||
String psnMobile = getStringField(formDataVo,"甲方签署经办人联系方式");
|
||||
String orgName = configProvider.getBizConfigByKey(EsignConfigConstants.UNITNAME);
|
||||
List<SignFieldPosition> pos = new ArrayList<>();
|
||||
Map<String, List<FormDataVo>> subFormMap = formDataVo.getSubFormMap();
|
||||
List<FormDataVo> subDataVos = subFormMap.get("甲方签署位置");
|
||||
Boolean autoSign = true;
|
||||
if(subDataVos!= null && subDataVos.size() > 0 && !subDataVos.get(0).isEmpty()){
|
||||
for (FormDataVo subDataVo : subDataVos) {
|
||||
Map<String, FieldDataVo> fieldDataVoMap = subDataVo.getFieldDataVoMap();
|
||||
String pageNo = fieldDataVoMap.get("页码").getStringValue();
|
||||
String positionX = fieldDataVoMap.get("X坐标").getStringValue();
|
||||
String positionY = fieldDataVoMap.get("Y坐标").getStringValue();
|
||||
SignFieldPosition position = new SignFieldPosition();
|
||||
position.setPositionPage(pageNo);
|
||||
position.setPositionX(Float.parseFloat(positionX));
|
||||
position.setPositionY(Float.parseFloat(positionY));
|
||||
pos.add(position);
|
||||
}
|
||||
pos.add(aQiFengposition);
|
||||
}else {
|
||||
autoSign = false;
|
||||
}
|
||||
Signer aSigner = createOrgSigner(
|
||||
fileId,orgName, null, 1, null, null, null, psnMobile, psnName, null,false
|
||||
,sealId);
|
||||
Signer a2Signer = createOrgQiFengSigner(
|
||||
fileId,orgName, aQiFengposition, 2, null, null, null, psnMobile, psnName, null,false
|
||||
fileId,orgName, pos, 1, null, null, null, psnMobile, psnName, null,autoSign
|
||||
,sealId);
|
||||
List<Signer> signers = new ArrayList<>();
|
||||
signers.add(aSigner);
|
||||
signers.add(a2Signer);
|
||||
return signers;
|
||||
}
|
||||
|
||||
@@ -120,6 +138,7 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
||||
fileId = uploadFileService.uploadFileToEsign(attachmentId);
|
||||
}
|
||||
Map<String, Object> docMap = new HashMap<>();
|
||||
Thread.sleep(1000);
|
||||
docMap.put("fileId", fileId);
|
||||
List<Object> docs = new ArrayList<>();
|
||||
docs.add(docMap);
|
||||
@@ -201,12 +220,14 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
||||
return signer;
|
||||
}
|
||||
|
||||
private Signer createOrgSigner(String fileId ,String orgName, SignFieldPosition po, int order,
|
||||
private Signer createOrgSigner(String fileId ,String orgName, List<SignFieldPosition> pos, 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));
|
||||
List<SignField> signFields = new ArrayList<>();
|
||||
signer.setSignFields(signFields);
|
||||
if(Boolean.FALSE.equals(autoSign)){
|
||||
signer.setNoticeConfig(mapOf("noticeTypes", "1"));
|
||||
|
||||
@@ -218,12 +239,7 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
signer.setOrgSignerInfo(orgInfo);
|
||||
}
|
||||
|
||||
List<SignField> signFields = new ArrayList<>();
|
||||
|
||||
NormalSignFieldConfig normalSignFieldConfig = new NormalSignFieldConfig();
|
||||
normalSignFieldConfig.setAssignedSealId(sealId);
|
||||
normalSignFieldConfig.setFreeMode(true);
|
||||
@@ -233,8 +249,30 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
||||
field.setNormalSignFieldConfig(normalSignFieldConfig);
|
||||
field.setFileId(fileId);
|
||||
signFields.add(field);
|
||||
|
||||
signer.setSignFields(signFields);
|
||||
}else {
|
||||
for (SignFieldPosition po : pos) {
|
||||
NormalSignFieldConfig fieldConfig = new NormalSignFieldConfig();
|
||||
fieldConfig.setAssignedSealId(sealId);
|
||||
fieldConfig.setAutoSign(autoSign);
|
||||
if("ALL".equals(po.getAcrossPageMode())){
|
||||
fieldConfig.setSignFieldPosition(po);
|
||||
fieldConfig.setSignFieldStyle(2);
|
||||
SignField qiFengfield = new SignField();
|
||||
qiFengfield.setSignFieldType(0);
|
||||
qiFengfield.setNormalSignFieldConfig(fieldConfig);
|
||||
qiFengfield.setFileId(fileId);
|
||||
signFields.add(qiFengfield);
|
||||
}else {
|
||||
fieldConfig.setSignFieldPosition(po);
|
||||
fieldConfig.setSignFieldStyle(1);
|
||||
SignField field = new SignField();
|
||||
field.setSignFieldType(0);
|
||||
field.setNormalSignFieldConfig(fieldConfig);
|
||||
field.setFileId(fileId);
|
||||
signFields.add(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
return signer;
|
||||
}
|
||||
|
||||
|
||||
@@ -48,11 +48,11 @@ public class EsignCallbackBizService {
|
||||
updateFields.add(FormUpdateField.build().fieldName(updatefield).value(refId));
|
||||
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
||||
conditions.add(FormWhereCondition.build().value(tempFormId).fieldName("ID"));
|
||||
formDataOperator.updateMasterForm(updateFields,tablename,conditions);
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("message", "签署完成!!!");
|
||||
params.put("returnCode", 1);
|
||||
protUtil.sendPostNotification(params.toString(), configProvider.getBizConfigByKey(EsignConfigConstants.nodeTokenUrl), oaFlowId);
|
||||
formDataOperator.updateMasterForm(updateFields,tablename,conditions);
|
||||
}
|
||||
|
||||
public void handleFailSignCallbackBiz(String tableName,String statusField,String formId,String failMsg) throws Exception {
|
||||
@@ -68,11 +68,11 @@ public class EsignCallbackBizService {
|
||||
List<FormUpdateField> updateFields = new ArrayList<>();
|
||||
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
||||
conditions.add(FormWhereCondition.build().value(tempFormId).fieldName("ID"));
|
||||
formDataOperator.updateMasterForm(updateFields,tableName,conditions);
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("message", "签署失败: " + failMsg);
|
||||
params.put("returnCode", 2);
|
||||
protUtil.sendPostNotification(params.toString(), configProvider.getBizConfigByKey(EsignConfigConstants.nodeTokenUrl), oaFlowId);
|
||||
formDataOperator.updateMasterForm(updateFields,tableName,conditions);
|
||||
}
|
||||
|
||||
private String getModuleId(String formId) {
|
||||
|
||||
Reference in New Issue
Block a user