Parcourir la source

资金模块-调整逻辑

huangx il y a 7 ans
Parent
commit
e08698b828

+ 10 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Paybalance.java

@@ -61,6 +61,8 @@ public class Paybalance extends CommonBaseEntity implements Serializable {
 
     private String pb_text5;
 
+    private Double ve_leftamount;
+
     public Date getUpdatedate() {
         return updatedate;
     }
@@ -252,4 +254,12 @@ public class Paybalance extends CommonBaseEntity implements Serializable {
     public void setPb_text5(String pb_text5) {
         this.pb_text5 = pb_text5 == null ? null : pb_text5.trim();
     }
+
+    public Double getVe_leftamount() {
+        return ve_leftamount;
+    }
+
+    public void setVe_leftamount(Double ve_leftamount) {
+        this.ve_leftamount = ve_leftamount;
+    }
 }

+ 20 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Paybalancedetail.java

@@ -40,6 +40,10 @@ public class Paybalancedetail extends CommonBaseEntity implements Serializable {
     private String pbd_text5;
     private Date pb_date;
 
+    private Double sl_yamount;
+
+    private Double sl_namount;
+
     public Date getPb_date() {
         return pb_date;
     }
@@ -175,4 +179,20 @@ public class Paybalancedetail extends CommonBaseEntity implements Serializable {
     public void setPbd_text5(String pbd_text5) {
         this.pbd_text5 = pbd_text5;
     }
+
+    public Double getSl_yamount() {
+        return sl_yamount;
+    }
+
+    public void setSl_yamount(Double sl_yamount) {
+        this.sl_yamount = sl_yamount;
+    }
+
+    public Double getSl_namount() {
+        return sl_namount;
+    }
+
+    public void setSl_namount(Double sl_namount) {
+        this.sl_namount = sl_namount;
+    }
 }

+ 9 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Recbalance.java

@@ -61,6 +61,8 @@ public class Recbalance extends CommonBaseEntity implements Serializable {
 
     private String rb_text5;
 
+    private Double cu_leftamount;
+
     public Date getUpdatedate() {
         return updatedate;
     }
@@ -253,4 +255,11 @@ public class Recbalance extends CommonBaseEntity implements Serializable {
         this.rb_text5 = rb_text5 == null ? null : rb_text5.trim();
     }
 
+    public Double getCu_leftamount() {
+        return cu_leftamount;
+    }
+
+    public void setCu_leftamount(Double cu_leftamount) {
+        this.cu_leftamount = cu_leftamount;
+    }
 }

+ 19 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Recbalancedetail.java

@@ -39,6 +39,9 @@ public class Recbalancedetail extends CommonBaseEntity implements Serializable {
     private String rbd_text5;
     private Date rb_date;
 
+    private Double sl_yamount;
+
+    private Double sl_namount;
 
     public Date getRb_date() {
         return rb_date;
@@ -176,6 +179,22 @@ public class Recbalancedetail extends CommonBaseEntity implements Serializable {
         this.updatedate = updatedate;
     }
 
+    public Double getSl_yamount() {
+        return sl_yamount;
+    }
+
+    public void setSl_yamount(Double sl_yamount) {
+        this.sl_yamount = sl_yamount;
+    }
+
+    public Double getSl_namount() {
+        return sl_namount;
+    }
+
+    public void setSl_namount(Double sl_namount) {
+        this.sl_namount = sl_namount;
+    }
+
     @Override
     public String toString() {
         return "Recbalancedetail{" +

+ 16 - 5
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java

@@ -222,11 +222,13 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         vendor.setVe_leftamount(beginapamount-beginprepayamount+payamount-amountTotal2-preamount-amountTotal);
         paybalanceMapper.updateVendorByPrimaryKeySelective(vendor);
 
-        for (Paybalancedetail detail:paybalancedetail) {
-            Subledger subledger1 = new Subledger();
-            subledger1.setId(Long.valueOf(String.valueOf(detail.getPbd_slid())));
-            subledger1.setSl_yamount(detail.getPbd_nowbalance()+detail.getPbd_amount());
-            subledgerMapper.updateByPrimaryKeySelective(subledger1);
+        for (Paybalancedetail detail: paybalancedetail) {
+            Subledger newsubledger = new Subledger();
+            Subledger nowSubledger = subledgerMapper.selectByPrimaryKey(detail.getPbd_slid());
+            newsubledger.setId(Long.valueOf(String.valueOf(detail.getPbd_slid())));
+            newsubledger.setSl_yamount(detail.getPbd_nowbalance()+nowSubledger.getSl_yamount());//已核销
+            newsubledger.setSl_namount(nowSubledger.getSl_namount()-detail.getPbd_nowbalance());//未核销
+            subledgerMapper.updateByPrimaryKeySelective(newsubledger);
         }
     }
 
@@ -262,6 +264,15 @@ public class PaybalanceServiceImpl implements PaybalanceService {
             paybalanceMapper.updateBankByPrimaryKeySelective(bankinformation);
         }
 
+        List<Paybalancedetail> paybalancedetail = paybalancedetailMapper.selectByPrimaryKey(id);
+        for(Paybalancedetail detail: paybalancedetail) {
+            Subledger subledger1 = new Subledger();
+            Subledger nowSubledger = subledgerMapper.selectByPrimaryKey(detail.getPbd_slid());
+            subledger1.setId(Long.valueOf(String.valueOf(detail.getPbd_slid())));
+            subledger1.setSl_yamount(nowSubledger.getSl_namount()-detail.getPbd_nowbalance());//已核销
+            subledger1.setSl_namount(nowSubledger.getSl_namount()+detail.getPbd_nowbalance());//未核销
+            subledgerMapper.updateByPrimaryKeySelective(subledger1);
+        }
 
         Paybalance paybalance = new Paybalance();
         paybalance.setId(Long.valueOf(id));

+ 16 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java

@@ -244,16 +244,19 @@ public class RecbalanceServiceImpl implements RecbalanceService {
 
         Customer customer = new Customer();
         customer.setId(Long.valueOf(String.valueOf(recbalance.getRb_custid())));
+        customer.setId(Long.valueOf(String.valueOf(recbalance.getRb_custid())));
         customer.setCu_preamount(preamount+amountTotal);
         customer.setCu_recamount(recamount-amountTotal2);
         customer.setCu_leftamount(beginapamount-beginprepayamount+recamount-amountTotal2-preamount-amountTotal);
         recbalanceMapper.updateCustomerByPrimaryKeySelective(customer);
 
         //更新本次核销金额
-        for (Recbalancedetail detail:recbalancedetail) {
+        for (Recbalancedetail detail: recbalancedetail) {
             Subledger subledger1 = new Subledger();
+            Subledger nowSubledger = subledgerMapper.selectByPrimaryKey(detail.getRbd_slid());
             subledger1.setId(Long.valueOf(String.valueOf(detail.getRbd_slid())));
-            subledger1.setSl_yamount(detail.getRbd_nowbalance() - detail.getRbd_amount());
+            subledger1.setSl_yamount(detail.getRbd_nowbalance() + nowSubledger.getSl_yamount());//已核销
+            subledger1.setSl_namount(nowSubledger.getSl_namount() - detail.getRbd_nowbalance());//未核销
             subledgerMapper.updateByPrimaryKeySelective(subledger1);
         }
     }
@@ -301,6 +304,17 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         recbalance = recbalanceMapper.selectByPrimaryKey(id.intValue());
         subledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind());
         banksubledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind());
+
+        //更新源单数据
+        List<Recbalancedetail> recbalancedetail = recbalancedetailMapper.selectByPrimaryKey(Math.toIntExact(id));
+        for(Recbalancedetail detail: recbalancedetail) {
+            Subledger subledger1 = new Subledger();
+            Subledger nowSubledger = subledgerMapper.selectByPrimaryKey(detail.getRbd_slid());
+            subledger1.setId(Long.valueOf(String.valueOf(detail.getRbd_slid())));
+            subledger1.setSl_yamount(nowSubledger.getSl_yamount()-detail.getRbd_nowbalance());//已核销
+            subledger1.setSl_namount(nowSubledger.getSl_namount()+detail.getRbd_nowbalance());//未核销
+            subledgerMapper.updateByPrimaryKeySelective(subledger1);
+        }
     }
 
     public PageInfo<Recbalance> selectList(PageRequest page, ListReqDTO reqDTO) {

+ 10 - 6
applications/money/money-server/src/main/resources/mapper/PaybalanceMapper.xml

@@ -29,6 +29,7 @@
     <result column="pb_text3" jdbcType="VARCHAR" property="pb_text3" />
     <result column="pb_text4" jdbcType="VARCHAR" property="pb_text4" />
     <result column="pb_text5" jdbcType="VARCHAR" property="pb_text5" />
+    <result column="ve_leftamount" jdbcType="DOUBLE" property="ve_leftamount" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -91,19 +92,22 @@
   <sql id="Base_Column_List">
     pb_id, pb_code, pb_kind, pb_date, pb_vendid, pb_vendcode, pb_vendname, pb_manname, 
     pb_pdamount, pb_pbdamount, pb_preamount, pb_discounts, pb_havebalance, pb_recorderid, 
-    pb_recorder, pb_recorddate, pb_status, pb_statuscode, pb_remark, companyId, updaterId,
-    updatedate, pb_text1, pb_text2, pb_text3, pb_text4, pb_text5
+    pb_recorder, pb_recorddate, pb_status, pb_statuscode, pb_remark, paybalance.companyId,
+    paybalance.updaterId,paybalance.updatedate, pb_text1, pb_text2, pb_text3, pb_text4, pb_text5
+  </sql>
+  <sql id="left_Column_List">
+    ve_leftamount
   </sql>
   <select id="selectList" resultMap="BaseResultMap">
     select
     <include refid="Base_Column_List" />
     from paybalance
   </select>
-
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from paybalance
+    select
+    <include refid="Base_Column_List" />,
+    <include refid="left_Column_List" />
+    from paybalance left join vendor on ve_id=pb_vendid and vendor.companyId=paybalance.companyId
     where pb_id = #{id,jdbcType=INTEGER}
   </select>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">

+ 8 - 3
applications/money/money-server/src/main/resources/mapper/PaybalancedetailMapper.xml

@@ -25,13 +25,18 @@
   </resultMap>
   <sql id="Base_Column_List" >
     pbd_id, pbd_pbid, pbd_detno, pbd_ym, pbd_slid, pbd_slcode, pbd_slkind, pbd_sldate,
-    pbd_amount, pbd_nowbalance, pbd_remark, companyId, updaterId, updatedate, pbd_text1,
+    pbd_amount, pbd_nowbalance, pbd_remark, paybalancedetail.companyId, paybalancedetail.updaterId,
+    paybalancedetail.updatedate, pbd_text1,
     pbd_text2, pbd_text3, pbd_text4, pbd_text5
   </sql>
+  <sql id="subledger_Column_List" >
+    sl_yamount,sl_namount
+  </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select
-    <include refid="Base_Column_List" />
-    from paybalancedetail
+    <include refid="Base_Column_List" />,
+    <include refid="subledger_Column_List" />
+    from paybalancedetail left join subledger on sl_id=pbd_slid and subledger.companyid=paybalancedetail.companyId
     where pbd_pbid = #{id,jdbcType=INTEGER}
   </select>
   <delete id="deleteItem" parameterType="java.lang.Integer" >

+ 11 - 6
applications/money/money-server/src/main/resources/mapper/RecbalanceMapper.xml

@@ -29,6 +29,7 @@
     <result column="rb_text3" jdbcType="VARCHAR" property="rb_text3" />
     <result column="rb_text4" jdbcType="VARCHAR" property="rb_text4" />
     <result column="rb_text5" jdbcType="VARCHAR" property="rb_text5" />
+    <result column="cu_leftamount" jdbcType="DOUBLE" property="cu_leftamount" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -89,10 +90,13 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    rb_id, rb_code, rb_kind, rb_date, rb_custid, rb_custcode, rb_custname, rb_manname, 
-    rb_rdamount, rb_rbdamount, rb_preamount, rb_discounts, rb_havebalance, rb_recorderid, 
-    rb_recorder, rb_recorddate, rb_status, rb_statuscode, rb_remark, companyId, updaterId,
-    updatedate, rb_text1, rb_text2, rb_text3, rb_text4, rb_text5
+    rb_id, rb_code, rb_kind, rb_date, rb_custid, rb_custcode, rb_custname, rb_manname,
+    rb_rdamount, rb_rbdamount, rb_preamount, rb_discounts, rb_havebalance, rb_recorderid,
+    rb_recorder, rb_recorddate, rb_status, rb_statuscode, rb_remark, recbalance.companyId,
+    recbalance.updaterId,recbalance.updatedate, rb_text1, rb_text2, rb_text3, rb_text4, rb_text5
+  </sql>
+  <sql id="left_Column_List">
+    cu_leftamount
   </sql>
   <select id="selectByExample" parameterType="com.usoftchina.saas.money.po.RecbalanceExample" resultMap="BaseResultMap">
     select
@@ -110,8 +114,9 @@
   </select>
   <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
     select 
-    <include refid="Base_Column_List" />
-    from recbalance
+    <include refid="Base_Column_List" />,
+    <include refid="left_Column_List" />
+    from recbalance left join customer on cu_id=rb_custid and recbalance.companyId= customer.companyId
     where rb_id = #{id,jdbcType=INTEGER}
   </select>
 

+ 8 - 3
applications/money/money-server/src/main/resources/mapper/RecbalancedetailMapper.xml

@@ -25,13 +25,18 @@
   </resultMap>
   <sql id="Base_Column_List" >
     rbd_id, rbd_rbid, rbd_detno, rbd_ym, rbd_slid, rbd_slcode, rbd_slkind, rbd_sldate, 
-    rbd_amount, rbd_nowbalance, rbd_remark, companyId, updaterId, updatedate, rbd_text1,
+    rbd_amount, rbd_nowbalance, rbd_remark, recbalancedetail.companyId, recbalancedetail.updaterId,
+     recbalancedetail.updatedate, rbd_text1,
     rbd_text2, rbd_text3, rbd_text4, rbd_text5
   </sql>
+  <sql id="subledger_Column_List" >
+    sl_yamount,sl_namount
+  </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select 
-    <include refid="Base_Column_List" />
-    from recbalancedetail
+    <include refid="Base_Column_List" />,
+    <include refid="subledger_Column_List" />
+    from recbalancedetail left join subledger on sl_id=rbd_slid and subledger.companyid=recbalancedetail.companyId
     where rbd_rbid = #{id,jdbcType=INTEGER}
   </select>
   <delete id="deleteItem" parameterType="java.lang.Integer" >

+ 3 - 3
frontend/saas-web/app/view/money/payBalance/FormPanel.js

@@ -24,7 +24,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
     // _readUrl: 'http://192.168.253.35:8880/paybalance/read/',
     // _saveUrl: 'http://192.168.253.129:8940/money/paybalance/save/',
     // _auditUrl: 'http://192.168.253.35:8880/paybalance/audit/',
-    // _unAuditUrl: 'http://192.168.253.35Pb_pdamount:8880/paybalance/unAudit/',
+    // _unAuditUrl: 'http://192.168.253.35:8880/paybalance/unAudit/',
     // _deleteUrl: 'http://192.168.253.129:8940/money/paybalance/delete/',
     
     initId: 0,
@@ -261,7 +261,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
             summaryType: 'sum',
             summaryRenderer: function(v) {
                 var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length)).fill('0');
+                var xr = (new Array(arr[1].length<=4?arr[1].length:4)).fill('0');
                 var format = '0,000.' + xr.join();
                 return Ext.util.Format.number(v, format);
             }
@@ -283,7 +283,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
             summaryType: 'sum',
             summaryRenderer: function(v) {
                 var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length)).fill('0');
+                var xr = (new Array(arr[1].length<=4?arr[1].length:4)).fill('0');
                 var format = '0,000.' + xr.join();
                 return Ext.util.Format.number(v, format);
             }

+ 0 - 1
frontend/saas-web/app/view/money/payBalance/QueryPanel.js

@@ -36,7 +36,6 @@ Ext.define('saas.view.money.paybalance.QueryPanel', {
         addXtype: 'money-paybalance-formpanel',
         defaultCondition:'1=1',
         baseVastUrl: '/api/money/paybalance/',
-        // baseVastUrl: 'http://192.168.253.129:8881/paybalance/',
         baseColumn: [{
             text: 'id',
             dataIndex: 'id',

+ 4 - 3
frontend/saas-web/app/view/money/recBalance/FormPanel.js

@@ -23,6 +23,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
     _deleteUrl: '/api/money/recbalance/delete/',
 
     // _saveUrl: 'http://192.168.253.35:8880/recbalance/save/',
+    // _readUrl: 'http://192.168.253.35:8880/recbalance/read/',
     // _auditUrl: 'http://192.168.253.35:8880/recbalance/audit/',
     // _unAuditUrl: 'http://192.168.253.35:8880/recbalance/unAudit/',
 
@@ -54,7 +55,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
         allowBlank : false
     }, {
         xtype: "numberfield",
-        name: "rb_rdamount",
+        name: "cu_leftamount",
         fieldLabel: "总欠款",
         readOnly: true
     }, {
@@ -261,7 +262,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
             summaryType: 'sum',
             summaryRenderer: function(v) {
                 var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length)).fill('0');
+                var xr = (new Array(arr[1].length<=4?arr[1].length:4)).fill('0');
                 var format = '0,000.' + xr.join();
                 return Ext.util.Format.number(v, format);
             }
@@ -271,7 +272,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
             dataIndex: "sl_namount",
             renderer : function(v) {
                 var arr = (v + '.').split('.');
-                var xr = (new Array(arr[1].length)).fill('0');
+                var xr = (new Array(arr[1].length<=4?arr[1].length:4)).fill('0');
                 var format = '0,000.' + xr.join();
                 return Ext.util.Format.number(v, format);
             },

+ 1 - 1
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -20,7 +20,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                         },{
                             from:'cu_name', to:'rb_custname'
                         },{
-                            from:'cu_leftamount', to:'rb_rdamount'
+                            from:'cu_leftamount', to:'cu_leftamount'
                         }],
                         //联想设置
                         dbtpls:[{