提交 | 用户 | 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 |
} |