|
@@ -11,9 +11,7 @@ import com.usoftchina.saas.commons.po.BillCodeSeq;
|
|
|
import com.usoftchina.saas.commons.po.Status;
|
|
import com.usoftchina.saas.commons.po.Status;
|
|
|
import com.usoftchina.saas.context.BaseContextHolder;
|
|
import com.usoftchina.saas.context.BaseContextHolder;
|
|
|
import com.usoftchina.saas.exception.BizException;
|
|
import com.usoftchina.saas.exception.BizException;
|
|
|
-import com.usoftchina.saas.money.mapper.BanksubledgerMapper;
|
|
|
|
|
-import com.usoftchina.saas.money.mapper.FundtransferMapper;
|
|
|
|
|
-import com.usoftchina.saas.money.mapper.FundtransferdetailMapper;
|
|
|
|
|
|
|
+import com.usoftchina.saas.money.mapper.*;
|
|
|
import com.usoftchina.saas.money.po.*;
|
|
import com.usoftchina.saas.money.po.*;
|
|
|
import com.usoftchina.saas.money.service.FundtransferService;
|
|
import com.usoftchina.saas.money.service.FundtransferService;
|
|
|
import com.usoftchina.saas.page.PageRequest;
|
|
import com.usoftchina.saas.page.PageRequest;
|
|
@@ -38,6 +36,8 @@ public class FundtransferServiceImpl implements FundtransferService {
|
|
|
private MaxnumberService maxnumberService;
|
|
private MaxnumberService maxnumberService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private BanksubledgerMapper banksubledgerMapper;
|
|
private BanksubledgerMapper banksubledgerMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private PaybalanceMapper paybalanceMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public DocBaseDTO insert(Fundtran fundtran) {
|
|
public DocBaseDTO insert(Fundtran fundtran) {
|
|
@@ -101,17 +101,32 @@ public class FundtransferServiceImpl implements FundtransferService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //取从表金额
|
|
|
|
|
|
|
+ //取从表金额更新中间表、资金账号表
|
|
|
List<Fundtransferdetail> fundtransferdetailList = fundtran.getItems();
|
|
List<Fundtransferdetail> fundtransferdetailList = fundtran.getItems();
|
|
|
Iterator isList = fundtransferdetailList.iterator();
|
|
Iterator isList = fundtransferdetailList.iterator();
|
|
|
while (isList.hasNext()){
|
|
while (isList.hasNext()){
|
|
|
Fundtransferdetail fundtransferdetail = (Fundtransferdetail) isList.next();
|
|
Fundtransferdetail fundtransferdetail = (Fundtransferdetail) isList.next();
|
|
|
Double amount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_bankcode());
|
|
Double amount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_bankcode());
|
|
|
Double inamount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_inbankcode());
|
|
Double inamount = banksubledgerMapper.selectThisamount(fundtransferdetail.getFtd_inbankcode());
|
|
|
|
|
+
|
|
|
|
|
+ //中间表
|
|
|
banksubledgerMapper.updateBankcode(amount, fundtransferdetail.getFtd_nowbalance(),
|
|
banksubledgerMapper.updateBankcode(amount, fundtransferdetail.getFtd_nowbalance(),
|
|
|
fundtransferdetail.getFtd_bankcode(), "-");
|
|
fundtransferdetail.getFtd_bankcode(), "-");
|
|
|
banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),
|
|
banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),
|
|
|
fundtransferdetail.getFtd_bankcode(), "+");
|
|
fundtransferdetail.getFtd_bankcode(), "+");
|
|
|
|
|
+
|
|
|
|
|
+ //资金账号表
|
|
|
|
|
+ int bk_id = fundtransferdetail.getFtd_bankid();
|
|
|
|
|
+ int bk_inid = fundtransferdetail.getFtd_inbankid();
|
|
|
|
|
+ Double bk_amount = paybalanceMapper.selectThisamount(bk_id) == null ? new Double(0) : paybalanceMapper.selectThisamount(bk_id);
|
|
|
|
|
+ Double bk_inamount = paybalanceMapper.selectThisamount(bk_inid) == null ? new Double(0) : paybalanceMapper.selectThisamount(bk_inid);
|
|
|
|
|
+
|
|
|
|
|
+ Double thisamount = bk_amount - fundtransferdetail.getFtd_nowbalance();
|
|
|
|
|
+ if (thisamount < 0){
|
|
|
|
|
+ throw new BizException(500, BizExceptionCode.BANK_AMOUNT_NOTENOUGH.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ paybalanceMapper.updateBankAmount(thisamount, bk_id);
|
|
|
|
|
+ paybalanceMapper.updateBankAmount(bk_inamount + fundtransferdetail.getFtd_nowbalance(), bk_inid);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -139,6 +154,14 @@ public class FundtransferServiceImpl implements FundtransferService {
|
|
|
fundtransferdetail.getFtd_bankcode(), "+");
|
|
fundtransferdetail.getFtd_bankcode(), "+");
|
|
|
banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),
|
|
banksubledgerMapper.updateBankcode(inamount, fundtransferdetail.getFtd_nowbalance(),
|
|
|
fundtransferdetail.getFtd_bankcode(), "-");
|
|
fundtransferdetail.getFtd_bankcode(), "-");
|
|
|
|
|
+
|
|
|
|
|
+ //资金账号表
|
|
|
|
|
+ int bk_id = fundtransferdetail.getFtd_bankid();
|
|
|
|
|
+ int bk_inid = fundtransferdetail.getFtd_inbankid();
|
|
|
|
|
+ Double bk_amount = paybalanceMapper.selectThisamount(bk_id) == null ? new Double(0) : paybalanceMapper.selectThisamount(bk_id);
|
|
|
|
|
+ Double bk_inamount = paybalanceMapper.selectThisamount(bk_inid) == null ? new Double(0) : paybalanceMapper.selectThisamount(bk_inid);
|
|
|
|
|
+ paybalanceMapper.updateBankAmount(bk_amount + fundtransferdetail.getFtd_nowbalance(), bk_id);
|
|
|
|
|
+ paybalanceMapper.updateBankAmount(bk_inamount - fundtransferdetail.getFtd_nowbalance(), bk_inid);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|