Browse Source

报销详情修改

anderx 1 year ago
parent
commit
0fe1503cae

+ 14 - 25
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -1462,29 +1462,11 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                         }
                     }
                 }
-                List<OrderYearMaxDuration> yearMaxDurationList = orderYearMaxDurationMapper.selectByOrderNo(e.getOrderNo());
-                OrderYearMaxDuration useOyd = null;
-                for (int i = 0; i < yearMaxDurationList.size(); i++) {
-                    OrderYearMaxDuration oyd = yearMaxDurationList.get(i);
-                    //年份为0不是会员直接获取跳出循环,否则获取当前年份,获取不到获取最后一年
-                    if (oyd.getYear()==0){
-                        useOyd=oyd;
-                        break;
-                    }else {
-                        if (oyd.getYear().equals(year)){
-                            useOyd = oyd;
-                            break;
-                        }
-                        if(i==yearMaxDurationList.size()-1&&useOyd==null){
-                            useOyd = yearMaxDurationList.get(i);
-                        }
-                    }
 
-                }
                 //获取未归集的订单
                 List<BigDecimal> orderNoNotCountAmount = expenseAccountMapper.getOrderNoNotCountAmount(e.getOrderNo());
                 BigDecimal countAmount = orderNoNotCountAmount.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
-                String str = getString(e, out, count, yxyCount, zxsCount,qtCount,useOyd);
+                String str = getString(e, out, count, yxyCount, zxsCount,qtCount);
                 str=str+",未归集:"+countAmount.stripTrailingZeros().toPlainString()+"元";
                 orderList.add(str);
             }else if (e.getPrid() !=null){
@@ -1509,18 +1491,25 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     }
 
     private String getString(SonExpenseAccount e, TOrderPublicReleaseCount out, BigDecimal count, BigDecimal yxyCount,
-                             BigDecimal zxsCount, BigDecimal qtCount,OrderYearMaxDuration useOyd) {
+                             BigDecimal zxsCount, BigDecimal qtCount) {
         TOrderPublicReleaseCountBo bo = new TOrderPublicReleaseCountBo();
-        if (out==null||useOyd==null)return String.format("订单%s统计信息不存在,请要营销员先将订单派单。",e.getOrderNo());
+        if (out==null)return String.format("订单%s统计信息不存在,请要营销员先将订单派单。",e.getOrderNo());
         bo.setMaxDuration(out.getMaxDuration());
-        bo.setExceedDuration(useOyd.getMaxDuration().subtract(BigDecimal.valueOf(out.getActualDuration())).abs());
+        BigDecimal maxDuration = BigDecimal.valueOf(out.getMaxDuration());
+        bo.setExceedDuration(maxDuration.subtract(BigDecimal.valueOf(out.getActualDuration())).abs());
         bo.setActualDuration(out.getActualDuration());
         bo.setFrequency(out.getFrequency());
         bo.setPeopleCount(out.getPeopleCount());
-        String maxString=":应公出" + bo.getMaxDuration() +"小时["+useOyd.getYear()+"年]";
+        String maxString="";
         String actualString=",超过" + bo.getExceedDuration() + "小时,";
-        if (useOyd.getStatus()==1){
-            maxString=":不限制公出小时["+useOyd.getYear()+"年]";
+        if (out.getMaxType()==0){
+            maxString=":原则上不能公出";
+        }else if (out.getMaxType()==1){
+            maxString=":应公出" + bo.getMaxDuration() +"小时";
+        }else if (out.getMaxType()==2){
+            maxString=":无限制公出,预估" + bo.getMaxDuration() +"小时";
+        }
+        if (bo.getExceedDuration().compareTo(BigDecimal.ZERO) <1){
             actualString="";
         }
         StringBuilder expenseString=new StringBuilder().append("报销").append(count.stripTrailingZeros().toPlainString()).append("元");