xinyb_
2022-02-17 6e94d52d0ce0c92c2169cdb19bc675ae08391a35
提交 | 用户 | age
74e060 1 package com.yc.MaintenanceFee.utils;
X 2
3 import com.yc.MaintenanceFee.entiy.*;
4 import java.util.ArrayList;
5 import java.util.List;
6 import java.util.stream.Collectors;
7
8 /**
9  * @USER: xinyb_
10  * @DATE: 2022-01-19 10:49
11  */
12 public class ReceiptUtils {
13
14     /**
15      * 组装对应客户未支付维护费用数据
16      *
17      * @param list
18      * @return
19      */
20     public static List<PayInfo> getList_T(List<PayItem> list) {
21         List<PayInfo> info = new ArrayList<>();
22         for (PayItem item : list) {
23             String docCode = item.getDocCode();
24             if (info.stream().filter(i -> i.getDocCode().equals(docCode)).count() == 0) {
25                 List<PayItem> m = list.stream().filter(s -> s.getDocCode().equals(docCode)).collect(Collectors.toList());
26                 if (m == null || m.size() == 0) {
27                     continue;
28                 }
29                 PayInfo payInfo = new PayInfo();
30                 payInfo.setDocCode(docCode);
31                 payInfo.setCltCode(item.getCltCode());
32                 payInfo.setCltName(item.getCltName());
33                 payInfo.setDocType(item.getDocType());
34                 payInfo.setDocDate(item.getDocDate());
35                 payInfo.setReceivMoney(item.getReceivMoney());
6e94d5 36                 payInfo.setIsPaid(item.getIsPaid());
74e060 37                 payInfo.setItemList(m);
X 38                 info.add(payInfo);
39             }
40         }
41         return info;
42     }
43
44     public static Receipt getReceipt(List<ReceiptEntity> R) {
45         if (R != null && R.size() > 0) {
46             return getReceipts(R).get(0);
47         }
48         return null;
49     }
50
51     public static List<Receipt> getReceipts(List<ReceiptEntity> R) {
52         List<Receipt> receipts = new ArrayList<>();
53         try {
54             if (R != null && R.size() > 0) {
55                 for (ReceiptEntity e : R) {
56                     String docCode = e.getDocCode();
57                     if (receipts.stream().filter(r -> r.getDocCode().equals(docCode)).count() == 0) {
58                         Receipt receipt = new Receipt();
59                         List<ReceiptEntity> r1 = R.stream().filter(s -> s.getDocCode().equals(docCode)).collect(Collectors.toList());
60                         receipt.setDocCode(docCode);
61                         receipt.setFormId(r1.get(0).getFormID());
62                         receipt.setDocDate(r1.get(0).getDocDate());
63                         receipt.setEnterDate(r1.get(0).getEnterDate());
64                         receipt.setDocType(r1.get(0).getDocType());
65                         receipt.setRefCode(r1.get(0).getRefCode());
66                         receipt.setCompanyName(r1.get(0).getCompanyName());
67                         receipt.setDocStatus(r1.get(0).getDocStatus());
68                         receipt.setCltCode(r1.get(0).getCltCode());
69                         receipt.setCltName(r1.get(0).getCltName());
70                         receipt.setHdMemo(r1.get(0).getHDMemo());
71                         receipt.setSumAmount(r1.get(0).getSumAmount());
72                         receipt.setSumNatAmount(r1.get(0).getSumNatAmount());
6e94d5 73                         receipt.setIsPaid(r1.get(0).getIsPaid());
74e060 74                         List<ReceiptDetailed> receiptDetailedList = new ArrayList<>();
X 75                         for (ReceiptEntity e1 : r1) {
76                             String whCode = e1.getSODocCode();
77                             if (receiptDetailedList.stream().filter(d -> d.getSODocCode().equals(whCode)).count() == 0) {
78                                 ReceiptDetailed receiptDetailed = new ReceiptDetailed();
79                                 List<ReceiptEntity> r2 = r1.stream().filter(f -> f.getSODocCode().equals(whCode)).collect(Collectors.toList());
80                                 receiptDetailed.setSODocCode(whCode);
81                                 receiptDetailed.setCltCode(r2.get(0).getCltCode());
82                                 receiptDetailed.setCltName(r2.get(0).getCltName());
83                                 receiptDetailed.setAmount(r2.get(0).getAmount());
84                                 receiptDetailed.setDocCode(r2.get(0).getDocCode());
85                                 receiptDetailed.setNatAmount(r2.get(0).getNatAmount());
86                                 receiptDetailed.setSOFormId(r2.get(0).getSOFormId());
87                                 List<PayItem> payItems = new ArrayList<>();
88                                 for (ReceiptEntity e2 : r2) {
89                                     PayItem payItem = new PayItem();
90                                     payItem.setMatName(e2.getMatName());
91                                     payItem.setTotalMoney(e2.getTotalMoney());
92                                     payItem.setDigit(e2.getDigit());
93                                     payItem.setFYbeginday(e2.getFYbeginday());
94                                     payItem.setFYendday(e2.getFYendday());
95                                     payItems.add(payItem);
96                                 }
97                                 receiptDetailed.setPayItem(payItems);
98                                 receiptDetailedList.add(receiptDetailed);
99                             }
100                         }
101                         receipt.setDetailed(receiptDetailedList);
102                         receipts.add(receipt);
103                     }
104                 }
105             }
106         } catch (Exception e) {
107             e.printStackTrace();
108         }
109         return receipts;
110     }
111 }