Răsfoiți Sursa

1、银行账户同步接口

wanghaiwu 2 săptămâni în urmă
părinte
comite
d9eb02016f

+ 46 - 8
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/fi/er/webService/SaveAccountApi.java

@@ -117,24 +117,36 @@ public class SaveAccountApi implements Serializable {
             contractSynReturnModel.setMessage("该银行账号已存在");
             return contractSynReturnModel;
         }
-        String orgname = jsonObject.get("name")+"";
-        if ("".equals(orgname)) {
+
+        //法人主体,改成用company接口,取消使用name参数接收
+//        String orgname = jsonObject.get("name")+"";
+//        if ("".equals(orgname)) {
+//            contractSynReturnModel.setCode("500");
+//            contractSynReturnModel.setMessage("法人主体不能为空");
+//            return contractSynReturnModel;
+//        }
+
+        if(jsonObject.get("company") == null || jsonObject.getJSONObject("company").get("id") == null){
             contractSynReturnModel.setCode("500");
-            contractSynReturnModel.setMessage("法人主体不能为空");
+            contractSynReturnModel.setMessage("法人主体(company)为空");
             return contractSynReturnModel;
         }
+
+        //账户类型
+        String companyNo = jsonObject.getJSONObject("company").getString("id");
+
         //查询组织是否存在
-        QFilter orgqFilter = new QFilter("name","=",orgname);
+        QFilter orgqFilter = new QFilter("number","=", companyNo);
         DynamicObject orginfo =BusinessDataServiceHelper.loadSingleFromCache("bos_org",new QFilter[]{orgqFilter});
-        if(orginfo==null){
+        if(orginfo == null){
             contractSynReturnModel.setCode("500");
-            contractSynReturnModel.setMessage("没有找到名称为:"+orgname+"的组织");
+            contractSynReturnModel.setMessage("没有找到编码为:"+ companyNo +"的组织");
             return contractSynReturnModel;
         }
 
         if(jsonObject.get("accountBankType") == null || jsonObject.getJSONObject("accountBankType").get("alias") == null){
             contractSynReturnModel.setCode("500");
-            contractSynReturnModel.setMessage("开户行参数(bank)为空");
+            contractSynReturnModel.setMessage("账户类型参数(accountBankType)为空");
             return contractSynReturnModel;
         }
 
@@ -153,6 +165,30 @@ public class SaveAccountApi implements Serializable {
             return contractSynReturnModel;
         }
 
+        //会计科目
+        if(jsonObject.get("account") == null || jsonObject.getJSONObject("account").get("id") == null){
+            contractSynReturnModel.setCode("500");
+            contractSynReturnModel.setMessage("会计科目参数(account)为空");
+            return contractSynReturnModel;
+        }
+
+        //账户类型
+        String account = jsonObject.getJSONObject("account").getString("id");
+        if ("".equals(account)) {
+            contractSynReturnModel.setCode("500");
+            contractSynReturnModel.setMessage("账户类型不能为空");
+            return contractSynReturnModel;
+        }
+
+        //查询会计科目
+        QFilter accountFilter = new QFilter("number","=",account);
+        DynamicObject accountViewInfo = BusinessDataServiceHelper.loadSingleFromCache("bd_accountview",new QFilter[]{accountFilter});
+        if (accountViewInfo == null) {
+            contractSynReturnModel.setCode("500");
+            contractSynReturnModel.setMessage("会计科目"+ account +"不存在");
+            return contractSynReturnModel;
+        }
+
 
         if(jsonObject.get("bank") == null || jsonObject.getJSONObject("bank").get("id") == null){
             contractSynReturnModel.setCode("500");
@@ -229,7 +265,8 @@ public class SaveAccountApi implements Serializable {
         //开户行,即金融机构
         accountinfo.set("bank",jrjginfo);
         accountinfo.set("bankaccountnumber",number);
-        accountinfo.set("name",name);
+        accountinfo.set("name",name);//账户简称
+        accountinfo.set("acctname", name);//账户名称
 
         //币别,多选基础资料
         DynamicObjectCollection currencyinfos = accountinfo.getDynamicObjectCollection("currency");
@@ -263,6 +300,7 @@ public class SaveAccountApi implements Serializable {
             contractSynReturnModel.setMessage("开户日期"+opendate+"格式不对:应为yyyy-MM-dd");
             return contractSynReturnModel;
         }
+        accountinfo.set("nckd_bd_acctview", accountViewInfo);//会计科目
         accountinfo.set("acctstatus","normal");
         accountinfo.set("elecpaymentlevel","WL01");
         accountinfo.set("manager",user);