徐昊 преди 10 месеца
родител
ревизия
260596eae6

+ 40 - 0
src/main/java/fi/em/editPlugin/BusinessProcessingEditPlugin.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 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.exception.KDBizException;
 import kd.bos.form.CloseCallBack;
 import kd.bos.form.FormShowParameter;
@@ -160,6 +162,9 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
                     if(cysfyxm!=null && !cysfyxm.isEmpty()){
                         this.getModel().setValue("nckd_cysfyxm", nckd_cysfyxm, rowIndex);
                     }
+                    String cysgzbalance = this.getModel().getValue("nckd_ysgzjehj").toString();
+                    BigDecimal bigDecimal = new BigDecimal(cysgzbalance);
+                    this.getModel().setValue("nckd_ysgzjehj",bigDecimal.add(settleamount),0);
                     } else if (btn_pzht.equals(controls)) {
                         //核算组织
                         String pzhtorg = reJo.getString("nckd_pzhtorg");
@@ -216,6 +221,9 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
                         if(nckdCyffyxm!=null && !nckdCyffyxm.isEmpty()){
                             this.getModel().setValue("nckd_cyffyxm", nckd_cyffyxm, rowIndex);
                         }
+                        String cysgzbalance = this.getModel().getValue("nckd_yfgzjehj").toString();
+                        BigDecimal bigDecimal = new BigDecimal(cysgzbalance);
+                        this.getModel().setValue("nckd_yfgzjehj",bigDecimal.add(settleamount),0);
                     }else if (btn_skskzh.equals(controls)) {
                         String nckd_bankaccount = reJo.getString("nckd_bankaccount");
                         String nckd_accountname = reJo.getString("nckd_accountname");
@@ -239,4 +247,36 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
             }
         }
     }
+ /*   @Override
+    public void propertyChanged(PropertyChangedArgs e) {
+        super.beforePropertyChanged(e);
+        String name = e.getProperty().getName();//获取字段标识
+        if ("nckd_skamount".equals(name)) {
+            ChangeData[] changeSet = e.getChangeSet();//获取值
+            for (ChangeData changeData : changeSet) {
+                String newValue = changeData.getNewValue().toString();
+                String oldValue =changeData.getOldValue().toString();
+                BigDecimal newValues = new BigDecimal(newValue);
+                BigDecimal oldValues = new BigDecimal(oldValue);
+                String skmxjehj = this.getModel().getValue("nckd_skmxjehj").toString();
+                BigDecimal bigDecimal = new BigDecimal(skmxjehj);
+                bigDecimal=bigDecimal.subtract(oldValues);
+                bigDecimal=bigDecimal.add(newValues);
+                this.getModel().setValue("nckd_skmxjehj", bigDecimal, 0);
+            }
+        } else if ("nckd_fkamount".equals(name)) {
+            ChangeData[] changeSet = e.getChangeSet();//获取值
+            for (ChangeData changeData : changeSet) {
+                String newValue = changeData.getNewValue().toString();
+                String oldValue =changeData.getOldValue().toString();
+                BigDecimal newValues = new BigDecimal(newValue);
+                BigDecimal oldValues = new BigDecimal(oldValue);
+                String skmxjehj = this.getModel().getValue("nckd_fkmxjehj").toString();
+                BigDecimal bigDecimal = new BigDecimal(skmxjehj);
+                bigDecimal=bigDecimal.subtract(oldValues);
+                bigDecimal=bigDecimal.add(newValues);
+                this.getModel().setValue("nckd_fkmxjehj", bigDecimal, 0);
+            }
+        }
+    }*/
 }

+ 2 - 2
src/main/java/fi/em/formPlugin/BusinessProcessingPlugin.java

@@ -105,7 +105,7 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
                 //应收挂账日期
                 Date bizdate = dynamicObject.getDate("bizdate");
                 //应收挂账金额/冲销金额
-                BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
+                BigDecimal settleamount = dynamicObject.getBigDecimal("unsettleamount");
                 for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("entry")) {
                     DynamicObject eMaterial = entryentity.getDynamicObject("e_material");//物料
                     DynamicObject eExpenseitem = entryentity.getDynamicObject("e_expenseitem");//费用项目
@@ -191,7 +191,7 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
                 //应收挂账日期
                 Date bizdate = dynamicObject.getDate("bizdate");
                 //应收挂账金额/冲销金额
-                BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
+                BigDecimal settleamount = dynamicObject.getBigDecimal("unsettleamount");
                 for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("detailentry")) {
                     DynamicObject material = entryentity.getDynamicObject("material");
                     String spectype = entryentity.getString("spectype");

+ 8 - 3
src/main/java/fi/em/formPlugin/YwclF7ListtenerFromPlugin.java

@@ -2,6 +2,8 @@ package fi.em.formPlugin;
 
 import kd.bos.bill.AbstractBillPlugIn;
 import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.datamodel.events.ChangeData;
+import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 import kd.bos.exception.KDBizException;
 import kd.bos.form.field.BasedataEdit;
 import kd.bos.form.field.events.BeforeF7SelectEvent;
@@ -40,9 +42,10 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
             this.getQFilter(beforeF7SelectEvent,nckd_skzhs);
         }
     }
-    private void getQFilter(BeforeF7SelectEvent arg0,String type) {
+
+    private void getQFilter(BeforeF7SelectEvent arg0, String type) {
         DynamicObject data = (DynamicObject)this.getModel().getValue(nckd_orgv) ;
-        if(type.equals(nckd_skzh)){      
+        if(type.equals(nckd_skzh)){
             DynamicObject skdata = (DynamicObject)this.getModel().getValue(nckd_orgv) ;
             if(skdata ==null){
                 throw new KDBizException("收款信息资金组织为空!");
@@ -51,7 +54,7 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
             QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
             data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
         } else if (type.equals(nckd_skzhs)) {
-            DynamicObject fkdata = (DynamicObject)this.getModel().getValue(nckd_orgv) ;
+            DynamicObject fkdata = (DynamicObject)this.getModel().getValue(nckd_orgvs) ;
             if(fkdata ==null){
                 throw new KDBizException("付款信息资金组织为空!");
             }
@@ -66,4 +69,6 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
         showParameter.getListFilterParameter().setFilter(filter);
     }
+
+
 }

+ 41 - 0
src/main/java/fi/em/opplugin/BusinessProcessingOpPlugin.java

@@ -0,0 +1,41 @@
+package fi.em.opplugin;
+
+import com.alibaba.fastjson.JSONObject;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
+import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
+import kd.bos.exception.KDBizException;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+
+import java.math.BigDecimal;
+
+public class BusinessProcessingOpPlugin extends AbstractOperationServicePlugIn {
+    @Override
+    public void beginOperationTransaction(BeginOperationTransactionArgs e) {
+        //获取当前操作单据数组
+        DynamicObject[] dynamicObjects = e.getDataEntities();
+        for (int i = 0; i < dynamicObjects.length; i++) {
+            JSONObject object = new JSONObject();
+            //当前单头数据包
+            DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName());
+            String detailtype = info.getString("nckd_detailtype");
+            if("A".equals(detailtype)){
+                BigDecimal nckdSkmxjehj = info.getBigDecimal("nckd_skmxjehj");
+                BigDecimal nckdYsgzjehj = info.getBigDecimal("nckd_ysgzjehj");
+                double latitudeDou = nckdSkmxjehj.doubleValue();
+                double latitudeDous = nckdYsgzjehj.doubleValue();
+                if(latitudeDou!=latitudeDous){
+                    throw new KDBizException("收款明细合计金额与应收挂账合计金额不一致!");
+                }
+            } else if ("B".equals(detailtype)) {
+                BigDecimal nckdFkmxjehj = info.getBigDecimal("nckd_fkmxjehj");
+                BigDecimal nckdYfgzjehj = info.getBigDecimal("nckd_yfgzjehj");
+                double latitudeDou = nckdFkmxjehj.doubleValue();
+                double latitudeDous = nckdYfgzjehj.doubleValue();
+                if(latitudeDou!=latitudeDous){
+                    throw new KDBizException("付款明细合计金额与应付挂账合计金额不一致!");
+                }
+            }
+        }
+    }
+}