LiFei пре 5 година
родитељ
комит
64034b48fd

+ 7 - 2
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgpayment/controller/HlgPaymentController.java

@@ -274,7 +274,7 @@ public class HlgPaymentController {
      * 导出excel
      *
      * @param request
-     * @param response
+     * @param
      */
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, HlgPayment hlgPayment) {
@@ -322,7 +322,12 @@ public class HlgPaymentController {
                     if (list.size() == 1) {
                         Map map = (Map) list.get(0);
                         if (map.size() == 1) {
-                            return Result.error(map.get("reason").toString());
+                            JSONArray jsonArray = new JSONArray(list);
+                            if( "60天内已存在相同笔数相同金额的付款".equals(map.get("reason").toString())){
+                                return Result.ok(jsonArray.toString());
+                            }else{
+                                return Result.error(jsonArray.toString());
+                            }
                         }
                     }
                     JSONArray jsonArray = new JSONArray(list);

+ 33 - 31
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgpayment/service/impl/HlgPaymentServiceImpl.java

@@ -604,37 +604,6 @@ public class HlgPaymentServiceImpl extends ServiceImpl<HlgPaymentMapper, HlgPaym
             set2.addAll(hlgPaymentDetailList);
             list3.removeAll(new ArrayList<>(set2));
             list3.removeAll(list1);
-            //定义导入付款总金额
-            Double money = 0.00;
-            for (int i = 0; i < hlgPaymentDetailList.size(); i++) {
-                money = businessAccountUtils.add(money, Double.parseDouble(hlgPaymentDetailList.get(i).getPayment()));
-            }
-
-            //查询60天内所有付款
-            List<HlgPayment> hlgPaymentList = baseMapper.findHlgPaymentList();
-            //遍历查询是否60内存在相同笔数和金额的付款
-            if (hlgPaymentList.size() > 0) {
-                for (int i = 0; i < hlgPaymentList.size(); i++) {
-                    List<HlgPaymentDetail> hlgPaymentDetailList1 = hlgPaymentDetailService.findHlgPaymentDetailListByPaymentId(hlgPaymentList.get(i).getId());
-                    if (hlgPaymentDetailList1.size() > 0) {
-                        if (hlgPaymentDetailList1.size() == hlgPaymentDetailList.size()) {
-                            Double money1 = 0.00;
-                            for (int j = 0; j < hlgPaymentDetailList1.size(); j++) {
-                                money1 = businessAccountUtils.add(money1, hlgPaymentDetailList1.get(j).getPayment());
-                                BigDecimal data1 = new BigDecimal(money);
-                                BigDecimal data2 = new BigDecimal(money1);
-                                //-1小于;0等于;1:大于
-                                if (data1.compareTo(data2) == 0) {
-                                    Map map2 = new HashMap();
-                                    map2.put("reason", "60天内已存在相同笔数相同金额的付款");
-                                    resultlist.add(map2);
-                                    return resultlist;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
 
             //循环遍历排查错误数据
             for (int j = 0; j < hlgPaymentDetailList.size(); j++) {
@@ -774,6 +743,39 @@ public class HlgPaymentServiceImpl extends ServiceImpl<HlgPaymentMapper, HlgPaym
                 }
             }
         }
+
+        //定义导入付款总金额
+        Double money = 0.00;
+        for (int i = 0; i < hlgPaymentDetailList.size(); i++) {
+            money = businessAccountUtils.add(money, Double.parseDouble(hlgPaymentDetailList.get(i).getPayment()));
+        }
+
+        //查询60天内所有付款
+        List<HlgPayment> hlgPaymentList = baseMapper.findHlgPaymentList();
+        //遍历查询是否60内存在相同笔数和金额的付款
+        if (hlgPaymentList.size() > 0) {
+            for (int i = 0; i < hlgPaymentList.size(); i++) {
+                List<HlgPaymentDetail> hlgPaymentDetailList1 = hlgPaymentDetailService.findHlgPaymentDetailListByPaymentId(hlgPaymentList.get(i).getId());
+                if (hlgPaymentDetailList1.size() > 0) {
+                    if (hlgPaymentDetailList1.size() == hlgPaymentDetailList.size()) {
+                        Double money1 = 0.00;
+                        for (int j = 0; j < hlgPaymentDetailList1.size(); j++) {
+                            money1 = businessAccountUtils.add(money1, hlgPaymentDetailList1.get(j).getPayment());
+                        }
+                        BigDecimal data1 = new BigDecimal(money);
+                        BigDecimal data2 = new BigDecimal(money1);
+                        //-1小于;0等于;1:大于
+                        if (data1.compareTo(data2) == 0) {
+                            Map map2 = new HashMap();
+                            map2.put("reason", "60天内已存在相同笔数相同金额的付款");
+                            map2.put("createTime", hlgPaymentList.get(i).getCreateTime());
+                            resultlist.add(map2);
+                        }
+                    }
+                }
+            }
+        }
+
         if (resultlist.size() == 0 && hlgPaymentDetailList.size() > 0) {
             savePayment(hlgPaymentDetailList, hlgPayment);
         }