Browse Source

1.资金模块修改小bug

heqinwei 7 years ago
parent
commit
e4f1ffd0cf

+ 28 - 8
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java

@@ -104,14 +104,34 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
         Iterator isList = fundtransferdetailList.iterator();
         while (isList.hasNext()){
             Fundtransferdetail fundtransferdetail = (Fundtransferdetail) isList.next();
-            Double amount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_bankcode());
-            Double inamount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_inbankcode());
-
-            //中间表
-            banksubledgerMapper.updateBankcode(amount, fundtransferdetail.getFtd_nowbalance(),
-                    fundtransferdetail.getFtd_bankcode(), "-");
-            banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),
-                    fundtransferdetail.getFtd_bankcode(), "+");
+            Double amount = fundtransferdetail.getFtd_nowbalance();
+            //收款
+            Banksubledger banksubledger = new Banksubledger();
+            banksubledger.setCompanyId(BaseContextHolder.getCompanyId());
+            banksubledger.setBl_ym(fundtransferdetail.getFtd_ym());
+            banksubledger.setBl_bankid(fundtransferdetail.getFtd_inbankid());
+            banksubledger.setBl_bankcode(fundtransferdetail.getFtd_inbankcode());
+            banksubledger.setBl_bankname(fundtransferdetail.getFtd_inbankname());
+            banksubledger.setBl_code(fundtransfer.getFt_code());
+            banksubledger.setBl_kind("资金转账");
+            banksubledger.setBl_date(fundtransfer.getFt_date());
+            banksubledger.setBl_income(fundtransferdetail.getFtd_nowbalance());
+            banksubledger.setBl_remark(fundtransferdetail.getFtd_remark());
+            banksubledgerMapper.insertSelective(banksubledger);
+
+            //付款
+            Banksubledger banksubledger1 = new Banksubledger();
+            banksubledger1.setCompanyId(BaseContextHolder.getCompanyId());
+            banksubledger1.setBl_ym(fundtransferdetail.getFtd_ym());
+            banksubledger1.setBl_bankid(fundtransferdetail.getFtd_bankid());
+            banksubledger1.setBl_bankcode(fundtransferdetail.getFtd_bankcode());
+            banksubledger1.setBl_bankname(fundtransferdetail.getFtd_bankname());
+            banksubledger1.setBl_code(fundtransfer.getFt_code());
+            banksubledger1.setBl_kind("资金转账");
+            banksubledger1.setBl_date(fundtransfer.getFt_date());
+            banksubledger1.setBl_spending(fundtransferdetail.getFtd_nowbalance());
+            banksubledger1.setBl_remark(fundtransferdetail.getFtd_remark());
+            banksubledgerMapper.insertSelective(banksubledger1);
 
             //资金账号表
             int bk_id = fundtransferdetail.getFtd_bankid();

+ 56 - 6
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java

@@ -14,10 +14,7 @@ import com.usoftchina.saas.commons.po.BillCodeSeq;
 import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.exception.BizException;
-import com.usoftchina.saas.money.mapper.BanksubledgerMapper;
-import com.usoftchina.saas.money.mapper.OthreceiptsMapper;
-import com.usoftchina.saas.money.mapper.OthreceiptsdetailMapper;
-import com.usoftchina.saas.money.mapper.StatsinfoMapper;
+import com.usoftchina.saas.money.mapper.*;
 import com.usoftchina.saas.money.po.*;
 import com.usoftchina.saas.money.service.OthreceiptsService;
 import com.usoftchina.saas.page.PageRequest;
@@ -47,8 +44,14 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
     private StatsinfoMapper statsinfoMapper;
     @Autowired
     private MessageLogService messageLogService;
-//    @Autowired
-//    private CommonService commonService;
+    @Autowired
+    private CommonService commonService;
+    @Autowired
+    private BankinformationMapper bankinformationMapper;
+    @Autowired
+    private RecbalanceMapper recbalanceMapper;
+    @Autowired
+    private SubledgerMapper subledgerMapper;
 
     @Override
     public DocBaseDTO insert(Othte othte) {
@@ -111,8 +114,55 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
             Othreceiptsdetail othreceiptsdetail = (Othreceiptsdetail) isList.next();
             banksubledgerMapper.updateBankcode(amount, othreceiptsdetail.getOrd_nowbalance(),
                     othreceipts.getOr_bankcode(), "+");
+
         }
 
+        //资金账号表
+        int bk_inid = othreceipts.getOr_bankid();
+
+        Double or_amount = othreceipts.getOr_amount();
+        //收款
+        Bankinformation bankinformation = bankinformationMapper.selectByPrimaryKey(bk_inid);
+        Double beginamount = bankinformation.getBk_beginamount();
+        Double spending = bankinformation.getBk_spending() == null ? new Double(0) : bankinformation.getBk_spending();
+        Double incomme = bankinformation.getBk_income() == null ? new Double(0) : bankinformation.getBk_income();
+        bankinformation.setBk_thisamount(beginamount + incomme - spending + or_amount);
+        bankinformation.setBk_income(incomme + or_amount);
+        bankinformation.setBk_spending(spending);
+        bankinformationMapper.updateByPrimaryKeySelective(bankinformation);
+
+        //客户付款
+        /**
+         * 更新客户资料
+         * cu_preamount=nvl(cu_preamount,0)+rb_preamount,
+         * cu_recamount=nvl(cu_recamount,0)-rb_rbdamount,
+         * cu_leftamount=cu_beginaramount-cu_beginprerecamount+cu_recamount-cu_preamount;
+         */
+        Customer customerData = recbalanceMapper.selectCustomerByPrimaryKey(othreceipts.getOr_custid());
+        Double preamount = customerData.getCu_preamount()==null?new Double(0):customerData.getCu_preamount();
+        Double beginapamount = customerData.getCu_beginaramount()==null?new Double(0):customerData.getCu_beginaramount();
+        Double beginprepayamount= customerData.getCu_beginprerecamount()==null?new Double(0):customerData.getCu_beginprerecamount();
+        Double recamount = customerData.getCu_recamount()==null?new Double(0):customerData.getCu_recamount();
+
+        Customer customer = new Customer();
+        customer.setId(Long.valueOf(othreceipts.getOr_custid()));
+        customer.setCu_preamount(preamount);
+        customer.setCu_recamount(recamount-or_amount);
+        customer.setCu_leftamount(beginapamount-beginprepayamount+recamount-or_amount-preamount);
+        recbalanceMapper.updateCustomerByPrimaryKeySelective(customer);
+
+        //插入subledger中间表
+        Subledger subledger = new Subledger();
+        subledger.setSl_code(othreceipts.getOr_code());
+        subledger.setSl_kind("其他收入单");
+        subledger.setSl_custid(othreceipts.getOr_custid());
+        subledger.setSl_vendid(0);
+        subledger.setSl_date(othreceipts.getOr_date());
+        subledger.setSl_amount(or_amount);
+        subledger.setCompanyId(BaseContextHolder.getCompanyId());
+        subledgerMapper.insertSelective(subledger);
+
+
         //计算期间金额
         Statsinfo statsinfo = new Statsinfo();
         List<Integer> ymList = othreceiptsdetailMapper.selectYm(Math.toIntExact(id));

+ 82 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java

@@ -13,10 +13,7 @@ import com.usoftchina.saas.commons.po.BillCodeSeq;
 import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.exception.BizException;
-import com.usoftchina.saas.money.mapper.BanksubledgerMapper;
-import com.usoftchina.saas.money.mapper.OthspendingsMapper;
-import com.usoftchina.saas.money.mapper.OthspendingsdetailMapper;
-import com.usoftchina.saas.money.mapper.StatsinfoMapper;
+import com.usoftchina.saas.money.mapper.*;
 import com.usoftchina.saas.money.po.*;
 import com.usoftchina.saas.money.service.OthspendingsService;
 import com.usoftchina.saas.page.PageRequest;
@@ -45,6 +42,12 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
     private StatsinfoMapper statsinfoMapper;
     @Autowired
     private MessageLogService messageLogService;
+    @Autowired
+    private BankinformationMapper bankinformationMapper;
+    @Autowired
+    private SubledgerMapper subledgerMapper;
+    @Autowired
+    private PaybalanceMapper paybalanceMapper;
 
     @Override
     public DocBaseDTO insert(Othsp othsp) {
@@ -149,6 +152,48 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
                     othspendings.getOs_bankcode(), "+");
         }
 
+        //资金账号表
+        int bk_id = othspendings.getOs_bankid();
+
+        Double bk_amount = othspendings.getOs_amount();
+        //付款方
+        Bankinformation bankinformation = bankinformationMapper.selectByPrimaryKey(bk_id);
+        Double beginamount = bankinformation.getBk_beginamount();
+        Double spending = bankinformation.getBk_spending() == null ? new Double(0) : bankinformation.getBk_spending();
+        Double incomme = bankinformation.getBk_income() == null ? new Double(0) : bankinformation.getBk_income();
+        bankinformation.setBk_thisamount(beginamount + incomme - spending - bk_amount);
+        bankinformation.setBk_income(incomme);
+        bankinformation.setBk_spending(spending + bk_amount);
+
+        /**
+         * ve_preamount=nvl(ve_preamount,0)+pb_preamount,
+         * ve_payamount=nvl(ve_payamount,0)-pb_pbdamount,
+         * ve_leftamount=ve_beginapamount-ve_beginprepayamount+ve_payamount-ve_preamount;
+         */
+        Vendor vendorData = paybalanceMapper.selectVendorByPrimaryKey(othspendings.getOs_vendid());
+        Double preamount = vendorData.getVe_preamount()==null?new Double(0):vendorData.getVe_preamount();
+        Double beginapamount = vendorData.getVe_beginapamount()==null?new Double(0):vendorData.getVe_beginapamount();
+        Double beginprepayamount= vendorData.getVe_beginprepayamount()==null?new Double(0):vendorData.getVe_beginprepayamount();
+        Double payamount = vendorData.getVe_payamount()==null?new Double(0):vendorData.getVe_payamount();
+
+        Vendor vendor = new Vendor();
+        vendor.setId(Long.valueOf(othspendings.getOs_vendid()));
+        vendor.setVe_preamount(preamount);
+        vendor.setVe_payamount(payamount - bk_amount);
+        vendor.setVe_leftamount(beginapamount-beginprepayamount+payamount-bk_amount-preamount);
+        paybalanceMapper.updateVendorByPrimaryKeySelective(vendor);
+
+        //插入subledger中间表
+        Subledger subledger = new Subledger();
+        subledger.setSl_code(othspendings.getOs_code());
+        subledger.setSl_kind("其他支出单");
+        subledger.setSl_custid(0);
+        subledger.setSl_vendid(othspendings.getOs_vendid());
+        subledger.setSl_date(othspendings.getOs_date());
+        subledger.setSl_amount(bk_amount);
+        subledger.setCompanyId(BaseContextHolder.getCompanyId());
+        subledgerMapper.insertSelective(subledger);
+
         //计算期间金额
         Statsinfo statsinfo = new Statsinfo();
         List<Integer> ymList = othspendingsdetailMapper.selectYm(Math.toIntExact(id));
@@ -180,6 +225,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
         //删除中间表
         othspendings = othspendingsMapper.selectByPrimaryKey(id);
         banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他收入单");
+        subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
 
         //资金
         Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode());
@@ -192,6 +238,38 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
                     othspendings.getOs_bankcode(), "-");
         }
 
+        //资金账号表
+        int bk_id = othspendings.getOs_bankid();
+
+        Double bk_amount = othspendings.getOs_amount();
+        //付款方
+        Bankinformation bankinformation = bankinformationMapper.selectByPrimaryKey(bk_id);
+        Double beginamount = bankinformation.getBk_beginamount();
+        Double spending = bankinformation.getBk_spending() == null ? new Double(0) : bankinformation.getBk_spending();
+        Double incomme = bankinformation.getBk_income() == null ? new Double(0) : bankinformation.getBk_income();
+        bankinformation.setBk_thisamount(beginamount + incomme - spending - bk_amount);
+        bankinformation.setBk_income(incomme);
+        bankinformation.setBk_spending(spending + bk_amount);
+
+        /**
+         * ve_preamount=nvl(ve_preamount,0)+pb_preamount,
+         * ve_payamount=nvl(ve_payamount,0)-pb_pbdamount,
+         * ve_leftamount=ve_beginapamount-ve_beginprepayamount+ve_payamount-ve_preamount;
+         */
+        Vendor vendorData = paybalanceMapper.selectVendorByPrimaryKey(othspendings.getOs_vendid());
+        Double preamount = vendorData.getVe_preamount()==null?new Double(0):vendorData.getVe_preamount();
+        Double beginapamount = vendorData.getVe_beginapamount()==null?new Double(0):vendorData.getVe_beginapamount();
+        Double beginprepayamount= vendorData.getVe_beginprepayamount()==null?new Double(0):vendorData.getVe_beginprepayamount();
+        Double payamount = vendorData.getVe_payamount()==null?new Double(0):vendorData.getVe_payamount();
+
+        Vendor vendor = new Vendor();
+        vendor.setId(Long.valueOf(othspendings.getOs_vendid()));
+        vendor.setVe_preamount(preamount);
+        vendor.setVe_payamount(payamount + bk_amount);
+        vendor.setVe_leftamount(beginapamount+beginprepayamount-payamount+bk_amount+preamount);
+        paybalanceMapper.updateVendorByPrimaryKeySelective(vendor);
+
+
         //计算期间金额
         Statsinfo statsinfo = new Statsinfo();
         List<Integer> ymList = othspendingsdetailMapper.selectYm(id);

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

@@ -538,7 +538,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
             banksubledger.setBl_date(recbalance.getRb_date());
 
             if (recbalance.getRb_custid() == null || recbalance.getRb_custid() != 0){
-                banksubledger.setBl_asstype("供应商往来");
+                banksubledger.setBl_asstype("客户往来");
             }
             banksubledger.setBl_assid(recbalance.getRb_custid());
             banksubledger.setBl_asscode(recbalance.getRb_custcode());

+ 2 - 2
applications/money/money-server/src/main/resources/mapper/OthspendingsMapper.xml

@@ -33,8 +33,8 @@
   <sql id="Base_Column_List" >
     os_id, os_code, os_date, os_vendid, os_vendcode, os_vendname, os_bankid, os_bankcode, 
     os_bankname, os_amount, os_recorderid, os_recorder, os_recorddate, os_status, os_statuscode, 
-    os_remark, othspendingsdetail.companyId, othspendingsdetail.updaterId,
-    othspendingsdetail.updatedate, os_text1, os_text2, os_text3, os_text4,
+    os_remark, companyId, updaterId,
+    updatedate, os_text1, os_text2, os_text3, os_text4,
     os_text5
   </sql>
   <sql id="Detail_Column_List" >