|
|
@@ -9,16 +9,23 @@ import com.google.common.collect.Sets;
|
|
|
import com.kingdee.bos.BOSException;
|
|
|
import com.kingdee.bos.Context;
|
|
|
import com.kingdee.bos.bsf.service.app.IHRMsfService;
|
|
|
+import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
|
|
|
+import com.kingdee.bos.metadata.entity.SelectorItemCollection;
|
|
|
+import com.kingdee.bos.metadata.entity.SelectorItemInfo;
|
|
|
import com.kingdee.eas.common.EASBizException;
|
|
|
+import com.kingdee.eas.custom.esign.*;
|
|
|
import com.kingdee.eas.custom.esign.bizEnum.ComponentTypeEnum;
|
|
|
import com.kingdee.eas.custom.esign.bizEnum.EsignStatusEnum;
|
|
|
import com.kingdee.eas.custom.esign.tsign.hz.comm.EsignHttpResponse;
|
|
|
import com.kingdee.eas.custom.esign.tsign.hz.exception.EsignException;
|
|
|
import com.kingdee.eas.custom.esign.util.EsignConfig;
|
|
|
import com.kingdee.eas.custom.esign.util.EsignHttpUtil;
|
|
|
+import com.kingdee.eas.util.app.DbUtil;
|
|
|
+import com.kingdee.jdbc.rowset.IRowSet;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
import java.net.URISyntaxException;
|
|
|
+import java.sql.SQLException;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@@ -65,7 +72,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
JSONObject templateInfo = jsonObject.getJSONObject("templateInfo");
|
|
|
//设置待签署文件信息
|
|
|
List<Map<String, Object>> docs = null;
|
|
|
- try {
|
|
|
+
|
|
|
docs = this.addDocs(context, jsonObject, templateInfo);
|
|
|
List<Map<String, Object>> signDocs = Lists.newArrayList();
|
|
|
for (Map<String, Object> doc : docs) {
|
|
|
@@ -74,10 +81,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
signDocs.add(docNew);
|
|
|
}
|
|
|
signMap.put("docs", signDocs);
|
|
|
- } catch (EsignException e) {
|
|
|
- e.printStackTrace();
|
|
|
- resul.putAll(JSON.parseObject(e.getMessage()));
|
|
|
- }
|
|
|
+
|
|
|
if (null != docs) {
|
|
|
//签署流程配置项
|
|
|
Map<String, Object> signFlowConfig = this.addSignFlowConfig(context, signFlowTitle, jsonObject);
|
|
|
@@ -111,7 +115,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } catch (EsignException | URISyntaxException e) {
|
|
|
+ } catch (EsignException | URISyntaxException | SQLException e) {
|
|
|
e.printStackTrace();
|
|
|
resul.put("code", 400);
|
|
|
resul.put("message", e.getMessage());
|
|
|
@@ -276,173 +280,146 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
* @return
|
|
|
* @throws EsignException
|
|
|
*/
|
|
|
- public Map<String, List<Map<String, Object>>> addsignAreaList(Context context, Map<String, Object> fields, String fileId, String sourceId) throws EsignException {
|
|
|
- Map<String, List<Map<String, Object>>> signListGroup = Maps.newHashMap();
|
|
|
- for (Map.Entry<String, Object> field : fields.entrySet()) {
|
|
|
- String componentId = field.getKey();
|
|
|
- JSONObject fieldInfo = (JSONObject) field.getValue();
|
|
|
- Object componentValue = fieldInfo.get("value");
|
|
|
- Double positionX = fieldInfo.getDouble("positionX");
|
|
|
- Double positionY = fieldInfo.getDouble("positionY");
|
|
|
- Object pageNum = fieldInfo.get("pageNum");
|
|
|
- String name = fieldInfo.getString("name");
|
|
|
- String dataType = fieldInfo.getString("dataType");
|
|
|
+ public Map<String, Map<String, Map<String, Object>>> addsignAreaList(Context context, Map<String, Object> fields, String fileId, String sourceId,String docTemplateId) throws EsignException, BOSException, EASBizException, SQLException {
|
|
|
+ //Map<String, List<Map<String, Object>>> signListGroup = Maps.newHashMap();
|
|
|
+ Map<String, Map<String, Map<String, Object>>> signMapGroup = Maps.newHashMap();
|
|
|
+ //获取文件模版字段
|
|
|
+ IESignTemplateFileEntry ieSignTemplateFileEntry = ESignTemplateFileEntryFactory.getLocalInstance(context);
|
|
|
+ SelectorItemCollection selColl = new SelectorItemCollection();
|
|
|
+ selColl.add(new SelectorItemInfo("*"));
|
|
|
+ selColl.add(new SelectorItemInfo("fields.*"));
|
|
|
+ selColl.add(new SelectorItemInfo("fields.relatedControl.*"));
|
|
|
+ String sel = "select fid from CT_ESI_ESignTemplateFileEntry where cfeSignTemplateId = ?";
|
|
|
+ IRowSet rs = DbUtil.executeQuery(context,sel.toString(),new Object[]{docTemplateId});
|
|
|
+ String Entryid="";
|
|
|
+ if(rs.next()){
|
|
|
+ Entryid=rs.getString("fid");
|
|
|
+ }
|
|
|
+ ESignTemplateFileEntryInfo eSignTemplateFileEntry = ieSignTemplateFileEntry.getESignTemplateFileEntryInfo(new ObjectUuidPK(Entryid),selColl);
|
|
|
+ Map<String,ESignTemplateFileEntryFieldInfo> fieldsMap = Maps.newHashMap();
|
|
|
+ ESignTemplateFileEntryFieldCollection entryFieldCollection = eSignTemplateFileEntry.getFields();
|
|
|
+ for(int i=0;i<entryFieldCollection.size();i++){
|
|
|
+ ESignTemplateFileEntryFieldInfo fieldInfo=entryFieldCollection.get(i);
|
|
|
+ //失效的控件跳过
|
|
|
+ if(fieldInfo.isInvalid()){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String fieldId =fieldInfo.getTemplateFieldId().toString();
|
|
|
|
|
|
- if (ComponentTypeEnum.SIGN_AREA.getAlias().equals(dataType)) {
|
|
|
+ JSONObject field= (JSONObject) fields.get(fieldId);
|
|
|
+ if (ComponentTypeEnum.SIGN_AREA.equals(fieldInfo.getComponentType())) {
|
|
|
Map<String, Object> signMap = Maps.newHashMap();
|
|
|
- String[] keys = name.split("_");
|
|
|
- String key = "签署方";
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("签署方")) {
|
|
|
- key = k;
|
|
|
- break;
|
|
|
- }
|
|
|
+ if(StringUtils.isBlank(fieldInfo.getSigningParty())){
|
|
|
+ Map<String, Object> errMap = Maps.newHashMap();
|
|
|
+ errMap.put("模版", eSignTemplateFileEntry.getName());
|
|
|
+ errMap.put("控件", fieldInfo.getTemplateFieldName());
|
|
|
+ errMap.put("内容", "签署方为空请维护!");
|
|
|
+ throw new EsignException(JSON.toJSONString(errMap));
|
|
|
}
|
|
|
- signMap.put("key", key);
|
|
|
+ signMap.put("key", fieldInfo.getSigningParty());
|
|
|
signMap.put("fileId", fileId);
|
|
|
+ signMap.put("fieldId", fieldInfo.getTemplateFieldId());
|
|
|
signMap.put("signFieldType", 0);
|
|
|
- String keyword = keys[0];
|
|
|
+ String keyword =fieldInfo.getTemplateFieldName();
|
|
|
if (keyword.indexOf("骑缝") >= 0) {
|
|
|
signMap.put("signFieldStyle", 2);
|
|
|
- } else {
|
|
|
- if (null == positionX || null == positionY) {
|
|
|
- signMap.put("signFieldStyle", 1);
|
|
|
- JSONObject coordinate = this.addPositions(context, fileId, keyword, sourceId);
|
|
|
- System.out.println("doc.coordinate:" + coordinate);
|
|
|
- if (null != coordinate) {
|
|
|
- double posX = coordinate.getDouble("positionX");
|
|
|
- double posY = coordinate.getDouble("positionY");
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("X")) {
|
|
|
- String x = k.replace("X", "");
|
|
|
- posX = posX + Integer.parseInt(x);
|
|
|
- signMap.put("posX", posX);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("Y")) {
|
|
|
- String y = k.replace("Y", "");
|
|
|
- posY = posY + Integer.parseInt(y);
|
|
|
- signMap.put("posY", posY);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- signMap.put("positionX", coordinate.getDouble("positionX"));
|
|
|
- signMap.put("positionY", coordinate.getDouble("positionY"));
|
|
|
- signMap.put("positionPage", coordinate.get("positionPage"));
|
|
|
- }
|
|
|
- } else {
|
|
|
- double posX = positionX;
|
|
|
- double posY = positionY;
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("X")) {
|
|
|
- String x = k.replace("X", "");
|
|
|
- posX = posX + Integer.parseInt(x);
|
|
|
- signMap.put("posX", posX);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("Y")) {
|
|
|
- String y = k.replace("Y", "");
|
|
|
- posY = posY + Integer.parseInt(y);
|
|
|
- signMap.put("posY", posY);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- signMap.put("positionX", positionX);
|
|
|
- signMap.put("positionY", positionY);
|
|
|
- signMap.put("positionPage", pageNum);
|
|
|
+ signMap.put("positionX", fieldInfo.getPositionX());
|
|
|
+ signMap.put("positionY", fieldInfo.getPositionY());
|
|
|
+ signMap.put("positionPage", fieldInfo.getPageNum());
|
|
|
+
|
|
|
+ }else {
|
|
|
+ signMap.put("signFieldStyle", 1);
|
|
|
+ if(null==fieldInfo.getPositionX()&&null==fieldInfo.getPositionY()){
|
|
|
+ Map<String, Object> errMap = Maps.newHashMap();
|
|
|
+ errMap.put("模版", eSignTemplateFileEntry.getName());
|
|
|
+ errMap.put("控件", fieldInfo.getTemplateFieldName());
|
|
|
+ errMap.put("内容", "印章坐标为空请维护!");
|
|
|
+ throw new EsignException(JSON.toJSONString(errMap));
|
|
|
}
|
|
|
+ signMap.put("positionX", fieldInfo.getPositionX());
|
|
|
+ signMap.put("positionY", fieldInfo.getPositionY());
|
|
|
+ signMap.put("positionPage", fieldInfo.getPageNum());
|
|
|
}
|
|
|
- List<Map<String, Object>> signList = signListGroup.get((String) signMap.get("key"));
|
|
|
- if (null == signList) {
|
|
|
- signList = Lists.newArrayList();
|
|
|
- signListGroup.put((String) signMap.get("key"), signList);
|
|
|
- }
|
|
|
- signList.add(signMap);
|
|
|
- } else if (ComponentTypeEnum.REMARK_SIGN_AREA.getAlias().equals(dataType)) {
|
|
|
-
|
|
|
- Map<String, Object> signMap = Maps.newHashMap();
|
|
|
-
|
|
|
- String[] keys = name.split("_");
|
|
|
- String key = "签署方";
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("签署方")) {
|
|
|
- key = k;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- signMap.put("key", key);
|
|
|
- signMap.put("fileId", fileId);
|
|
|
- signMap.put("signFieldType", 1);
|
|
|
-
|
|
|
- String keyword = keys[0];
|
|
|
- if (keyword.indexOf("骑缝") >= 0) {
|
|
|
- signMap.put("signFieldStyle", 2);
|
|
|
- } else {
|
|
|
- if (null == positionX || null == positionY) {
|
|
|
- signMap.put("signFieldStyle", 1);
|
|
|
- JSONObject coordinate = this.addPositions(context, fileId, keyword, sourceId);
|
|
|
- System.out.println("doc.coordinate:" + coordinate);
|
|
|
- if (null != coordinate) {
|
|
|
- double posX = coordinate.getDouble("positionX");
|
|
|
- double posY = coordinate.getDouble("positionY");
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("X")) {
|
|
|
- String x = k.replace("X", "");
|
|
|
- posX = posX + Integer.parseInt(x);
|
|
|
- signMap.put("posX", posX);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("Y")) {
|
|
|
- String y = k.replace("Y", "");
|
|
|
- posY = posY + Integer.parseInt(y);
|
|
|
- signMap.put("posY", posY);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- signMap.put("positionX", coordinate.getDouble("positionX"));
|
|
|
- signMap.put("positionY", coordinate.getDouble("positionY"));
|
|
|
- signMap.put("positionPage", coordinate.get("positionPage"));
|
|
|
- }
|
|
|
- } else {
|
|
|
- double posX = positionX;
|
|
|
- double posY = positionY;
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("X")) {
|
|
|
- String x = k.replace("X", "");
|
|
|
- posX = posX + Integer.parseInt(x);
|
|
|
- signMap.put("posX", posX);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- for (String k : keys) {
|
|
|
- if (k.startsWith("Y")) {
|
|
|
- String y = k.replace("Y", "");
|
|
|
- posY = posY + Integer.parseInt(y);
|
|
|
- signMap.put("posY", posY);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- signMap.put("positionX", positionX);
|
|
|
- signMap.put("positionY", positionY);
|
|
|
- signMap.put("positionPage", pageNum);
|
|
|
- }
|
|
|
+ Map<String, Map<String, Object>> skMap = signMapGroup.get((String) signMap.get("key"));
|
|
|
+ if (null == skMap) {
|
|
|
+ skMap = Maps.newHashMap();
|
|
|
+ signMapGroup.put((String) signMap.get("key"), skMap);
|
|
|
}
|
|
|
- List<Map<String, Object>> signList = signListGroup.get((String) signMap.get("key"));
|
|
|
- if (null == signList) {
|
|
|
- signList = Lists.newArrayList();
|
|
|
- signListGroup.put((String) signMap.get("key"), signList);
|
|
|
+ skMap.put(fieldInfo.getTemplateFieldId(),signMap);
|
|
|
+ }
|
|
|
+ //签署日期
|
|
|
+ if(ComponentTypeEnum.DATESIGNATURE.equals(fieldInfo.getComponentType())) {
|
|
|
+ fieldsMap.put(fieldId, fieldInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //签署日期
|
|
|
+ for(Map.Entry<String,ESignTemplateFileEntryFieldInfo> fieldLinkEntry : fieldsMap.entrySet()){
|
|
|
+ //签署日期
|
|
|
+ ESignTemplateFileEntryFieldInfo fieldLink=fieldLinkEntry.getValue();
|
|
|
+ //签署方
|
|
|
+ ESignTemplateFileEntryFieldInfo fieldInfo=fieldLink.getRelatedControl();
|
|
|
+ if(null==fieldInfo){
|
|
|
+ Map<String, Object> errMap = Maps.newHashMap();
|
|
|
+ errMap.put("模版", eSignTemplateFileEntry.getName());
|
|
|
+ errMap.put("控件", fieldLink.getTemplateFieldName());
|
|
|
+ errMap.put("内容", "签署方关联关系为空请维护!");
|
|
|
+ throw new EsignException(JSON.toJSONString(errMap));
|
|
|
+ }
|
|
|
+ if(!ComponentTypeEnum.SIGN_AREA.equals(fieldInfo.getComponentType())){
|
|
|
+ Map<String, Object> errMap = Maps.newHashMap();
|
|
|
+ errMap.put("模版", eSignTemplateFileEntry.getName());
|
|
|
+ errMap.put("控件", fieldLink.getTemplateFieldName());
|
|
|
+ errMap.put("内容", "关联关系不为签署区,请检查!");
|
|
|
+ throw new EsignException(JSON.toJSONString(errMap));
|
|
|
+ }
|
|
|
+ Map<String, Object> signMap = Maps.newHashMap();
|
|
|
+ //签署日期坐标
|
|
|
+ Map<String, Object> signDateConfig = Maps.newHashMap();
|
|
|
+ signDateConfig.put("showSignDate", 1);
|
|
|
+ if (null!=fieldLink.getPositionX()&&null!=fieldLink.getPositionY()) {
|
|
|
+ signDateConfig.put("signDatePositionX", fieldLink.getPositionX());
|
|
|
+ signDateConfig.put("signDatePositionY", fieldLink.getPositionY());
|
|
|
+ }
|
|
|
+ if (null!=fieldLink.get("fontSize")) {
|
|
|
+ signDateConfig.put("fontSize", fieldLink.get("fontSize"));
|
|
|
+ }
|
|
|
+ if (null!=fieldLink.get("dateFormat")) {
|
|
|
+ signDateConfig.put("dateFormat", fieldLink.get("dateFormat"));
|
|
|
+ }
|
|
|
+ signMap.put("signDateConfig", signDateConfig);
|
|
|
+ signMap.put("key", fieldInfo.getSigningParty());
|
|
|
+ signMap.put("fileId", fileId);
|
|
|
+ signMap.put("signFieldType", 0);
|
|
|
+ String keyword =fieldInfo.getTemplateFieldName();
|
|
|
+ if (keyword.indexOf("骑缝") >= 0) {
|
|
|
+ signMap.put("signFieldStyle", 2);
|
|
|
+ signMap.put("positionX", fieldInfo.getPositionX());
|
|
|
+ signMap.put("positionY", fieldInfo.getPositionY());
|
|
|
+ signMap.put("positionPage", fieldInfo.getPageNum());
|
|
|
+ }else {
|
|
|
+ signMap.put("signFieldStyle", 1);
|
|
|
+ if(null==fieldInfo.getPositionX()&&null==fieldInfo.getPositionY()){
|
|
|
+ Map<String, Object> errMap = Maps.newHashMap();
|
|
|
+ errMap.put("模版", eSignTemplateFileEntry.getName());
|
|
|
+ errMap.put("控件", fieldInfo.getTemplateFieldName());
|
|
|
+ errMap.put("内容", "印章坐标为空请维护!");
|
|
|
+ throw new EsignException(JSON.toJSONString(errMap));
|
|
|
}
|
|
|
- signList.add(signMap);
|
|
|
+ signMap.put("positionX", fieldInfo.getPositionX());
|
|
|
+ signMap.put("positionY", fieldInfo.getPositionY());
|
|
|
+ signMap.put("positionPage", fieldInfo.getPageNum());
|
|
|
+ }
|
|
|
+ Map<String, Map<String, Object>> skMap = signMapGroup.get((String) signMap.get("key"));
|
|
|
+ if (null == skMap) {
|
|
|
+ skMap = Maps.newHashMap();
|
|
|
+ signMapGroup.put((String) signMap.get("key"), skMap);
|
|
|
}
|
|
|
+ skMap.remove(fieldInfo.getTemplateFieldId());
|
|
|
+ skMap.put(fieldLink.getTemplateFieldId(),signMap);
|
|
|
}
|
|
|
- System.out.println("signListGroup:" + signListGroup);
|
|
|
- return signListGroup;
|
|
|
+
|
|
|
+ System.out.println("signMapGroup:" + signMapGroup);
|
|
|
+ return signMapGroup;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -454,7 +431,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
* @return
|
|
|
* @throws EsignException
|
|
|
*/
|
|
|
- public List<Map<String, Object>> addDocs(Context context, JSONObject jsonObject, JSONObject templateInfo) throws EsignException {
|
|
|
+ public List<Map<String, Object>> addDocs(Context context, JSONObject jsonObject, JSONObject templateInfo) throws EsignException, EASBizException, BOSException, SQLException {
|
|
|
//设置待签署文件信息
|
|
|
Map<String, Object> resul = Maps.newHashMap();
|
|
|
List<Map<String, Object>> docs = Lists.newArrayList();
|
|
|
@@ -478,13 +455,10 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
if (null != order) {
|
|
|
doc.put("order", Integer.parseInt(String.valueOf(order)));
|
|
|
}
|
|
|
- doc.put("positionX", null);
|
|
|
- doc.put("positionY", null);
|
|
|
- doc.put("positionPage", null);
|
|
|
System.out.println("addDocs:" + fieldObject);
|
|
|
JSONObject fields = fieldObject.getJSONObject("fields");
|
|
|
//取得这个文件的签署人的签署区
|
|
|
- Map<String, List<Map<String, Object>>> signAreaList = this.addsignAreaList(context, fields, (String) file.get("fileId"), sourceId);
|
|
|
+ Map<String, Map<String, Map<String, Object>>> signAreaList = this.addsignAreaList(context, fields, (String) file.get("fileId"), sourceId,docTemplateId);
|
|
|
doc.put("signListGroup", signAreaList);
|
|
|
docs.add(doc);
|
|
|
} else {
|
|
|
@@ -589,12 +563,12 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
}
|
|
|
List<Map<String, Object>> signFields = Lists.newArrayList();
|
|
|
for (Map<String, Object> doc : docs) {
|
|
|
- Map<String, List<Map<String, Object>>> signListGroup = (Map<String, List<Map<String, Object>>>) doc.get("signListGroup");
|
|
|
+ Map<String, Map<String, Map<String, Object>>> signListGroup = (Map<String,Map<String, Map<String, Object>>>) doc.get("signListGroup");
|
|
|
//判断是否存在签署区
|
|
|
if(null!=signListGroup && signListGroup.size()>0){
|
|
|
- List<Map<String, Object>> fieldList = signListGroup.get(signName);
|
|
|
+ Map<String, Map<String, Object>> fieldList = signListGroup.get(signName);
|
|
|
if(null!=fieldList) {
|
|
|
- for (Map<String, Object> fieldMap : fieldList) {
|
|
|
+ for (Map<String, Object> fieldMap : fieldList.values()) {
|
|
|
Map<String, Object> field = Maps.newHashMap();
|
|
|
field.put("fileId", fieldMap.get("fileId"));
|
|
|
field.put("customBizNum", doc.get("fileName"));
|
|
|
@@ -619,12 +593,6 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
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 {
|
|
|
Map<String, Object> res = Maps.newHashMap();
|
|
|
//失败
|
|
|
@@ -633,10 +601,14 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
}
|
|
|
} else {
|
|
|
//骑缝章
|
|
|
+ signFieldPosition.put("positionY", fieldMap.get("positionY"));
|
|
|
}
|
|
|
normalSignFieldConfig.put("signFieldPosition", signFieldPosition);
|
|
|
- Map<String, Object> signDateConfig = Maps.newHashMap();
|
|
|
- signDateConfig.put("showSignDate", 1);
|
|
|
+ Map<String, Object> signDateConfig = (Map<String, Object>) fieldMap.get("signDateConfig");
|
|
|
+ if(null==signDateConfig) {
|
|
|
+ signDateConfig = Maps.newHashMap();
|
|
|
+ //signDateConfig.put("showSignDate", 1);
|
|
|
+ }
|
|
|
field.put("signDateConfig", signDateConfig);
|
|
|
} else {
|
|
|
//手动签章
|
|
|
@@ -737,10 +709,10 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
signName = "签署方" + signOrder;
|
|
|
}
|
|
|
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);
|
|
|
+ Map<String, Map<String, Map<String, Object>>> signListGroup = (Map<String, Map<String, Map<String, Object>>>) doc.get("signListGroup");
|
|
|
+ Map<String, Map<String, Object>> fieldList = signListGroup.get(signName);
|
|
|
if(null!=fieldList) {
|
|
|
- for (Map<String, Object> fieldMap : fieldList) {
|
|
|
+ for (Map<String, Object> fieldMap : fieldList.values()) {
|
|
|
Map<String, Object> field = Maps.newHashMap();
|
|
|
field.put("fileId", fieldMap.get("fileId"));
|
|
|
field.put("customBizNum", doc.get("fileName"));
|
|
|
@@ -749,7 +721,7 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
//签章区配置项(指定signFieldType为 0 - 签章区时,该参数为必传项)
|
|
|
Map<String, Object> normalSignFieldConfig = Maps.newHashMap();
|
|
|
//手动签章
|
|
|
- normalSignFieldConfig.put("freeMode", true);
|
|
|
+ normalSignFieldConfig.put("freeMode", false);
|
|
|
normalSignFieldConfig.put("autoSign", false);
|
|
|
//印章id
|
|
|
//normalSignFieldConfig.put("assignedSealId", orgSignerInfo.getString("sealId"));
|
|
|
@@ -762,19 +734,17 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
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 {
|
|
|
//骑缝章
|
|
|
+ signFieldPosition.put("positionY", fieldMap.get("positionY"));
|
|
|
}
|
|
|
normalSignFieldConfig.put("signFieldPosition", signFieldPosition);
|
|
|
- Map<String, Object> signDateConfig = Maps.newHashMap();
|
|
|
- signDateConfig.put("showSignDate", 1);
|
|
|
+ Map<String, Object> signDateConfig = (Map<String, Object>) fieldMap.get("signDateConfig");
|
|
|
+ if(null==signDateConfig) {
|
|
|
+ signDateConfig = Maps.newHashMap();
|
|
|
+ signDateConfig.put("showSignDate", 1);
|
|
|
+ }
|
|
|
field.put("signDateConfig", signDateConfig);
|
|
|
field.put("normalSignFieldConfig", normalSignFieldConfig);
|
|
|
} else {
|
|
|
@@ -898,6 +868,9 @@ public class Create_by_fileOSFService implements IHRMsfService {
|
|
|
if (ComponentTypeEnum.SIGN_AREA.getAlias().equals(dataType)) {
|
|
|
continue;
|
|
|
}
|
|
|
+ if (ComponentTypeEnum.DATESIGNATURE.getAlias().equals(dataType)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
component.put("componentValue", fieldInfo.get("value"));
|
|
|
components.add(component);
|
|
|
}
|