|
|
@@ -539,32 +539,53 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
|
|
|
@Override
|
|
|
public Object selectById(Integer id) {
|
|
|
OutExpenseAccount useEa = expenseAccountMapper.selectByid(id);
|
|
|
- List<ExpenseAccountExamine> list = expenseAccountExamineMapper.selectByEaidAndProcessStatus(id, useEa.getProcessStatus());
|
|
|
+ //判断当前角色是否审核
|
|
|
+ pushExpenseAccountGetExamine(useEa);
|
|
|
+
|
|
|
+ if (useEa.getDebitId()!=null){
|
|
|
+ pushExpenseAccountGetDebitAmount(useEa);
|
|
|
+
|
|
|
+ }
|
|
|
+ return useEa;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计算当前报销显示抵扣金额
|
|
|
+ * @param useEa
|
|
|
+ */
|
|
|
+ private void pushExpenseAccountGetDebitAmount(OutExpenseAccount useEa) {
|
|
|
+ ExpenseAccount debit = expenseAccountMapper.selectByPrimaryKey(useEa.getDebitId());
|
|
|
+ List<ExpenseAccount> list1 = expenseAccountMapper.selectByDebitId(useEa.getDebitId());
|
|
|
+ BigDecimal count =debit.getTotalAmount();
|
|
|
+ for (ExpenseAccount e : list1) {
|
|
|
+ if (!e.getId().equals(useEa.getId())){
|
|
|
+ count.subtract(e.getSettlementAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (count.compareTo(new BigDecimal(0))<0)count=new BigDecimal(0);
|
|
|
+ useEa.setDebitTotalAmount(count);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断角色是否已经审核
|
|
|
+ * @param useEa
|
|
|
+ */
|
|
|
+ private void pushExpenseAccountGetExamine(OutExpenseAccount useEa) {
|
|
|
+ List<ExpenseAccountExamine> list = expenseAccountExamineMapper.selectByEaidAndProcessStatus(useEa.getId(), useEa.getProcessStatus());
|
|
|
boolean flag=false;
|
|
|
for (ExpenseAccountExamine e : list) {
|
|
|
- if (e.getAuditor().equals(TokenManager.getAdminId())){
|
|
|
+ if (e.getAuditor().equals(TokenManager.getAdminId())){
|
|
|
+ if (e.getStatus()==0){
|
|
|
flag=true;
|
|
|
break;
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
if (flag){
|
|
|
useEa.setExamine(1);
|
|
|
}else {
|
|
|
useEa.setExamine(0);
|
|
|
}
|
|
|
- if (useEa.getDebitId()!=null){
|
|
|
- ExpenseAccount debit = expenseAccountMapper.selectByPrimaryKey(useEa.getDebitId());
|
|
|
- List<ExpenseAccount> list1 = expenseAccountMapper.selectByDebitId(useEa.getDebitId());
|
|
|
- BigDecimal count =debit.getTotalAmount();
|
|
|
- for (ExpenseAccount e : list1) {
|
|
|
- if (!e.getId().equals(id)){
|
|
|
- count.subtract(e.getSettlementAmount());
|
|
|
- }
|
|
|
- }
|
|
|
- if (count.compareTo(new BigDecimal(0))<0)count=new BigDecimal(0);
|
|
|
- useEa.setDebitTotalAmount(count);
|
|
|
- }
|
|
|
- return useEa;
|
|
|
}
|
|
|
|
|
|
@Override
|