Эх сурвалжийг харах

应付挂账单销账功能

wanwei 10 сар өмнө
parent
commit
043d701a11

+ 32 - 25
src/main/java/fi/er/opplugin/FinapbillBeforeF7SelectSample.java

@@ -5,7 +5,6 @@ import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.events.ChangeData;
 import kd.bos.entity.datamodel.events.PropertyChangedArgs;
-import kd.bos.form.control.EntryGrid;
 import kd.bos.form.field.RefBillEdit;
 import kd.bos.form.field.events.BeforeF7SelectEvent;
 import kd.bos.form.field.events.BeforeF7SelectListener;
@@ -16,8 +15,8 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.EventObject;
-import java.util.List;
 
 public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements BeforeF7SelectListener {
     private static String nckd_apfinapbill = "nckd_apfinapbill"; //应付挂账单字段
@@ -36,11 +35,11 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements
         String fieldKey = arg0.getProperty().getName();
         if (StringUtils.equals(fieldKey, nckd_apfinapbill)){
             // 生成过滤条件对象QFilter
-            DynamicObject Obj = (DynamicObject) this.getModel().getValue("sourcebillid");
-            if (Obj != null) {
-                Long sourcebillid = Obj.getLong("Obj");
+            Object nckd_sourcebillid = this.getModel().getValue("nckd_sourcebillid");
+            if (nckd_sourcebillid != null) {
                 //查询暂估报销单
-                QFilter filter = new QFilter("sourcebillid", QCP.equals,sourcebillid);
+                String sourcebillid = String.valueOf(nckd_sourcebillid);
+                QFilter filter = new QFilter("nckd_sourcebillid", QCP.equals,sourcebillid);
                 filter.and("nckd_ywlx", QCP.equals, "2");
                 DynamicObject[] bxDynamicObjects = BusinessDataServiceHelper.load(nckd_er_publicreimbur_ext,"id",new QFilter[] {filter});
                 if (bxDynamicObjects.length > 0) {
@@ -66,14 +65,14 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements
     @Override
     public void propertyChanged(PropertyChangedArgs e) {
         String fieldKey = e.getProperty().getName();
-//        if (StringUtils.equals("nckd_real_card", fieldKey)){
-//            ChangeData changeData = e.getChangeSet()[0];
-//            DynamicObjectCollection dynamicObjectCollection = (DynamicObjectCollection) changeData.getNewValue();
-//            DynamicObject dynamicObject = dynamicObjectCollection.get(0);
-//            String number = dynamicObject.getString("number");
-//            System.out.println(number);
-//        }
-        if (StringUtils.equals("nckd_apfinapbill", fieldKey)) {
+        if (StringUtils.equals("nckd_real_card", fieldKey)){
+            ChangeData changeData = e.getChangeSet()[0];
+            DynamicObjectCollection dynamicObjectCollection = (DynamicObjectCollection) changeData.getNewValue();
+            for(DynamicObject  object : dynamicObjectCollection) {
+                DynamicObject realcard = object.getDynamicObject("nckd_real_card");
+            }
+            DynamicObject dynamicObject = dynamicObjectCollection.get(0);
+        } else if (StringUtils.equals("nckd_apfinapbill", fieldKey)) {
             ChangeData changeData = e.getChangeSet()[0];
             DynamicObject dynamicObject = (DynamicObject) changeData.getNewValue();
             if (dynamicObject != null) {
@@ -82,20 +81,28 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements
                 QFilter filter = new QFilter("id", QCP.equals,id);
                 DynamicObject[] yfgzDynamicObjects = BusinessDataServiceHelper.load(nckd_ap_finapbill_gz,"id",new QFilter[] {filter});
                 DynamicObject gzInfo = BusinessDataServiceHelper.loadSingle(yfgzDynamicObjects[0].getPkValue(), yfgzDynamicObjects[0].getDynamicObjectType().getName());
-                String settlestatus = gzInfo.getString("settlestatus");
                 String billno = gzInfo.getString("billno");//单据编号
-                BigDecimal amount = gzInfo.getBigDecimal("amount");
-                DynamicObject department = gzInfo.getDynamicObject("department");//费用承担部门
-                DynamicObject payorg = gzInfo.getDynamicObject("payorg");//费用承担公司
-                //费用项目
-                //合同号
-                //往来单位
-
+                DynamicObject org = gzInfo.getDynamicObject("org");//结算组织
+                DynamicObject detailentry = gzInfo.getDynamicObjectCollection("detailentry").get(0);
+                DynamicObject expenseitem = detailentry.getDynamicObject("expenseitem");//费用项目
+                DynamicObject receivingsupplierid = gzInfo.getDynamicObject("receivingsupplierid");//供应商
+                Date bookdate = gzInfo.getDate("bookdate");
+                String remark = gzInfo.getString("remark");
+                BigDecimal pricetaxtotal = gzInfo.getBigDecimal("pricetaxtotal");
                 //给冲预付借款赋值
                 int rowIndex = this.getModel().createNewEntryRow("writeoffmoney");
-                this.getModel().setValue("curraccloanamount",amount,rowIndex);
-                this.getModel().setValue("sourceentrycostdept",department,rowIndex);
-                this.getModel().setValue("sourceentrycostcompany",payorg,rowIndex);
+
+                this.getModel().setValue("loanbillnov1",billno,rowIndex);
+                this.getModel().setValue("sourceentrycostdept",org,rowIndex);
+                this.getModel().setValue("sourceentrycostcompany",org,rowIndex);
+                this.getModel().setValue("sourceexpenseitem",expenseitem,rowIndex);
+                this.getModel().setValue("srcentrywlunit",receivingsupplierid,rowIndex);
+                this.getModel().setValue("loanapplydatev1",bookdate,rowIndex);
+                this.getModel().setValue("loandescriptionv1",remark,rowIndex);
+                this.getModel().setValue("loanamount",pricetaxtotal,rowIndex);
+                this.getModel().setValue("accloanamount",pricetaxtotal,rowIndex);
+                this.getModel().setValue("currloanamount",pricetaxtotal,rowIndex);
+                this.getModel().setValue("curraccloanamount",pricetaxtotal,rowIndex);
                 //刷新冲预付借款分录
                 this.getView().updateView("writeoffmoney");
             }