|
|
@@ -103,61 +103,61 @@ public class ESignTemplateControllerBean extends AbstractESignTemplateController
|
|
|
ESignTemplateFileEntryInfo entryInfo = entrys.get(i);
|
|
|
String eSignTemplateId = entryInfo.getESignTemplateId();
|
|
|
try {
|
|
|
- if (org.apache.commons.lang3.StringUtils.isBlank(eSignTemplateId)) {
|
|
|
- throw new BOSException("e 签宝模板 id为空!");
|
|
|
- }
|
|
|
- //1.调用接口获取模板字段
|
|
|
- EsignHttpResponse response = null;
|
|
|
- try {
|
|
|
- response = EsignHttpUtil.getDocTemplatesDetailById(eSignTemplateId);
|
|
|
- } catch (EsignException e) {
|
|
|
- e.printStackTrace();
|
|
|
- throw new BOSException("调用e签宝接口报错: " + e.getMessage());
|
|
|
- }
|
|
|
- String body = response.getBody();
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(body);
|
|
|
- if (0 != jsonObject.getInteger("code")) {
|
|
|
- throw new BOSException(jsonObject.getString("message"));
|
|
|
- }
|
|
|
- JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- //附件下载地址
|
|
|
- String fileDownloadUrl = data.getString("fileDownloadUrl");
|
|
|
- JSONArray components = data.getJSONArray("components");
|
|
|
- //2.比较现有模板字段,如果新增字段则添加,删除字段就更新为失效
|
|
|
ESignTemplateFileEntryFieldCollection fields = entryInfo.getFields();
|
|
|
Map<String, ESignTemplateFileEntryFieldInfo> fieldMap = new HashMap<String, ESignTemplateFileEntryFieldInfo>();
|
|
|
for (int j = 0; j < fields.size(); j++) {
|
|
|
ESignTemplateFileEntryFieldInfo fieldInfo = fields.get(j);
|
|
|
fieldMap.put(fieldInfo.getTemplateFieldId(), fieldInfo);
|
|
|
}
|
|
|
- for (int j = 0; j < components.size(); j++) {
|
|
|
- JSONObject component = components.getJSONObject(j);
|
|
|
- //组件id
|
|
|
- String componentId = component.getString("componentId");
|
|
|
- //组件编码(可以为空)
|
|
|
- String componentKey = component.getString("componentKey");
|
|
|
- //组件名称
|
|
|
- String componentName = component.getString("componentName");
|
|
|
- //是否必填
|
|
|
- boolean isRrequired = component.getBoolean("required");
|
|
|
- //组件排序,从1开始
|
|
|
- int componentOrder = component.getInteger("componentOrder");
|
|
|
- ESignTemplateFileEntryFieldInfo fieldInfo = fieldMap.get(componentId);
|
|
|
- if (fieldInfo != null) {
|
|
|
- fieldMap.remove(componentId);
|
|
|
- } else {
|
|
|
- fieldInfo = new ESignTemplateFileEntryFieldInfo();
|
|
|
- fieldInfo.setTemplateFieldId(componentId);
|
|
|
- fields.add(fieldInfo);
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(eSignTemplateId)) {
|
|
|
+ //throw new BOSException("e 签宝模板 id为空!");
|
|
|
+ //1.调用接口获取模板字段
|
|
|
+ EsignHttpResponse response = null;
|
|
|
+ try {
|
|
|
+ response = EsignHttpUtil.getDocTemplatesDetailById(eSignTemplateId);
|
|
|
+ } catch (EsignException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new BOSException("调用e签宝接口报错: " + e.getMessage());
|
|
|
+ }
|
|
|
+ String body = response.getBody();
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(body);
|
|
|
+ if (0 != jsonObject.getInteger("code")) {
|
|
|
+ throw new BOSException(jsonObject.getString("message"));
|
|
|
+ }
|
|
|
+ JSONObject data = jsonObject.getJSONObject("data");
|
|
|
+ //附件下载地址
|
|
|
+ String fileDownloadUrl = data.getString("fileDownloadUrl");
|
|
|
+ JSONArray components = data.getJSONArray("components");
|
|
|
+ //2.比较现有模板字段,如果新增字段则添加,删除字段就更新为失效
|
|
|
+ for (int j = 0; j < components.size(); j++) {
|
|
|
+ JSONObject component = components.getJSONObject(j);
|
|
|
+ //组件id
|
|
|
+ String componentId = component.getString("componentId");
|
|
|
+ //组件编码(可以为空)
|
|
|
+ String componentKey = component.getString("componentKey");
|
|
|
+ //组件名称
|
|
|
+ String componentName = component.getString("componentName");
|
|
|
+ //是否必填
|
|
|
+ boolean isRrequired = component.getBoolean("required");
|
|
|
+ //组件排序,从1开始
|
|
|
+ int componentOrder = component.getInteger("componentOrder");
|
|
|
+ ESignTemplateFileEntryFieldInfo fieldInfo = fieldMap.get(componentId);
|
|
|
+ if (fieldInfo != null) {
|
|
|
+ fieldMap.remove(componentId);
|
|
|
+ } else {
|
|
|
+ fieldInfo = new ESignTemplateFileEntryFieldInfo();
|
|
|
+ fieldInfo.setTemplateFieldId(componentId);
|
|
|
+ fields.add(fieldInfo);
|
|
|
+ }
|
|
|
+ //修改字段名称
|
|
|
+ fieldInfo.setTemplateFieldName(componentName);
|
|
|
+ //修改字段排序
|
|
|
+ fieldInfo.setSeq(componentOrder);
|
|
|
+ //修改是否必填
|
|
|
+ fieldInfo.setRequired(isRrequired);
|
|
|
+ //组件编码
|
|
|
+ fieldInfo.setTemplateFieldKey(componentKey);
|
|
|
}
|
|
|
- //修改字段名称
|
|
|
- fieldInfo.setTemplateFieldName(componentName);
|
|
|
- //修改字段排序
|
|
|
- fieldInfo.setSeq(componentOrder);
|
|
|
- //修改是否必填
|
|
|
- fieldInfo.setRequired(isRrequired);
|
|
|
- //组件编码
|
|
|
- fieldInfo.setTemplateFieldKey(componentKey);
|
|
|
}
|
|
|
if (!fieldMap.isEmpty()) {
|
|
|
//已经失效的字段
|