Parcourir la source

接收e管家组织字段通过对照表转换还需要再查一次关联关系表

wanwei il y a 7 mois
Parent
commit
55025b4b6e

+ 9 - 3
src/main/java/fi/fa/opplugin/AssetMidBillOpPlugin.java

@@ -56,9 +56,15 @@ public class AssetMidBillOpPlugin extends AbstractListPlugin {
                     }
                     DynamicObject busProcess = BusinessDataServiceHelper.newDynamicObject("nckd_ywcld");
                     busProcess.set("nckd_bizdate", info.getDate("nckd_date_out"));//业务日期
-                    busProcess.set("nckd_costcompany", ChangeDataUtils.getOrg(info.getString("nckd_org_in")));//资产组织
-                    busProcess.set("nckd_orgfield1", ChangeDataUtils.getOrg(info.getString("nckd_org_out")));//调出组织
-                    busProcess.set("nckd_orgfield2", ChangeDataUtils.getOrg(info.getString("nckd_org_in")));//调入组织
+                    Long orgIdin = ChangeDataUtils.getOrg(info.getString("nckd_org_in"));
+                    Long orgIdout = ChangeDataUtils.getOrg(info.getString("nckd_org_out"));
+
+                    Long relationIdin = ChangeDataUtils.getRelation(orgIdin);
+                    Long relationIdout = ChangeDataUtils.getRelation(orgIdout);
+
+                    busProcess.set("nckd_costcompany", relationIdin);//资产组织
+                    busProcess.set("nckd_orgfield1", relationIdout);//调出组织
+                    busProcess.set("nckd_orgfield2", relationIdin);//调入组织
                     busProcess.set("nckd_textfield1", info.getString("nckd_reason"));//调拨原因
 
 

+ 4 - 1
src/main/java/fi/fa/opplugin/FaChangeMidOpPlugin.java

@@ -55,7 +55,10 @@ public class FaChangeMidOpPlugin extends AbstractListPlugin {
                     }
                     DynamicObject busProcess = BusinessDataServiceHelper.newDynamicObject("nckd_ywcld");
                     busProcess.set("nckd_bizdate", info.getDate("nckd_date_out"));//业务日期
-                    busProcess.set("nckd_costcompany", ChangeDataUtils.getOrg(info.getString("nckd_org_in")));//资产组织
+
+                    Long orgIdin = ChangeDataUtils.getOrg(info.getString("nckd_org_in"));
+                    Long relationIdin = ChangeDataUtils.getRelation(orgIdin);
+                    busProcess.set("nckd_costcompany", relationIdin);//资产组织
                     busProcess.set("nckd_textfield1", info.getString("nckd_reason"));//调拨原因
                     busProcess.set("billstatus", "A");//暂存
                     busProcess.set("nckd_detailtype", "N");//业务类型(E:资产调拨)

+ 3 - 1
src/main/java/fi/fa/opplugin/FaDisCardMidOpPlugin.java

@@ -59,7 +59,9 @@ public class FaDisCardMidOpPlugin extends AbstractListPlugin {
                     DynamicObject busProcess = BusinessDataServiceHelper.newDynamicObject("nckd_ywcld");
                     busProcess.set("nckd_bizdate", info.getDate("nckd_date_out"));//业务日期
                     busProcess.set("nckd_detailtype", "D");//业务类型 D:报废
-                    busProcess.set("nckd_costcompany", ChangeDataUtils.getOrg(info.getString("nckd_org_in")));//资产组织
+                    Long orgIdin = ChangeDataUtils.getOrg(info.getString("nckd_org_in"));
+                    Long relationIdin = ChangeDataUtils.getRelation(orgIdin);
+                    busProcess.set("nckd_costcompany", relationIdin);//资产组织
                     busProcess.set("nckd_textfield1", info.getString("nckd_reason"));//摘要事由
                     busProcess.set("nckd_applierv", ChangeDataUtils.getUser(info.getString("nckd_user_out")));//制单人
 

+ 19 - 0
src/main/java/fi/fa/opplugin/utils/ChangeDataUtils.java

@@ -91,6 +91,25 @@ public class ChangeDataUtils {
         return null;
     }
 
+    /**
+     * @description 查询业务单元id
+     * @param id
+     * @return Long
+     */
+    public static Long getRelation(Long id) {
+
+        QFilter filter = new QFilter("toorg", QCP.equals,id);
+        DynamicObject[] org = BusinessDataServiceHelper.load("bos_org_orgrelation_dept","id",new QFilter[] {filter});
+        if (org.length > 0) {
+            DynamicObject orgInfo = BusinessDataServiceHelper.loadSingle(org[0].getPkValue(), org[0].getDynamicObjectType().getName());
+            DynamicObject ywdyOrg = orgInfo.getDynamicObject("fromorg");
+            if (ywdyOrg != null) {
+                return ywdyOrg.getLong("id");
+            }
+        }
+        return null;
+    }
+
     /**
      * @description 查询用户表获取用户
      * @param eUser

+ 38 - 6
src/main/java/fi/fa/webService/ApisaveDemoPlugin.java

@@ -56,15 +56,28 @@ public class ApisaveDemoPlugin implements ApiSavePlugin {
         String orgNumber = orgControlInfo.getString("nckd_org_number");
 
         if (orgId.equals(deptId)) {
-            // 如果组织 ID 和部门 ID 相同,则都设置为组织编号
-            org.put("id", getOrg(orgNumber));
-            dept.put("id", getOrg(orgNumber));
+            // 行政组织id
+            Long id = getOrg(orgNumber);
+            Long fromorgId = getRelation(id);
+            if (id != null) {
+                dept.put("id", id);
+            }
+            if (fromorgId != null) {
+                org.put("id", fromorgId);
+            }
         } else if (orgControlInfo.getString("nckd_e_org").equals(orgId)) {
-            // 如果当前控制信息的组织 ID 等于 orgId,更新组织 ID
-            org.put("id", getOrg(orgNumber));
+            // 行政组织id
+            Long id = getOrg(orgNumber);
+            Long fromorgId = getRelation(id);
+            if (fromorgId != null) {
+                org.put("id", fromorgId);
+            }
         } else {
             // 否则更新部门 ID
-            dept.put("id", getOrg(orgNumber));
+            Long id = getOrg(orgNumber);
+            if (id != null) {
+                dept.put("id", id);
+            }
         }
     }
 
@@ -83,4 +96,23 @@ public class ApisaveDemoPlugin implements ApiSavePlugin {
         }
         return null;
     }
+
+    /**
+     * @description 查询业务单元id
+     * @param id
+     * @return Long
+     */
+    private Long getRelation(Long id) {
+
+        QFilter filter = new QFilter("toorg", QCP.equals,id);
+        DynamicObject[] org = BusinessDataServiceHelper.load("bos_org_orgrelation_dept","id",new QFilter[] {filter});
+        if (org.length > 0) {
+            DynamicObject orgInfo = BusinessDataServiceHelper.loadSingle(org[0].getPkValue(), org[0].getDynamicObjectType().getName());
+            DynamicObject ywdyOrg = orgInfo.getDynamicObject("fromorg");
+            if (ywdyOrg != null) {
+                return ywdyOrg.getLong("id");
+            }
+        }
+        return null;
+    }
 }