|
|
@@ -226,8 +226,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
|
|
|
//计算总金额
|
|
|
if (in.getTotalAmount()==null){
|
|
|
- in.setTotalAmount(expenseAccountDetailsMapper.selectAmountCountByEAid(in.getId()));
|
|
|
- in.setRealAmount(in.getTotalAmount());
|
|
|
+ pushExpenseAccountAmount(in);
|
|
|
}
|
|
|
in.setProcessStatus(0);
|
|
|
if (in.getOrderNo()==null){
|
|
|
@@ -248,12 +247,24 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
|
}
|
|
|
if (in.getSettlementAmount()==null)in.setSettlementAmount(useEA.getSettlementAmount());
|
|
|
- in.setAmount(in.getTotalAmount().subtract(in.getSettlementAmount()));
|
|
|
+ in.setAmount(in.getRealAmount().subtract(in.getSettlementAmount()));
|
|
|
in.setRealAmount(in.getAmount());
|
|
|
in.setStatus(0);
|
|
|
return expenseAccountMapper.updateByPrimaryKeySelective(in);
|
|
|
}
|
|
|
|
|
|
+ private void pushExpenseAccountAmount(ExpenseAccount in) {
|
|
|
+ List<OutExpenseAccountDetails> list = expenseAccountDetailsMapper.selectByEAid(in.getId());
|
|
|
+ BigDecimal totalAmount = BigDecimal.ZERO;
|
|
|
+ BigDecimal realAmount = BigDecimal.ZERO;
|
|
|
+ for (OutExpenseAccountDetails e : list) {
|
|
|
+ totalAmount=totalAmount.add(e.getAmount());
|
|
|
+ realAmount=realAmount.add(e.getRealAmount());
|
|
|
+ }
|
|
|
+ in.setTotalAmount(totalAmount);
|
|
|
+ in.setRealAmount(realAmount);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Object updateDebitId(InputExpenseAccount in) {
|
|
|
OutExpenseAccount useEA = expenseAccountMapper.selectByid(in.getId());
|
|
|
@@ -324,12 +335,21 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
|
in.setRealAmount(in.getAmount());
|
|
|
expenseAccountDetailsMapper.insertSelective(in);
|
|
|
+ ExpenseAccount ea =new ExpenseAccount();
|
|
|
+ ea.setId(in.getEaid());
|
|
|
+ pushExpenseAccountAmount(ea);
|
|
|
+ expenseAccountMapper.updateByPrimaryKeySelective(ea);
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public int deleteDetails(Integer id) {
|
|
|
- return expenseAccountDetailsMapper.deleteByPrimaryKey(id);
|
|
|
+ expenseAccountDetailsMapper.deleteByPrimaryKey(id);
|
|
|
+ ExpenseAccount ea =new ExpenseAccount();
|
|
|
+ ea.setId(id);
|
|
|
+ pushExpenseAccountAmount(ea);
|
|
|
+ expenseAccountMapper.updateByPrimaryKeySelective(ea);
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -697,10 +717,12 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
in.setEaaid(eaaid);
|
|
|
BigDecimal count = new BigDecimal(0);
|
|
|
BigDecimal amount = new BigDecimal(0);
|
|
|
+ BigDecimal realAmount = new BigDecimal(0);
|
|
|
List<String> typeList = new ArrayList<String>();
|
|
|
for (ExpenseAccount e : list) {
|
|
|
count=count.add(e.getTotalAmount());
|
|
|
amount=amount.add(e.getAmount());
|
|
|
+ realAmount=realAmount.add(e.getRealAmount());
|
|
|
StringBuffer types=new StringBuffer();
|
|
|
if (e.getType()!=0){
|
|
|
types=types.append(EATypes.getDescByCode(e.getType()));
|
|
|
@@ -719,7 +741,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
}
|
|
|
in.setTotalAmount(count);
|
|
|
in.setAmount(amount);
|
|
|
- in.setRealAmount(amount);
|
|
|
+ in.setRealAmount(realAmount);
|
|
|
in.setExpenseMain(1);
|
|
|
in.setTypeOther(String.join(",",typeList));
|
|
|
expenseAccountMapper.insertSelective(in);
|
|
|
@@ -779,6 +801,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
if (i !=null)
|
|
|
expenseAccountLogMapper.updateUseLogByUseId(in.getId(),i);
|
|
|
expenseAccountLogMapper.deleteByeaid(i);
|
|
|
+ expenseRelationshipMapper.deleteByPrimaryKey(i);
|
|
|
}
|
|
|
addExpenseAccountLogAndNoticEmail(outExpenseAccount,outExpenseAccount.getStatus(),"发起报销审核");
|
|
|
}else if (outExpenseAccount.getStatus()==3){
|