|
|
@@ -550,7 +550,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
Map<String, Object> transactorInfo = Maps.newHashMap();
|
|
|
transactorInfo.put("psnAccount", orgSignerInfo.getString("psnAccount"));
|
|
|
Map<String, Object> psnInfo = Maps.newHashMap();
|
|
|
- psnInfo.put("psnName", orgSignerInfo.getString("psnAccount"));
|
|
|
+ psnInfo.put("psnName", orgSignerInfo.getString("psnName"));
|
|
|
transactorInfo.put("psnInfo", psnInfo);
|
|
|
orgPsnSignMap.put("transactorInfo", transactorInfo);
|
|
|
orgPsnSignMap.put("orgInfo", orgPsn.getJSONObject("orgInfo"));
|
|
|
@@ -589,60 +589,68 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
for (Map<String, Object> doc : docs) {
|
|
|
Map<String, List<Map<String, Object>>> signListGroup = (Map<String, List<Map<String, Object>>>) doc.get("signListGroup");
|
|
|
List<Map<String, Object>> fieldList = signListGroup.get(signName);
|
|
|
- for (Map<String, Object> fieldMap : fieldList) {
|
|
|
- Map<String, Object> field = Maps.newHashMap();
|
|
|
- field.put("fileId", fieldMap.get("fileId"));
|
|
|
- field.put("customBizNum", sourceId);
|
|
|
- if (0 == ((int) fieldMap.get("signFieldType"))) {
|
|
|
- field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
- //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
- Map<String, Object> normalSignFieldConfig = Maps.newHashMap();
|
|
|
- if (true == orgSignerInfo.getBoolean("isRadio")) {
|
|
|
- //企业/机构自动落章(autoSign为true),请不要传该参数。
|
|
|
- orgPsnSignMap.remove("transactorInfo");
|
|
|
- //自动落章
|
|
|
- normalSignFieldConfig.put("freeMode", false);
|
|
|
- normalSignFieldConfig.put("autoSign", true);
|
|
|
- //印章id
|
|
|
- normalSignFieldConfig.put("assignedSealId", orgSignerInfo.getString("sealId"));
|
|
|
- //印章类型:1印章,2骑缝章
|
|
|
- normalSignFieldConfig.put("signFieldStyle", fieldMap.get("signFieldStyle"));
|
|
|
- Map<String, Object> signFieldPosition = Maps.newHashMap();
|
|
|
- if (1 == ((int) fieldMap.get("signFieldStyle"))) {
|
|
|
- //正常章
|
|
|
- if (null != fieldMap.get("positionPage") && null != fieldMap.get("positionX") && null != fieldMap.get("positionY")) {
|
|
|
- signFieldPosition.put("positionPage", fieldMap.get("positionPage"));
|
|
|
- signFieldPosition.put("positionX", fieldMap.get("positionX"));
|
|
|
- signFieldPosition.put("positionY", fieldMap.get("positionY"));
|
|
|
- if (null != fieldMap.get("posX") ) {
|
|
|
- signFieldPosition.put("positionX", fieldMap.get("posX"));
|
|
|
- }
|
|
|
- if (null != fieldMap.get("posY")) {
|
|
|
- signFieldPosition.put("positionY", fieldMap.get("posY"));
|
|
|
+ if(null!=fieldList) {
|
|
|
+ for (Map<String, Object> fieldMap : fieldList) {
|
|
|
+ Map<String, Object> field = Maps.newHashMap();
|
|
|
+ field.put("fileId", fieldMap.get("fileId"));
|
|
|
+ field.put("customBizNum", sourceId);
|
|
|
+ if (0 == ((int) fieldMap.get("signFieldType"))) {
|
|
|
+ field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
+ //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
+ Map<String, Object> normalSignFieldConfig = Maps.newHashMap();
|
|
|
+ if (true == orgSignerInfo.getBoolean("isRadio")) {
|
|
|
+ //企业/机构自动落章(autoSign为true),请不要传该参数。
|
|
|
+ orgPsnSignMap.remove("transactorInfo");
|
|
|
+ //自动落章
|
|
|
+ normalSignFieldConfig.put("freeMode", false);
|
|
|
+ normalSignFieldConfig.put("autoSign", true);
|
|
|
+ //印章id
|
|
|
+ normalSignFieldConfig.put("assignedSealId", orgSignerInfo.getString("sealId"));
|
|
|
+ //印章类型:1印章,2骑缝章
|
|
|
+ normalSignFieldConfig.put("signFieldStyle", fieldMap.get("signFieldStyle"));
|
|
|
+ Map<String, Object> signFieldPosition = Maps.newHashMap();
|
|
|
+ if (1 == ((int) fieldMap.get("signFieldStyle"))) {
|
|
|
+ //正常章
|
|
|
+ if (null != fieldMap.get("positionPage") && null != fieldMap.get("positionX") && null != fieldMap.get("positionY")) {
|
|
|
+ signFieldPosition.put("positionPage", fieldMap.get("positionPage"));
|
|
|
+ signFieldPosition.put("positionX", fieldMap.get("positionX"));
|
|
|
+ signFieldPosition.put("positionY", fieldMap.get("positionY"));
|
|
|
+ if (null != fieldMap.get("posX")) {
|
|
|
+ signFieldPosition.put("positionX", fieldMap.get("posX"));
|
|
|
+ }
|
|
|
+ if (null != fieldMap.get("posY")) {
|
|
|
+ signFieldPosition.put("positionY", fieldMap.get("posY"));
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ //骑缝章
|
|
|
}
|
|
|
+ normalSignFieldConfig.put("signFieldPosition", signFieldPosition);
|
|
|
+ Map<String, Object> signDateConfig = Maps.newHashMap();
|
|
|
+ signDateConfig.put("showSignDate", 1);
|
|
|
+ field.put("signDateConfig", signDateConfig);
|
|
|
} else {
|
|
|
- //骑缝章
|
|
|
+ //手动签章
|
|
|
+ normalSignFieldConfig.put("freeMode", true);
|
|
|
+ normalSignFieldConfig.put("autoSign", false);
|
|
|
}
|
|
|
- normalSignFieldConfig.put("signFieldPosition", signFieldPosition);
|
|
|
- Map<String, Object> signDateConfig = Maps.newHashMap();
|
|
|
- signDateConfig.put("showSignDate", 1);
|
|
|
- field.put("signDateConfig", signDateConfig);
|
|
|
+ field.put("normalSignFieldConfig", normalSignFieldConfig);
|
|
|
} else {
|
|
|
- //手动签章
|
|
|
- normalSignFieldConfig.put("freeMode", true);
|
|
|
- normalSignFieldConfig.put("autoSign", false);
|
|
|
+ field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
+ //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
+ Map<String, Object> remarkSignFieldConfig = Maps.newHashMap();
|
|
|
+ remarkSignFieldConfig.put("freeMode", true);
|
|
|
+ remarkSignFieldConfig.put("inputType", 2);
|
|
|
+ field.put("remarkSignFieldConfig", remarkSignFieldConfig);
|
|
|
}
|
|
|
- field.put("normalSignFieldConfig", normalSignFieldConfig);
|
|
|
- } else {
|
|
|
- field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
- //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
- Map<String, Object> remarkSignFieldConfig = Maps.newHashMap();
|
|
|
- remarkSignFieldConfig.put("freeMode", true);
|
|
|
- remarkSignFieldConfig.put("inputType", 2);
|
|
|
- field.put("remarkSignFieldConfig", remarkSignFieldConfig);
|
|
|
+ signFields.add(field);
|
|
|
}
|
|
|
- signFields.add(field);
|
|
|
+ }else {
|
|
|
+ //失败
|
|
|
+ resul.put("文件模板:"+doc.get("fileName"),signName+",未匹配到签署区,请检查模板的签署区命名规范。签署区命名规则:如(“甲方:(盖章)_签署方1_X50_Y50“)根据“_”分割字符串,第一个是要盖章的内容位置标识;第二个是签署方用来判断这个签署区是谁的;X50表示:印章位置向右移动50;Y50表示:印章位置向上移动50");
|
|
|
+
|
|
|
+ // resul.put("data",signListGroup);
|
|
|
+ throw new EsignException(JSON.toJSONString(resul));
|
|
|
}
|
|
|
}
|
|
|
signMapInfo.put("signFields", signFields);
|
|
|
@@ -713,27 +721,60 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
for (Map<String, Object> doc : docs) {
|
|
|
Map<String, List<Map<String, Object>>> signListGroup = (Map<String, List<Map<String, Object>>>) doc.get("signListGroup");
|
|
|
List<Map<String, Object>> fieldList = signListGroup.get(signName);
|
|
|
- for (Map<String, Object> fieldMap : fieldList) {
|
|
|
- Map<String, Object> field = Maps.newHashMap();
|
|
|
- field.put("fileId", fieldMap.get("fileId"));
|
|
|
- field.put("customBizNum", sourceId);
|
|
|
- if (0 == ((int) fieldMap.get("signFieldType"))) {
|
|
|
- field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
- //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
- Map<String, Object> normalSignFieldConfig = Maps.newHashMap();
|
|
|
- //手动签章
|
|
|
- normalSignFieldConfig.put("freeMode", true);
|
|
|
- normalSignFieldConfig.put("autoSign", false);
|
|
|
- field.put("normalSignFieldConfig", normalSignFieldConfig);
|
|
|
- } else {
|
|
|
- field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
- //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
- Map<String, Object> remarkSignFieldConfig = Maps.newHashMap();
|
|
|
- remarkSignFieldConfig.put("freeMode", true);
|
|
|
- remarkSignFieldConfig.put("inputType", 2);
|
|
|
- field.put("remarkSignFieldConfig", remarkSignFieldConfig);
|
|
|
+ if(null!=fieldList) {
|
|
|
+ for (Map<String, Object> fieldMap : fieldList) {
|
|
|
+ Map<String, Object> field = Maps.newHashMap();
|
|
|
+ field.put("fileId", fieldMap.get("fileId"));
|
|
|
+ field.put("customBizNum", sourceId);
|
|
|
+ if (0 == ((int) fieldMap.get("signFieldType"))) {
|
|
|
+ field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
+ //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
+ Map<String, Object> normalSignFieldConfig = Maps.newHashMap();
|
|
|
+ //手动签章
|
|
|
+ normalSignFieldConfig.put("freeMode", true);
|
|
|
+ normalSignFieldConfig.put("autoSign", false);
|
|
|
+ //印章id
|
|
|
+ //normalSignFieldConfig.put("assignedSealId", orgSignerInfo.getString("sealId"));
|
|
|
+ //印章类型:1印章,2骑缝章
|
|
|
+ normalSignFieldConfig.put("signFieldStyle", fieldMap.get("signFieldStyle"));
|
|
|
+ Map<String, Object> signFieldPosition = Maps.newHashMap();
|
|
|
+ if (1 == ((int) fieldMap.get("signFieldStyle"))) {
|
|
|
+ //正常章
|
|
|
+ if (null != fieldMap.get("positionPage") && null != fieldMap.get("positionX") && null != fieldMap.get("positionY")) {
|
|
|
+ signFieldPosition.put("positionPage", fieldMap.get("positionPage"));
|
|
|
+ signFieldPosition.put("positionX", fieldMap.get("positionX"));
|
|
|
+ signFieldPosition.put("positionY", fieldMap.get("positionY"));
|
|
|
+ if (null != fieldMap.get("posX")) {
|
|
|
+ signFieldPosition.put("positionX", fieldMap.get("posX"));
|
|
|
+ }
|
|
|
+ if (null != fieldMap.get("posY")) {
|
|
|
+ signFieldPosition.put("positionY", fieldMap.get("posY"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //骑缝章
|
|
|
+ }
|
|
|
+ normalSignFieldConfig.put("signFieldPosition", signFieldPosition);
|
|
|
+ Map<String, Object> signDateConfig = Maps.newHashMap();
|
|
|
+ signDateConfig.put("showSignDate", 1);
|
|
|
+ field.put("signDateConfig", signDateConfig);
|
|
|
+ field.put("normalSignFieldConfig", normalSignFieldConfig);
|
|
|
+ } else {
|
|
|
+ field.put("signFieldType", fieldMap.get("signFieldType"));
|
|
|
+ //签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
+ Map<String, Object> remarkSignFieldConfig = Maps.newHashMap();
|
|
|
+ remarkSignFieldConfig.put("freeMode", true);
|
|
|
+ remarkSignFieldConfig.put("inputType", 2);
|
|
|
+ field.put("remarkSignFieldConfig", remarkSignFieldConfig);
|
|
|
+ }
|
|
|
+ signFields.add(field);
|
|
|
}
|
|
|
- signFields.add(field);
|
|
|
+ }else {
|
|
|
+ //失败
|
|
|
+ resul.put("文件模板:"+doc.get("fileName"),signName+",未匹配到签署区,请检查模板的签署区命名规范。签署区命名规则:如(“甲方:(盖章)_签署方1_X50_Y50“)根据“_”分割字符串,第一个是要盖章的内容位置标识;第二个是签署方用来判断这个签署区是谁的;X50表示:印章位置向右移动50;Y50表示:印章位置向上移动50");
|
|
|
+
|
|
|
+ resul.put("data",signListGroup);
|
|
|
+ throw new EsignException(JSON.toJSONString(resul));
|
|
|
}
|
|
|
}
|
|
|
signMapInfo.put("signFields", signFields);
|