fix bug
This commit is contained in:
@@ -141,6 +141,7 @@ public class EsignMultipleSignerNode extends ACommonSuperNode {
|
|||||||
}
|
}
|
||||||
Map<String, Object> docMap = new HashMap<>();
|
Map<String, Object> docMap = new HashMap<>();
|
||||||
docMap.put("fileId", fileId);
|
docMap.put("fileId", fileId);
|
||||||
|
Thread.sleep(1000);
|
||||||
List<Object> docs = new ArrayList<>();
|
List<Object> docs = new ArrayList<>();
|
||||||
docs.add(docMap);
|
docs.add(docMap);
|
||||||
Map<String, Object> signFlowConfig = buildSignFlowConfig(formDataVo, formDataMasterBean);
|
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.FormDataVo;
|
||||||
import com.seeyon.apps.ext.workflow.vo.SuperNodeContext;
|
import com.seeyon.apps.ext.workflow.vo.SuperNodeContext;
|
||||||
import com.seeyon.cap4.form.bean.FormDataMasterBean;
|
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.bean.FormFieldBean;
|
||||||
import com.seeyon.cap4.form.service.CAP4FormManager;
|
import com.seeyon.cap4.form.service.CAP4FormManager;
|
||||||
import com.seeyon.ctp.common.AppContext;
|
import com.seeyon.ctp.common.AppContext;
|
||||||
import com.seeyon.ctp.common.exceptions.BusinessException;
|
import com.seeyon.ctp.common.exceptions.BusinessException;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -99,15 +101,31 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
|||||||
String psnName = getStringField(formDataVo,"甲方签署经办人");
|
String psnName = getStringField(formDataVo,"甲方签署经办人");
|
||||||
String psnMobile = getStringField(formDataVo,"甲方签署经办人联系方式");
|
String psnMobile = getStringField(formDataVo,"甲方签署经办人联系方式");
|
||||||
String orgName = configProvider.getBizConfigByKey(EsignConfigConstants.UNITNAME);
|
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(
|
Signer aSigner = createOrgSigner(
|
||||||
fileId,orgName, null, 1, null, null, null, psnMobile, psnName, null,false
|
fileId,orgName, pos, 1, null, null, null, psnMobile, psnName, null,autoSign
|
||||||
,sealId);
|
,sealId);
|
||||||
Signer a2Signer = createOrgQiFengSigner(
|
|
||||||
fileId,orgName, 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,6 +138,7 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
|||||||
fileId = uploadFileService.uploadFileToEsign(attachmentId);
|
fileId = uploadFileService.uploadFileToEsign(attachmentId);
|
||||||
}
|
}
|
||||||
Map<String, Object> docMap = new HashMap<>();
|
Map<String, Object> docMap = new HashMap<>();
|
||||||
|
Thread.sleep(1000);
|
||||||
docMap.put("fileId", fileId);
|
docMap.put("fileId", fileId);
|
||||||
List<Object> docs = new ArrayList<>();
|
List<Object> docs = new ArrayList<>();
|
||||||
docs.add(docMap);
|
docs.add(docMap);
|
||||||
@@ -201,12 +220,14 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
|||||||
return signer;
|
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 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();
|
||||||
signer.setSignerType(1);
|
signer.setSignerType(1);
|
||||||
signer.setSignConfig(mapOf("signOrder", order));
|
signer.setSignConfig(mapOf("signOrder", order));
|
||||||
|
List<SignField> signFields = new ArrayList<>();
|
||||||
|
signer.setSignFields(signFields);
|
||||||
if(Boolean.FALSE.equals(autoSign)){
|
if(Boolean.FALSE.equals(autoSign)){
|
||||||
signer.setNoticeConfig(mapOf("noticeTypes", "1"));
|
signer.setNoticeConfig(mapOf("noticeTypes", "1"));
|
||||||
|
|
||||||
@@ -218,23 +239,40 @@ public class EsignOneSignerNode extends ACommonSuperNode {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
signer.setOrgSignerInfo(orgInfo);
|
signer.setOrgSignerInfo(orgInfo);
|
||||||
|
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);
|
||||||
|
}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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<SignField> signFields = new ArrayList<>();
|
|
||||||
|
|
||||||
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;
|
return signer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ public class EsignCallbackBizService {
|
|||||||
updateFields.add(FormUpdateField.build().fieldName(updatefield).value(refId));
|
updateFields.add(FormUpdateField.build().fieldName(updatefield).value(refId));
|
||||||
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
||||||
conditions.add(FormWhereCondition.build().value(tempFormId).fieldName("ID"));
|
conditions.add(FormWhereCondition.build().value(tempFormId).fieldName("ID"));
|
||||||
formDataOperator.updateMasterForm(updateFields,tablename,conditions);
|
|
||||||
JSONObject params = new JSONObject();
|
JSONObject params = new JSONObject();
|
||||||
params.put("message", "签署完成!!!");
|
params.put("message", "签署完成!!!");
|
||||||
params.put("returnCode", 1);
|
params.put("returnCode", 1);
|
||||||
protUtil.sendPostNotification(params.toString(), configProvider.getBizConfigByKey(EsignConfigConstants.nodeTokenUrl), oaFlowId);
|
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 {
|
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<>();
|
List<FormUpdateField> updateFields = new ArrayList<>();
|
||||||
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
updateFields.add(FormUpdateField.build().fieldName(status).value(enumItemId));
|
||||||
conditions.add(FormWhereCondition.build().value(tempFormId).fieldName("ID"));
|
conditions.add(FormWhereCondition.build().value(tempFormId).fieldName("ID"));
|
||||||
formDataOperator.updateMasterForm(updateFields,tableName,conditions);
|
|
||||||
JSONObject params = new JSONObject();
|
JSONObject params = new JSONObject();
|
||||||
params.put("message", "签署失败: " + failMsg);
|
params.put("message", "签署失败: " + failMsg);
|
||||||
params.put("returnCode", 2);
|
params.put("returnCode", 2);
|
||||||
protUtil.sendPostNotification(params.toString(), configProvider.getBizConfigByKey(EsignConfigConstants.nodeTokenUrl), oaFlowId);
|
protUtil.sendPostNotification(params.toString(), configProvider.getBizConfigByKey(EsignConfigConstants.nodeTokenUrl), oaFlowId);
|
||||||
|
formDataOperator.updateMasterForm(updateFields,tableName,conditions);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getModuleId(String formId) {
|
private String getModuleId(String formId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user