|
@@ -26,7 +26,12 @@ import java.sql.SQLException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
+import org.apache.log4j.Logger;
|
|
|
|
|
+
|
|
|
public class OtherESignConfigDataService implements IHRMsfService {
|
|
public class OtherESignConfigDataService implements IHRMsfService {
|
|
|
|
|
+
|
|
|
|
|
+ private static Logger logger = Logger.getLogger(OtherESignConfigDataService.class);
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public Object process(Context context, Map map) throws EASBizException, BOSException {
|
|
public Object process(Context context, Map map) throws EASBizException, BOSException {
|
|
|
// 从参数映射中获取"number"参数值,用于定位配置信息
|
|
// 从参数映射中获取"number"参数值,用于定位配置信息
|
|
@@ -157,60 +162,64 @@ public class OtherESignConfigDataService implements IHRMsfService {
|
|
|
// 执行SQL查询,获取结果集
|
|
// 执行SQL查询,获取结果集
|
|
|
IRowSet iRowSet1 = DBUtil.executeQuery(context, sql);
|
|
IRowSet iRowSet1 = DBUtil.executeQuery(context, sql);
|
|
|
// 遍历结果集中的每一行数据
|
|
// 遍历结果集中的每一行数据
|
|
|
- while (iRowSet1.next()) {
|
|
|
|
|
- // 遍历每个字段映射明细项
|
|
|
|
|
- for (int i = 0; i < entrys.size(); i++) {
|
|
|
|
|
- // 获取当前索引对应的字段映射明细信息
|
|
|
|
|
- FieldMappingEntryInfo fieldMappingEntryInfo = entrys.get(i);
|
|
|
|
|
- // 获取明细项中关联的电子签模板字段信息
|
|
|
|
|
- ESignTemplateFileEntryFieldInfo eField = fieldMappingEntryInfo.getEField();
|
|
|
|
|
- // 判断该字段是否无效(已废弃)
|
|
|
|
|
- boolean invalid = eField.isInvalid();
|
|
|
|
|
- // 若字段无效,跳过当前循环(不处理)
|
|
|
|
|
- if (invalid) {
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
- // 获取明细项中关联的电子签模板明细信息
|
|
|
|
|
- ESignTemplateFileEntryInfo template = fieldMappingEntryInfo.getTemplate();
|
|
|
|
|
- // 获取电子签模板的ID
|
|
|
|
|
- String eSignTemplateId = template.getESignTemplateId();
|
|
|
|
|
- // 从JSON对象中获取该模板ID对应的子JSON对象
|
|
|
|
|
- JSONObject templateJSON = jsonObject.getJSONObject(eSignTemplateId);
|
|
|
|
|
- // 若模板对应的子JSON对象不存在,则创建并初始化(设置ID和名称)
|
|
|
|
|
- if (templateJSON == null) {
|
|
|
|
|
- templateJSON = new JSONObject();
|
|
|
|
|
- templateJSON.put("id", eSignTemplateId); // 设置模板ID
|
|
|
|
|
- templateJSON.put("name", template.getName()); // 设置模板名称
|
|
|
|
|
- jsonObject.put(eSignTemplateId, templateJSON); // 将模板信息存入主JSON对象
|
|
|
|
|
- }
|
|
|
|
|
- // 从模板子JSON对象中获取字段信息对应的子JSON对象
|
|
|
|
|
- JSONObject fields = templateJSON.getJSONObject("fields");
|
|
|
|
|
- // 若字段信息子JSON对象不存在,则创建并添加到模板子JSON中
|
|
|
|
|
- if (fields == null) {
|
|
|
|
|
- fields = new JSONObject();
|
|
|
|
|
- templateJSON.put("fields", fields);
|
|
|
|
|
- }
|
|
|
|
|
- // 获取电子签模板字段的ID
|
|
|
|
|
- String templateFieldId = eField.getTemplateFieldId();
|
|
|
|
|
- // 创建用于存储字段值信息的JSON对象
|
|
|
|
|
- JSONObject value = new JSONObject();
|
|
|
|
|
- value.put("name", eField.getTemplateFieldName()); // 设置字段名称
|
|
|
|
|
- // 获取明细项中关联的数据源字段信息
|
|
|
|
|
- //DataConfigSelectFieldEntryInfo dataSourceField = fieldMappingEntryInfo.getDataSourceField();
|
|
|
|
|
|
|
+ while (iRowSet1.next()) {
|
|
|
|
|
+ // 遍历每个字段映射明细项
|
|
|
|
|
+ for (int i = 0; i < entrys.size(); i++) {
|
|
|
|
|
+ // 获取当前索引对应的字段映射明细信息
|
|
|
|
|
+ FieldMappingEntryInfo fieldMappingEntryInfo = entrys.get(i);
|
|
|
|
|
+ // 获取明细项中关联的电子签模板字段信息
|
|
|
|
|
+ ESignTemplateFileEntryFieldInfo eField = fieldMappingEntryInfo.getEField();
|
|
|
|
|
+ // 判断该字段是否无效(已废弃)
|
|
|
|
|
+ boolean invalid = eField.isInvalid();
|
|
|
|
|
+ // 若字段无效,跳过当前循环(不处理)
|
|
|
|
|
+ if (invalid) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 获取明细项中关联的电子签模板明细信息
|
|
|
|
|
+ ESignTemplateFileEntryInfo template = fieldMappingEntryInfo.getTemplate();
|
|
|
|
|
+ // 获取电子签模板的ID
|
|
|
|
|
+ String eSignTemplateId = template.getESignTemplateId();
|
|
|
|
|
+ // 从JSON对象中获取该模板ID对应的子JSON对象
|
|
|
|
|
+ JSONObject templateJSON = jsonObject.getJSONObject(eSignTemplateId);
|
|
|
|
|
+ // 若模板对应的子JSON对象不存在,则创建并初始化(设置ID和名称)
|
|
|
|
|
+ if (templateJSON == null) {
|
|
|
|
|
+ templateJSON = new JSONObject();
|
|
|
|
|
+ templateJSON.put("id", eSignTemplateId); // 设置模板ID
|
|
|
|
|
+ templateJSON.put("name", template.getName()); // 设置模板名称
|
|
|
|
|
+ jsonObject.put(eSignTemplateId, templateJSON); // 将模板信息存入主JSON对象
|
|
|
|
|
+ }
|
|
|
|
|
+ // 从模板子JSON对象中获取字段信息对应的子JSON对象
|
|
|
|
|
+ JSONObject fields = templateJSON.getJSONObject("fields");
|
|
|
|
|
+ // 若字段信息子JSON对象不存在,则创建并添加到模板子JSON中
|
|
|
|
|
+ if (fields == null) {
|
|
|
|
|
+ fields = new JSONObject();
|
|
|
|
|
+ templateJSON.put("fields", fields);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 获取电子签模板字段的ID
|
|
|
|
|
+ String templateFieldId = eField.getTemplateFieldId();
|
|
|
|
|
+ // 创建用于存储字段值信息的JSON对象
|
|
|
|
|
+ JSONObject value = new JSONObject();
|
|
|
|
|
+ value.put("name", eField.getTemplateFieldName()); // 设置字段名称
|
|
|
|
|
+ // 获取明细项中关联的数据源字段信息
|
|
|
|
|
+ //DataConfigSelectFieldEntryInfo dataSourceField = fieldMappingEntryInfo.getDataSourceField();
|
|
|
// if (dataSourceField==null){
|
|
// if (dataSourceField==null){
|
|
|
// value.put("value","");
|
|
// value.put("value","");
|
|
|
// value.put("dataFormat", eField.getDataFormat());
|
|
// value.put("dataFormat", eField.getDataFormat());
|
|
|
// }else {
|
|
// }else {
|
|
|
- // 获取数据源字段的映射键(对应数据库列名)
|
|
|
|
|
- String name = fieldMappingEntryInfo.getEFieldMark();
|
|
|
|
|
- // 去除映射键中的双引号(处理可能的格式问题)
|
|
|
|
|
- //name = name.replace("\"", "");
|
|
|
|
|
- // 从结果集中获取该字段对应的值,并存入字段值JSON对象
|
|
|
|
|
- if (name != null && !name.equals("")) {
|
|
|
|
|
- value.put("value", iRowSet1.getObject(name));
|
|
|
|
|
- }
|
|
|
|
|
- // 设置字段的数据类型(取自数据源字段的类型别名)
|
|
|
|
|
- //value.put("dataType", dataSourceField.getDataType().getAlias());
|
|
|
|
|
|
|
+ // 获取数据源字段的映射键(对应数据库列名)
|
|
|
|
|
+ String name = fieldMappingEntryInfo.getEFieldMark();
|
|
|
|
|
+ // 去除映射键中的双引号(处理可能的格式问题)
|
|
|
|
|
+ //name = name.replace("\"", "");
|
|
|
|
|
+ // 从结果集中获取该字段对应的值,并存入字段值JSON对象
|
|
|
|
|
+ if (name != null && !name.equals("")) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ value.put("value", iRowSet1.getObject(name));
|
|
|
|
|
+ } catch (SQLException e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 设置字段的数据类型(取自数据源字段的类型别名)
|
|
|
|
|
+ //value.put("dataType", dataSourceField.getDataType().getAlias());
|
|
|
// if (dataSourceField.getDataType().getAlias().equals("Date")) {
|
|
// if (dataSourceField.getDataType().getAlias().equals("Date")) {
|
|
|
// Object object = iRowSet1.getObject(name);
|
|
// Object object = iRowSet1.getObject(name);
|
|
|
// if (object != null) {
|
|
// if (object != null) {
|
|
@@ -219,16 +228,17 @@ public class OtherESignConfigDataService implements IHRMsfService {
|
|
|
// }
|
|
// }
|
|
|
// value.put("dataFormat", eField.getDataFormat());
|
|
// value.put("dataFormat", eField.getDataFormat());
|
|
|
// }
|
|
// }
|
|
|
- //}
|
|
|
|
|
- if (eField.getComponentType().getValue() == 6 || eField.getComponentType().getValue() == 106) {
|
|
|
|
|
- value.put("positionX", eField.getPositionX());
|
|
|
|
|
- value.put("positionY", eField.getPositionY());
|
|
|
|
|
- value.put("pageNum", eField.getPageNum());
|
|
|
|
|
- }
|
|
|
|
|
- // 将字段值信息存入字段信息子JSON对象(以模板字段ID为键)
|
|
|
|
|
- fields.put(templateFieldId, value);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //}
|
|
|
|
|
+ if (eField.getComponentType().getValue() == 6 || eField.getComponentType().getValue() == 106) {
|
|
|
|
|
+ value.put("positionX", eField.getPositionX());
|
|
|
|
|
+ value.put("positionY", eField.getPositionY());
|
|
|
|
|
+ value.put("pageNum", eField.getPageNum());
|
|
|
|
|
+ }
|
|
|
|
|
+ // 将字段值信息存入字段信息子JSON对象(以模板字段ID为键)
|
|
|
|
|
+ fields.put(templateFieldId, value);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
} catch (BOSException e) {
|
|
} catch (BOSException e) {
|
|
|
// BOS异常时,封装为运行时异常抛出
|
|
// BOS异常时,封装为运行时异常抛出
|
|
@@ -236,7 +246,7 @@ public class OtherESignConfigDataService implements IHRMsfService {
|
|
|
} catch (SQLException e) {
|
|
} catch (SQLException e) {
|
|
|
// SQL异常时,封装为运行时异常抛出
|
|
// SQL异常时,封装为运行时异常抛出
|
|
|
throw new RuntimeException(e);
|
|
throw new RuntimeException(e);
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
// 返回封装好的JSON对象
|
|
// 返回封装好的JSON对象
|
|
|
return jsonObject;
|
|
return jsonObject;
|
|
|
}
|
|
}
|