Tyx há 5 dias atrás
pai
commit
7ff3334a0f

+ 46 - 4
code/wnq/nckd-wnq01-wnq-scm/src/main/java/nckd/wnq01/wnq/scm/plugin/form/DiscountBillFormPlugin.java

@@ -10,6 +10,8 @@ import kd.bos.form.IFormView;
 import kd.bos.form.control.events.ItemClickEvent;
 import kd.bos.form.plugin.AbstractFormPlugin;
 import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.sdk.plugin.Plugin;
 
 import java.math.BigDecimal;
@@ -33,9 +35,20 @@ public class DiscountBillFormPlugin extends AbstractFormPlugin implements Plugin
     @Override
     public void itemClick(ItemClickEvent evt) {
         super.itemClick(evt);
-        //计算返利结果
+        //计算返利结果,根据返利类型进不同的计算方法
         if("nckd_baritemap".equals(evt.getItemKey())) {
-            calculate();
+            Object rebateTypeVal = this.getModel().getValue("nckd_rebatetype");
+            if(rebateTypeVal == null) {
+                this.getView().showMessage("请先选择返利类型!");
+            }
+            else {
+                String rebateType = this.getModel().getValue("nckd_rebatetype").toString();
+                if (rebateType.equals("1")) {
+                    calculate();
+                } else if (rebateType.equals("2")) {
+                    calculateFWF();
+                }
+            }
         }
     }
 
@@ -52,6 +65,7 @@ public class DiscountBillFormPlugin extends AbstractFormPlugin implements Plugin
         IFormView view = this.getView();
         //清空单据体
         model.deleteEntryData("entryentity");
+        model.deleteEntryData("nckd_entryentity");
         //获取年度
         int year = Integer.valueOf(model.getValue("nckd_year").toString());
         //获取季度
@@ -139,9 +153,37 @@ public class DiscountBillFormPlugin extends AbstractFormPlugin implements Plugin
 
 
     /**
-     * 计算服务费
+     * 计算服务费,直接从nckd_tempimport里面取数据
      */
-    public void calculateFWF() {}
+    public void calculateFWF() {
+
+        IDataModel model = this.getModel();
+        IFormView view = this.getView();
+        //清空单据体
+        model.deleteEntryData("entryentity");
+        model.deleteEntryData("nckd_entryentity");
+        String selectFields = "entryentity.nckd_fcustomer,entryentity.nckd_factualrate,entryentity.nckd_fexrate," +
+                "entryentity.nckd_famount,entryentity.nckd_scustomer,entryentity.nckd_scompleteqty,entryentity.nckd_xsbl," +
+                "entryentity.nckd_fwfjs,entryentity.nckd_smateriel,entryentity.nckd_yhsl,entryentity.nckd_yhje";
+        QFilter filter = new QFilter("billno", QCP.equals, "001");
+        DynamicObject[] cols = BusinessDataServiceHelper.load("nckd_tempimport", selectFields, new QFilter[]{filter});
+        DynamicObject bill = cols[0];
+        for(DynamicObject data : bill.getDynamicObjectCollection("entryentity")) {
+            int rowIndex = model.createNewEntryRow("nckd_entryentity");
+            model.setValue("nckd_fcustomer",data.getLong("nckd_fcustomer.id"), rowIndex);
+            model.setValue("nckd_factualrate",data.getBigDecimal("nckd_factualrate"), rowIndex);
+            model.setValue("nckd_fexrate",data.getBigDecimal("nckd_fexrate"), rowIndex);
+            model.setValue("nckd_famount",data.getBigDecimal("nckd_famount"), rowIndex);
+            model.setValue("nckd_scustomer",data.getLong("nckd_scustomer.id"), rowIndex);
+            model.setValue("nckd_scompleteqty",data.getBigDecimal("nckd_scompleteqty"), rowIndex);
+            model.setValue("nckd_xsbl",data.getBigDecimal("nckd_xsbl"), rowIndex);
+            model.setValue("nckd_fwfjs",data.getBigDecimal("nckd_fwfjs"), rowIndex);
+            model.setValue("nckd_smateriel",data.getLong("nckd_smateriel.id"), rowIndex);
+            model.setValue("nckd_yhsl",data.getBigDecimal("nckd_yhsl"), rowIndex);
+            model.setValue("nckd_yhje",data.getBigDecimal("nckd_yhje"), rowIndex);
+        }
+        view.updateView("nckd_entryentity");
+    }