|
|
@@ -184,29 +184,31 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
|
|
|
* 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);
|
|
|
+ if (othspendings.getOs_vendid() != null && othspendings.getOs_vendid() != 0) {
|
|
|
+ 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();
|
|
|
@@ -241,7 +243,6 @@ 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());
|
|
|
@@ -273,18 +274,22 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
|
|
|
* 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);
|
|
|
+ if (othspendings.getOs_vendid() != null && othspendings.getOs_vendid() != 0) {
|
|
|
+ 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);
|
|
|
+
|
|
|
+ subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
|
|
|
+ }
|
|
|
|
|
|
|
|
|
//计算期间金额
|