|
@@ -10,6 +10,8 @@ import kd.bos.form.IFormView;
|
|
import kd.bos.form.control.events.ItemClickEvent;
|
|
import kd.bos.form.control.events.ItemClickEvent;
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
|
|
+import kd.bos.orm.query.QFilter;
|
|
|
|
+import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.sdk.plugin.Plugin;
|
|
import kd.sdk.plugin.Plugin;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
@@ -33,9 +35,20 @@ public class DiscountBillFormPlugin extends AbstractFormPlugin implements Plugin
|
|
@Override
|
|
@Override
|
|
public void itemClick(ItemClickEvent evt) {
|
|
public void itemClick(ItemClickEvent evt) {
|
|
super.itemClick(evt);
|
|
super.itemClick(evt);
|
|
- //计算返利结果
|
|
|
|
|
|
+ //计算返利结果,根据返利类型进不同的计算方法
|
|
if("nckd_baritemap".equals(evt.getItemKey())) {
|
|
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();
|
|
IFormView view = this.getView();
|
|
//清空单据体
|
|
//清空单据体
|
|
model.deleteEntryData("entryentity");
|
|
model.deleteEntryData("entryentity");
|
|
|
|
+ model.deleteEntryData("nckd_entryentity");
|
|
//获取年度
|
|
//获取年度
|
|
int year = Integer.valueOf(model.getValue("nckd_year").toString());
|
|
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");
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|