Browse Source

报销付款单
1、根据费用项目配置,默认设置是否费用分摊

wanghaiwu 2 days ago
parent
commit
59b61dccf9

+ 30 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/PublicReimburseBillFormPlugin.java

@@ -87,10 +87,40 @@ public class PublicReimburseBillFormPlugin extends AbstractBillPlugIn implements
                         this.getModel().setValue("nckd_jywithhold",false);
                     }
                 }
+
+                //是否分摊处理
+                setIsShareValue();
             } else {
                 this.getModel().setValue("nckd_jywithhold",false);
             }
+        } else if("org".equals(fieldKey)){
+            setIsShareValue();
+        }
+    }
+
+    /**
+     * 设置是否分摊     *
+     */
+    private void setIsShareValue(){
+        DynamicObject dept = (DynamicObject) this.getModel().getValue("org");
+        DynamicObject item = (DynamicObject) this.getModel().getValue("nckd_expenseitem");
+        boolean isShare = false;
+        if(dept != null && item != null){
+            Long deptId = dept.getLong("id");
+            item = BusinessDataServiceHelper.loadSingle(item.getPkValue(), item.getDynamicObjectType().getName(), "id,nckd_sharedep");
+            DynamicObjectCollection sharedepts = item.getDynamicObjectCollection("nckd_sharedep");
+
+            if(sharedepts != null && sharedepts.size() > 0){
+                for(DynamicObject sharedept : sharedepts){
+                    if(deptId.compareTo(sharedept.getLong("fbasedataid_id")) == 0){
+                        isShare = true;
+                        break;
+                    }
+                }
+            }
         }
+
+        this.getModel().setValue("isbeforeshare", isShare);
     }
 
     @Override