esign_weaver/src/weaver/BothSignService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
esign_weaver/src/weaver/ISignService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
esign_weaver/src/weaver/PartyASignService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
esign_weaver/src/weaver/PartyBSignService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
esign_weaver/src/weaver/SignConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
esign_weaver/src/weaver/WeaverHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
foundation.system/src/foundation/org/Employee.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
foundation.system/src/foundation/user/OnlineUser.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
esign_weaver/src/weaver/BothSignService.java
@@ -10,9 +10,14 @@ import weaver.dao.ISignLetter; import weaver.dao.Signer; public class BothSignService implements ISignService{ @Override public class BothSignService extends ISignService{ private SignConfig signConfig; public BothSignService(SignConfig signConfig) { super(); this.signConfig = signConfig; } public List<Signer> getSigners(Entity entity) throws Exception { List<Signer> signers = new ArrayList(); Signer signer; @@ -26,21 +31,26 @@ // 乙方 DataObject dataObject = DataObject.getInstance("md_org_account"); Entity org = dataObject.getBrowseEntity(customerId); String contractPhone = getContracePhone(signConfig.getPartybPhone(), companyId, customerId); signer = new Signer(); signer.setSignatoryNo(org.getString("code")); signer.setTenantName(org.getString("account_name")); signer.setReceiverName(org.getString("business_person")); signer.setContactPhone(org.getString("business_phone")); signer.setContactPhone(contractPhone); signers.add(signer); // 甲方 dataObject = DataObject.getInstance("md_org"); org = dataObject.getTableEntity(companyId); contractPhone = getContracePhone(signConfig.getPartyaPhone(), companyId, customerId); signer = new Signer(); signer.setTenantName(ISignLetter.DefaultInitiator);; signer.setSignatoryNo(companyId); signer.setReceiverName(org.getString("name")); signer.setContactPhone(org.getString("business_phone")); signer.setContactPhone(contractPhone); signers.add(signer); return signers; esign_weaver/src/weaver/ISignService.java
@@ -3,10 +3,48 @@ import java.util.List; import foundation.data.entity.Entity; import foundation.data.object.DataObject; import foundation.org.Employee; import foundation.user.OnlineUser; import weaver.dao.Signer; public interface ISignService{ public List<Signer> getSigners(Entity entity) throws Exception; public abstract class ISignService{ public List<Signer> getSigners(Entity entity) throws Exception { return null; } public String getContracePhone(String sourceCode, String orgId, String accountId) throws Exception { int pos = sourceCode.indexOf("@{"); if (pos == -1){ return sourceCode; } sourceCode = sourceCode.substring(pos + 2, sourceCode.length()); pos = sourceCode.indexOf("."); if (pos == -1) { OnlineUser user = OnlineUser.getInstance(); Employee employee = user.getEmployee(); if (employee != null) { return employee.getPhone(); } return null; } String dataName = sourceCode.substring(0, pos); String field = sourceCode.substring(pos + 1); DataObject dataObject = DataObject.getInstance(dataName); if (dataName.equalsIgnoreCase("md_org")) { Entity entity = dataObject.getTableEntity(orgId); return entity.getString(field); } else { Entity entity = dataObject.getTableEntity(accountId); return entity.getString(field); } } } esign_weaver/src/weaver/PartyASignService.java
@@ -9,9 +9,14 @@ import weaver.dao.ISignLetter; import weaver.dao.Signer; public class PartyASignService implements ISignService{ @Override public class PartyASignService extends ISignService{ private SignConfig signConfig; public PartyASignService(SignConfig signConfig) { super(); this.signConfig = signConfig; } public List<Signer> getSigners(Entity entity) throws Exception { List<Signer> signers = new ArrayList(); Signer signer = new Signer(); @@ -19,10 +24,13 @@ DataObject dataObject = DataObject.getInstance("md_org"); String companyId = entity.getString("company_id"); Entity org = dataObject.getTableEntity(companyId); String contractPhone = getContracePhone(signConfig.getPartyaPhone(), companyId, null); signer.setTenantName(ISignLetter.DefaultInitiator);; signer.setSignatoryNo(companyId); signer.setReceiverName(org.getString("name")); signer.setContactPhone(org.getString("business_phone")); signer.setContactPhone(contractPhone); signers.add(signer); return signers; } esign_weaver/src/weaver/PartyBSignService.java
@@ -6,12 +6,19 @@ import foundation.data.entity.Entity; import foundation.data.object.DataObject; import foundation.org.Employee; import foundation.user.OnlineUser; import foundation.util.Util; import weaver.dao.Signer; public class PartyBSignService implements ISignService{ public class PartyBSignService extends ISignService{ private SignConfig signConfig; public PartyBSignService(SignConfig signConfig) { super(); this.signConfig = signConfig; } @Override public List<Signer> getSigners(Entity entity) throws Exception { List<Signer> signers = new ArrayList(); Signer signer = new Signer(); @@ -20,13 +27,16 @@ if (Util.isEmpty(customerId)) { customerId = entity.getString("customer_id", ""); } String contractPhone = getContracePhone(signConfig.getPartybPhone(), null, customerId); DataObject dataObject = DataObject.getInstance("md_org_account"); Entity org = dataObject.getBrowseEntity(customerId); signer.setSignatoryNo(org.getString("code")); signer.setTenantName(org.getString("account_name")); signer.setReceiverName(org.getString("business_person")); signer.setContactPhone(org.getString("business_phone")); signer.setContactPhone(contractPhone); signers.add(signer); return signers; esign_weaver/src/weaver/SignConfig.java
@@ -15,6 +15,8 @@ private String fileField; private SignType signType; private String initiator; private String partyaPhone; private String partybPhone; private String subject; private VariantExpression expression; @@ -25,6 +27,8 @@ this.fileField = entity.getString("file_field"); this.dataname = entity.getString("dataname"); this.signType = SignType.parse(entity.getString("sign_type")); this.partyaPhone = entity.getString("partya_Phone"); this.partybPhone = entity.getString("partyb_Phone"); this.initiator = entity.getString("initiator"); String subject = entity.getString("subject"); @@ -34,6 +38,7 @@ this.expression = new VariantExpression(subject); } } public String getSubjectContent(Entity entity) { if(expression == null) { return subject; @@ -79,5 +84,21 @@ public VariantExpression getExpression() { return expression; } public String getInitiator() { return initiator; } public String getPartyaPhone() { return partyaPhone; } public String getPartybPhone() { return partybPhone; } public String getSubject() { return subject; } } esign_weaver/src/weaver/WeaverHandler.java
@@ -24,6 +24,7 @@ import foundation.icall.callout.RemoteSourceBucket; import foundation.io.FileCenter; import foundation.io.object.FileRecord; import foundation.org.Employee; import foundation.user.OnlineUser; import foundation.util.MD5Utils; import foundation.util.Util; @@ -337,7 +338,6 @@ String accessKey = eSignSourceMeta.getString(ISignLetter.AppToken); String accessSecret = eSignSourceMeta.getString(ISignLetter.AppSecret); String signerCode = dataReader.getString(ISignLetter.Signer); SignBucket signBucket = SignBucket.getInstance(); SignConfig signConfig = signBucket.get(dataName); @@ -442,13 +442,13 @@ if (SignType.Both == signConfig.getSignType()) { signService = new BothSignService(); signService = new BothSignService(signConfig); } else if (SignType.PartyB == signConfig.getSignType()) { signService = new PartyBSignService(); signService = new PartyBSignService(signConfig); } else if (SignType.PartyA == signConfig.getSignType()) { signService = new PartyASignService(); signService = new PartyASignService(signConfig); } List<Signer> signers = signService.getSigners(dataNameEntity); @@ -650,6 +650,7 @@ private Signer getSigner(String companyId) throws Exception { Signer signer = new Signer(); OnlineUser user = OnlineUser.getInstance(); Employee employee = user.getEmployee(); ActorTarget actor = user.getCurrentActor(); String actorId = user.getActorId(); String accountId = actor.getTargetId(); @@ -668,13 +669,22 @@ signer.setContactPhone(account.getString("business_phone")); } else { DataObject dataObject = DataObject.getInstance("md_org"); Entity org = dataObject.getBrowseEntity(companyId); signer.setSignatoryNo(org.getString("id")); signer.setTenantName(ISignLetter.DefaultInitiator); signer.setReceiverName(org.getString("business_person")); signer.setContactPhone(org.getString("business_phone")); signer.setReceiverName(user.getName()); String businessPhone = ""; if (employee != null) { businessPhone = employee.getPhone(); } else { businessPhone = org.getString("business_phone"); } signer.setContactPhone(businessPhone); } return signer; foundation.system/src/foundation/org/Employee.java
@@ -19,6 +19,8 @@ private String id; private String code; private String name; private String phone; private String email; private Org org; private MapList<String, Position> positions; @@ -65,6 +67,8 @@ id = entity.getString("id"); code = entity.getString("code"); name = entity.getString("name"); phone = entity.getString("phone"); email = entity.getString("email"); } private void loadOnePosition(String positionId, Position position) { @@ -87,6 +91,14 @@ return name; } public String getPhone() { return phone; } public String getEmail() { return email; } public void setOrg(Org org) { this.org = org; } foundation.system/src/foundation/user/OnlineUser.java
@@ -183,6 +183,15 @@ return employee.getId(); } public Employee getEmployee() { Employee employee = user.getCurrentEmployee(); if (employee == null) { return null; } return employee; } @Override public String getEmployeeName() { Employee employee = user.getCurrentEmployee();