|
@@ -80,6 +80,7 @@ import com.jeeplus.modules.workreview.dao.WorkReviewAuditDao;
|
|
import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
|
|
import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
|
|
import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
|
|
import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
|
|
import com.jeeplus.modules.workstaff.service.WorkStaffBasicInfoService;
|
|
import com.jeeplus.modules.workstaff.service.WorkStaffBasicInfoService;
|
|
|
|
+import net.sf.json.JSONArray;
|
|
import org.activiti.engine.ActivitiObjectNotFoundException;
|
|
import org.activiti.engine.ActivitiObjectNotFoundException;
|
|
import org.activiti.engine.HistoryService;
|
|
import org.activiti.engine.HistoryService;
|
|
import org.activiti.engine.IdentityService;
|
|
import org.activiti.engine.IdentityService;
|
|
@@ -3866,9 +3867,21 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
|
|
List<Action> actions = Lists.newArrayList();
|
|
List<Action> actions = Lists.newArrayList();
|
|
Action companyAction = new Action();
|
|
Action companyAction = new Action();
|
|
companyAction.setType("CORPORATE");
|
|
companyAction.setType("CORPORATE");
|
|
- companyAction.setName("公司盖章");
|
|
|
|
|
|
+ companyAction.setName("公司印章");
|
|
companyAction.setSerialNo("1");
|
|
companyAction.setSerialNo("1");
|
|
- companyAction.setSealId("2893044362440138791");
|
|
|
|
|
|
+ companyAction.setSealId("2894161942659543252");
|
|
|
|
+ //添加盖章位置
|
|
|
|
+ List<Location> locations = Lists.newArrayList();
|
|
|
|
+ Location location = new Location();
|
|
|
|
+ location.setDocumentId(documentList.get(0));
|
|
|
|
+ location.setPage(0);
|
|
|
|
+ location.setRectType("SEAL_CORPORATE");
|
|
|
|
+ //location.setKeyword("咨询企业(章)");
|
|
|
|
+ location.setKeywordIndex(-1);
|
|
|
|
+ location.setOffsetX(0.7749);
|
|
|
|
+ location.setOffsetY(0.2725);
|
|
|
|
+ locations.add(location);
|
|
|
|
+ companyAction.setLocations(locations);
|
|
actions.add(companyAction);
|
|
actions.add(companyAction);
|
|
|
|
|
|
//根据角色信息录入签署方信息
|
|
//根据角色信息录入签署方信息
|
|
@@ -3877,13 +3890,26 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
|
|
User user = UserUtils.get(principalUserId);
|
|
User user = UserUtils.get(principalUserId);
|
|
if(null != user){
|
|
if(null != user){
|
|
//获取成员印章id信息
|
|
//获取成员印章id信息
|
|
- String userSealId = SignaturePostUtil.getUserSealByMobile(user.getMobile(),"");
|
|
|
|
|
|
+ String userSealId = SignaturePostUtil.getUserSealByMobile(user.getMobile(),"","");
|
|
if(StringUtils.isNotBlank(userSealId)){
|
|
if(StringUtils.isNotBlank(userSealId)){
|
|
Action actionUser = new Action();
|
|
Action actionUser = new Action();
|
|
actionUser.setType("CORPORATE");
|
|
actionUser.setType("CORPORATE");
|
|
actionUser.setName(user.getName() + "印章"); //填写人员信息
|
|
actionUser.setName(user.getName() + "印章"); //填写人员信息
|
|
actionUser.setSerialNo("1");
|
|
actionUser.setSerialNo("1");
|
|
actionUser.setSealId(userSealId); //人员印章id
|
|
actionUser.setSealId(userSealId); //人员印章id
|
|
|
|
+
|
|
|
|
+ //添加盖章位置
|
|
|
|
+ List<Location> principalLocations = Lists.newArrayList();
|
|
|
|
+ Location principalLocation = new Location();
|
|
|
|
+ principalLocation.setDocumentId(documentList.get(0));
|
|
|
|
+ principalLocation.setPage(0);
|
|
|
|
+ principalLocation.setRectType("SEAL_CORPORATE");
|
|
|
|
+ //principalLocation.setKeyword("项目负责人(签字盖章)");
|
|
|
|
+ principalLocation.setKeywordIndex(-1);
|
|
|
|
+ principalLocation.setOffsetX(0.7759);
|
|
|
|
+ principalLocation.setOffsetY(0.1934);
|
|
|
|
+ principalLocations.add(principalLocation);
|
|
|
|
+ actionUser.setLocations(principalLocations);
|
|
actions.add(actionUser);
|
|
actions.add(actionUser);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -3892,13 +3918,26 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
|
|
User technologyPrincipalUser = UserUtils.getByLoginName("陈红星");
|
|
User technologyPrincipalUser = UserUtils.getByLoginName("陈红星");
|
|
if(null != technologyPrincipalUser){
|
|
if(null != technologyPrincipalUser){
|
|
//获取成员印章id信息
|
|
//获取成员印章id信息
|
|
- String userSealId = SignaturePostUtil.getUserSealByMobile(technologyPrincipalUser.getMobile(),"chenhongxing_yuan");
|
|
|
|
|
|
+ String userSealId = SignaturePostUtil.getUserSealByMobile(technologyPrincipalUser.getMobile(),"","陈红星个人签名章");
|
|
if(StringUtils.isNotBlank(userSealId)){
|
|
if(StringUtils.isNotBlank(userSealId)){
|
|
Action actionUser = new Action();
|
|
Action actionUser = new Action();
|
|
actionUser.setType("CORPORATE");
|
|
actionUser.setType("CORPORATE");
|
|
actionUser.setName(technologyPrincipalUser.getName() + "印章"); //填写人员信息
|
|
actionUser.setName(technologyPrincipalUser.getName() + "印章"); //填写人员信息
|
|
actionUser.setSerialNo("1");
|
|
actionUser.setSerialNo("1");
|
|
actionUser.setSealId(userSealId); //人员印章id
|
|
actionUser.setSealId(userSealId); //人员印章id
|
|
|
|
+
|
|
|
|
+ //添加盖章位置
|
|
|
|
+ List<Location> principalLocations = Lists.newArrayList();
|
|
|
|
+ Location principalLocation = new Location();
|
|
|
|
+ principalLocation.setDocumentId(documentList.get(0));
|
|
|
|
+ principalLocation.setPage(0);
|
|
|
|
+ principalLocation.setRectType("SEAL_CORPORATE");
|
|
|
|
+ //principalLocation.setKeyword("签发人");
|
|
|
|
+ principalLocation.setKeywordIndex(-1);
|
|
|
|
+ principalLocation.setOffsetX(0.7518);
|
|
|
|
+ principalLocation.setOffsetY(0.1642);
|
|
|
|
+ principalLocations.add(principalLocation);
|
|
|
|
+ actionUser.setLocations(principalLocations);
|
|
actions.add(actionUser);
|
|
actions.add(actionUser);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -3914,7 +3953,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
|
|
signatories.add(signatorieInfo1);
|
|
signatories.add(signatorieInfo1);
|
|
SignatureContract signatureContract = new SignatureContract();
|
|
SignatureContract signatureContract = new SignatureContract();
|
|
signatureContract.setDocuments(documentList);
|
|
signatureContract.setDocuments(documentList);
|
|
- signatureContract.setCategoryId("2893044445151813683");
|
|
|
|
|
|
+ signatureContract.setCategoryId("2894155655423012945");
|
|
signatureContract.setSend(false);
|
|
signatureContract.setSend(false);
|
|
signatureContract.setSignatories(signatories);
|
|
signatureContract.setSignatories(signatories);
|
|
signatureContract.setSn("");
|
|
signatureContract.setSn("");
|
|
@@ -3922,8 +3961,12 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
|
|
net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(signatureContract);
|
|
net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(signatureContract);
|
|
String contractIdMapStr = SignaturePostUtil.sendPostApplicationJson(HTTPTOP + "/contract/createbycategory", json.toString());
|
|
String contractIdMapStr = SignaturePostUtil.sendPostApplicationJson(HTTPTOP + "/contract/createbycategory", json.toString());
|
|
HashMap hashMap = JSON.parseObject(contractIdMapStr, HashMap.class);
|
|
HashMap hashMap = JSON.parseObject(contractIdMapStr, HashMap.class);
|
|
- String contractId = hashMap.get("contractId").toString();
|
|
|
|
- return contractId;
|
|
|
|
|
|
+ String code = hashMap.get("code").toString();
|
|
|
|
+ if("0".equals(code)){
|
|
|
|
+ String contractId = hashMap.get("contractId").toString();
|
|
|
|
+ return contractId;
|
|
|
|
+ }
|
|
|
|
+ return "";
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -3937,16 +3980,84 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
|
|
map.put("contractId",contractId);
|
|
map.put("contractId",contractId);
|
|
map.put("tenantType","COMPANY");
|
|
map.put("tenantType","COMPANY");
|
|
map.put("tenantName","江苏兴光项目管理有限公司");
|
|
map.put("tenantName","江苏兴光项目管理有限公司");
|
|
- map.put("receiverName","徐滕");
|
|
|
|
- map.put("contact","15240492484");
|
|
|
|
|
|
+ /*map.put("receiverName","徐滕");
|
|
|
|
+ map.put("contact","15240492484");*/
|
|
map.put("canSend","false");
|
|
map.put("canSend","false");
|
|
String contractIdUrl = SignaturePostUtil.doGet(map,HTTPTOP + "/contract/presignurl" );
|
|
String contractIdUrl = SignaturePostUtil.doGet(map,HTTPTOP + "/contract/presignurl" );
|
|
HashMap signUrlHashMap = JSON.parseObject(contractIdUrl, HashMap.class);
|
|
HashMap signUrlHashMap = JSON.parseObject(contractIdUrl, HashMap.class);
|
|
- String signUrl = signUrlHashMap.get("presignUrl").toString();
|
|
|
|
|
|
+ String code = signUrlHashMap.get("code").toString();
|
|
|
|
+ if("0".equals(code)){
|
|
|
|
+ String signUrl = signUrlHashMap.get("presignUrl").toString();
|
|
|
|
+ return signUrl;
|
|
|
|
+ }
|
|
/*String jsonString = JSON.toJSONString(map);
|
|
/*String jsonString = JSON.toJSONString(map);
|
|
String contractIdUrl = SignaturePostUtil.sendPostApplicationJson(HTTPTOP + "/contract/signurl", jsonString);
|
|
String contractIdUrl = SignaturePostUtil.sendPostApplicationJson(HTTPTOP + "/contract/signurl", jsonString);
|
|
HashMap signUrlHashMap = JSON.parseObject(contractIdUrl, HashMap.class);
|
|
HashMap signUrlHashMap = JSON.parseObject(contractIdUrl, HashMap.class);
|
|
String signUrl = signUrlHashMap.get("signUrl").toString();*/
|
|
String signUrl = signUrlHashMap.get("signUrl").toString();*/
|
|
- return signUrl;
|
|
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据contractId进行静默签署
|
|
|
|
+ * @param contractId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public String signbyCompany (String contractId,List<String> invalidDocumentIdList){
|
|
|
|
+
|
|
|
|
+ //根据合同id查询坐标
|
|
|
|
+ Map map = new HashMap();
|
|
|
|
+ map.put("contractId",contractId);
|
|
|
|
+ String coordinateMapStr = SignaturePostUtil.doGet( map,HTTPTOP + "/contract/query/location");
|
|
|
|
+ HashMap hashMap = JSON.parseObject(coordinateMapStr, HashMap.class);
|
|
|
|
+ String resultStr = hashMap.get("result").toString();
|
|
|
|
+ Map classMap = new HashMap();
|
|
|
|
+ classMap.put("locations", Location.class);
|
|
|
|
+ //2、使用JSONArray
|
|
|
|
+ JSONArray jsonArray= JSONArray.fromObject(resultStr);
|
|
|
|
+ //获得jsonArray的第一个元素
|
|
|
|
+ Object o=jsonArray.get(0);
|
|
|
|
+ net.sf.json.JSONObject jsonObject= net.sf.json.JSONObject.fromObject(o);
|
|
|
|
+ //对json数据进行实例化
|
|
|
|
+ CoordinateInfo coordinateInfo = (CoordinateInfo) net.sf.json.JSONObject.toBean(jsonObject, CoordinateInfo.class, classMap);
|
|
|
|
+ //发起合同
|
|
|
|
+ Map sendContractMap = new HashMap();
|
|
|
|
+ sendContractMap.put("contractId",contractId);
|
|
|
|
+ String sendContractJsonString = JSON.toJSONString(sendContractMap);
|
|
|
|
+ String sendContractStr = SignaturePostUtil.sendPostApplicationJson( HTTPTOP + "/contract/send",sendContractJsonString);
|
|
|
|
+ HashMap signUrlHashMap = JSON.parseObject(sendContractStr, HashMap.class);
|
|
|
|
+ String sendContractResult = signUrlHashMap.get("code").toString();
|
|
|
|
+ if("0".equals(sendContractResult)) {
|
|
|
|
+ List<Location> locations = coordinateInfo.getLocations();
|
|
|
|
+
|
|
|
|
+ SignByCompanyInfo signByCompanyInfo = new SignByCompanyInfo();
|
|
|
|
+ signByCompanyInfo.setContractId(contractId);
|
|
|
|
+ signByCompanyInfo.setTenantName("江苏兴光项目管理有限公司");
|
|
|
|
+
|
|
|
|
+ for (Location location : locations) {
|
|
|
|
+ List<Stamper> stampers = Lists.newArrayList();
|
|
|
|
+ for (String invalidDocumentId : invalidDocumentIdList) {
|
|
|
|
+ Stamper stamper = new Stamper();
|
|
|
|
+ stamper.setDocumentId(invalidDocumentId);
|
|
|
|
+ stamper.setType("SEAL_CORPORATE");
|
|
|
|
+ stamper.setSealId(location.getSealId());
|
|
|
|
+ stamper.setPage(location.getPage());
|
|
|
|
+ stamper.setX(location.getOffsetX());
|
|
|
|
+ stamper.setY(location.getOffsetY());
|
|
|
|
+ stampers.add(stamper);
|
|
|
|
+ }
|
|
|
|
+ signByCompanyInfo.setStampers(stampers);
|
|
|
|
+ //将数据转换为jsonString
|
|
|
|
+ Object obj = com.alibaba.fastjson.JSONArray.toJSON(signByCompanyInfo);
|
|
|
|
+ String signByCompanyInfoJsonStr = obj.toString();
|
|
|
|
+ //进行静默签署
|
|
|
|
+ String signByCompanyStr = SignaturePostUtil.sendPostApplicationJson(HTTPTOP + "/contract/signbycompany", signByCompanyInfoJsonStr);
|
|
|
|
+ HashMap signByCompanyStrMap = JSON.parseObject(signByCompanyStr, HashMap.class);
|
|
|
|
+ String signByCompanyStrResult = signByCompanyStrMap.get("code").toString();
|
|
|
|
+ if (!"0".equals(signByCompanyStrResult)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return "";
|
|
}
|
|
}
|
|
}
|
|
}
|