Преглед изворни кода

差旅报销单条线分录添加复制功能

wanwei пре 5 месеци
родитељ
комит
5428948fe3
1 измењених фајлова са 30 додато и 1 уклоњено
  1. 30 1
      src/main/java/fi/er/formPlugin/TripreimbursePlugin.java

+ 30 - 1
src/main/java/fi/er/formPlugin/TripreimbursePlugin.java

@@ -1,16 +1,21 @@
 package fi.er.formPlugin;
 package fi.er.formPlugin;
 
 
 import com.alibaba.druid.util.StringUtils;
 import com.alibaba.druid.util.StringUtils;
+import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
 import kd.bos.entity.datamodel.events.ChangeData;
 import kd.bos.entity.datamodel.events.ChangeData;
 import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 import kd.bos.entity.datamodel.events.PropertyChangedArgs;
+import kd.bos.form.control.EntryGrid;
+import kd.bos.form.events.AfterDoOperationEventArgs;
 import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.sdk.plugin.Plugin;
+
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Date;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
 
 
-public class TripreimbursePlugin extends AbstractFormPlugin {
+public class TripreimbursePlugin extends AbstractFormPlugin implements Plugin {
     @Override
     @Override
     public void propertyChanged(PropertyChangedArgs e) {
     public void propertyChanged(PropertyChangedArgs e) {
         String fieldKey = e.getProperty().getName();
         String fieldKey = e.getProperty().getName();
@@ -87,4 +92,28 @@ public class TripreimbursePlugin extends AbstractFormPlugin {
             }
             }
         }
         }
     }
     }
+
+    @Override
+    public void afterDoOperation(AfterDoOperationEventArgs e) {
+        String operateKey = e.getOperateKey();
+        if ("nckd_copy".equals(e.getOperateKey())) {
+            EntryGrid entryGrid = this.getControl("nckd_invoiceandexpense");
+            int[] selectRows = entryGrid.getSelectRows();
+            if (selectRows != null) {
+                int index = selectRows[0];
+                DynamicObjectCollection nckd_invoiceandexpense = this.getModel().getEntryEntity("nckd_invoiceandexpense");
+                DynamicObject entry = nckd_invoiceandexpense.get(index);
+                DynamicObject nckd_basedatafield = entry.getDynamicObject("nckd_basedatafield");
+                DynamicObject nckd_basedatafield1 = entry.getDynamicObject("nckd_basedatafield1");
+                BigDecimal nckd_decimalfield = entry.getBigDecimal("nckd_decimalfield");
+                BigDecimal nckd_amountfield3 = entry.getBigDecimal("nckd_amountfield3");
+                int rowIndex = this.getModel().createNewEntryRow("nckd_invoiceandexpense");
+                this.getModel().setValue("nckd_basedatafield", nckd_basedatafield, rowIndex);
+                this.getModel().setValue("nckd_basedatafield1", nckd_basedatafield1, rowIndex);
+                this.getModel().setValue("nckd_decimalfield", nckd_decimalfield, rowIndex);
+                this.getModel().setValue("nckd_amountfield3", nckd_amountfield3, rowIndex);
+                this.getView().updateView("nckd_invoiceandexpense");
+            }
+        }
+    }
 }
 }