|
|
@@ -464,107 +464,51 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
List<FeeCenterReports> feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
.filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
item.getFeeCenterList().stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
-
|
|
|
- if (feeCenterReportsD.size() > feeCenterReportsC.size()) {
|
|
|
- List<FeeCenterReports> feeCentersD = feeCenterReportsD.stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName()))), ArrayList::new));
|
|
|
- int count = 0;
|
|
|
- for (FeeCenterReports fee : feeCentersD) {
|
|
|
- FeeCenterReports feeCenterD = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.D.equals(e.getDc())
|
|
|
- && e.getBillCorpCnName().equals(fee.getBillCorpCnName())).findFirst().orElse(null);
|
|
|
- FeeCenterReports feeCenterC = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.C.equals(e.getDc())).findFirst().orElse(null);
|
|
|
- FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
- feeCenterReports1.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports1.setHblno(fee.getHblno());
|
|
|
- feeCenterReports1.setPid(fee.getPid());
|
|
|
- if (feeCenterD != null) {
|
|
|
- feeCenterReports1.setBillCorpCnName(feeCenterD.getBillCorpCnName());
|
|
|
- feeCenterReports1.setAmountD(feeCenterD.getAmountD());
|
|
|
- feeCenterReports1.setAmountLocD(feeCenterD.getAmountLocD());
|
|
|
- feeCenterReports1.setAmountUsdD(feeCenterD.getAmountUsdD());
|
|
|
- }
|
|
|
- if (feeCenterC != null && count < feeCenterReportsC.size()) {
|
|
|
- feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
- feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
- feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
- feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
- }
|
|
|
- feeCenterReports.add(feeCenterReports1);
|
|
|
- if (feeCenterC != null) {
|
|
|
- count++;
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (feeCenterReportsD.size() < feeCenterReportsC.size()) {
|
|
|
- List<FeeCenterReports> feeCentersC = feeCenterReportsC.stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName() + e.getCorpCnName()))), ArrayList::new));
|
|
|
- int count = 0;
|
|
|
- for (FeeCenterReports fee : feeCentersC) {
|
|
|
- FeeCenterReports feeCenterD = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.D.equals(e.getDc())).findFirst().orElse(null);
|
|
|
- FeeCenterReports feeCenterC = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.C.equals(e.getDc())
|
|
|
- && e.getCorpCnName().equals(fee.getCorpCnName())).findFirst().orElse(null);
|
|
|
- FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
- feeCenterReports1.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports1.setHblno(fee.getHblno());
|
|
|
- feeCenterReports1.setPid(fee.getPid());
|
|
|
- if (feeCenterD != null && count < feeCenterReportsD.size()) {
|
|
|
- feeCenterReports1.setBillCorpCnName(feeCenterD.getBillCorpCnName());
|
|
|
- feeCenterReports1.setAmountD(feeCenterD.getAmountD());
|
|
|
- feeCenterReports1.setAmountLocD(feeCenterD.getAmountLocD());
|
|
|
- feeCenterReports1.setAmountUsdD(feeCenterD.getAmountUsdD());
|
|
|
- }
|
|
|
- if (feeCenterC != null) {
|
|
|
- feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
- feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
- feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
- feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
- }
|
|
|
- feeCenterReports.add(feeCenterReports1);
|
|
|
- if (feeCenterD != null) {
|
|
|
- count++;
|
|
|
- }
|
|
|
+ List<FeeCenterReports> feeCentersD = feeCenterReportsD.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCentersC = feeCenterReportsC.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(e -> e.getFeeCnName() + e.getCorpCnName()))), ArrayList::new));
|
|
|
+ int countD = 0;
|
|
|
+ int countC = 0;
|
|
|
+ for (int i = 0; i < feeCentersD.size(); i++) {
|
|
|
+ FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
+ feeCenterReports1.setFeeCnName(feeCentersD.get(i).getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(feeCentersD.get(i).getHblno());
|
|
|
+ feeCenterReports1.setPid(feeCentersD.get(i).getPid());
|
|
|
+ int finalI = i;
|
|
|
+ FeeCenterReports feeCenterC = feeCenterReportsC.stream()
|
|
|
+ .filter(e -> e.getFeeCnName().equals(feeCentersD.get(finalI).getFeeCnName()) && !"1".equals(e.getMark())).findFirst().orElse(null);
|
|
|
+ feeCenterReports1.setBillCorpCnName(feeCentersD.get(i).getBillCorpCnName());
|
|
|
+ feeCenterReports1.setAmountD(feeCentersD.get(i).getAmountD());
|
|
|
+ feeCenterReports1.setAmountLocD(feeCentersD.get(i).getAmountLocD());
|
|
|
+ feeCenterReports1.setAmountUsdD(feeCentersD.get(i).getAmountUsdD());
|
|
|
+ if (feeCenterC != null) {
|
|
|
+ feeCenterC.setMark("1");
|
|
|
+ feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
+ feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
+ countC++;
|
|
|
}
|
|
|
- } else {
|
|
|
- List<FeeCenterReports> feeCenters = item.getFeeCenterList().stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName()))), ArrayList::new));
|
|
|
- List<FeeCenterReports> feeCentersD = item.getFeeCenterList().stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName()+ e.getBillCorpCnName()))), ArrayList::new));
|
|
|
- List<FeeCenterReports> feeCentersC = item.getFeeCenterList().stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName()+ e.getCorpCnName()))), ArrayList::new));
|
|
|
- for (FeeCenterReports fee : feeCenters) {
|
|
|
- FeeCenterReports feeCenterD = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.D.equals(e.getDc())).findFirst().orElse(null);
|
|
|
- FeeCenterReports feeCenterC = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.C.equals(e.getDc())
|
|
|
- && e.getCorpCnName().equals(fee.getCorpCnName())).findFirst().orElse(null);
|
|
|
+ feeCenterReports.add(feeCenterReports1);
|
|
|
+ }
|
|
|
+ if (countC < feeCenterReportsC.size()) {
|
|
|
+ List<String> corps = feeCenterReports.stream().map(FeeCenterReports::getCorpCnName).collect(Collectors.toList());
|
|
|
+ List<FeeCenterReports> feeCe = feeCenterReportsC.stream().filter(e -> !corps.contains(e.getCorpCnName())).collect(Collectors.toList());
|
|
|
+ for (FeeCenterReports i : feeCe) {
|
|
|
FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
- feeCenterReports1.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports1.setHblno(fee.getHblno());
|
|
|
- feeCenterReports1.setPid(fee.getPid());
|
|
|
- if (feeCenterD != null) {
|
|
|
- feeCenterReports1.setBillCorpCnName(feeCenterD.getBillCorpCnName());
|
|
|
- feeCenterReports1.setAmountD(feeCenterD.getAmountD());
|
|
|
- feeCenterReports1.setAmountLocD(feeCenterD.getAmountLocD());
|
|
|
- feeCenterReports1.setAmountUsdD(feeCenterD.getAmountUsdD());
|
|
|
- }
|
|
|
- if (feeCenterC != null) {
|
|
|
- feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
- feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
- feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
- feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
- }
|
|
|
+ feeCenterReports1.setFeeCnName(i.getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(i.getHblno());
|
|
|
+ feeCenterReports1.setPid(i.getPid());
|
|
|
+ feeCenterReports1.setCorpCnName(i.getCorpCnName());
|
|
|
+ feeCenterReports1.setAmountC(i.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(i.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(i.getAmountUsdC());
|
|
|
feeCenterReports.add(feeCenterReports1);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
item.setFeeCenterList(feeCenterReports);
|
|
|
}
|
|
|
}
|
|
|
@@ -3387,34 +3331,57 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
if (list.size() > 0) {
|
|
|
for (AeaBills item : list) {
|
|
|
List<FeeCenterReports> feeCenterReports = new ArrayList<>();
|
|
|
- List<FeeCenterReports> feeCenters = item.getFeeCenterList().stream()
|
|
|
+ List<FeeCenterReports> feeCenterReportsD = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
+ item.getFeeCenterList().stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ List<FeeCenterReports> feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
+ item.getFeeCenterList().stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ List<FeeCenterReports> feeCentersD = feeCenterReportsD.stream()
|
|
|
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(FeeCenterReports::getFeeCnName))), ArrayList::new));
|
|
|
- for (FeeCenterReports fee : feeCenters) {
|
|
|
- FeeCenterReports feeCenterReportsD = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.D.equals(e.getDc()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- FeeCenterReports feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && MagicValues.C.equals(e.getDc()))
|
|
|
- .findFirst().orElse(null);
|
|
|
+ Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCentersC = feeCenterReportsC.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(e -> e.getFeeCnName() + e.getCorpCnName()))), ArrayList::new));
|
|
|
+ int countD = 0;
|
|
|
+ int countC = 0;
|
|
|
+ for (int i = 0; i < feeCentersD.size(); i++) {
|
|
|
FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
- feeCenterReports1.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports1.setHblno(fee.getHblno());
|
|
|
- feeCenterReports1.setPid(fee.getPid());
|
|
|
- if (feeCenterReportsD != null) {
|
|
|
- feeCenterReports1.setBillCorpCnName(feeCenterReportsD.getBillCorpCnName());
|
|
|
- feeCenterReports1.setAmountD(feeCenterReportsD.getAmountD());
|
|
|
- feeCenterReports1.setAmountLocD(feeCenterReportsD.getAmountLocD());
|
|
|
- feeCenterReports1.setAmountUsdD(feeCenterReportsD.getAmountUsdD());
|
|
|
- }
|
|
|
- if (feeCenterReportsC != null) {
|
|
|
- feeCenterReports1.setCorpCnName(feeCenterReportsC.getCorpCnName());
|
|
|
- feeCenterReports1.setAmountC(feeCenterReportsC.getAmountC());
|
|
|
- feeCenterReports1.setAmountLocC(feeCenterReportsC.getAmountLocC());
|
|
|
- feeCenterReports1.setAmountUsdC(feeCenterReportsC.getAmountUsdC());
|
|
|
+ feeCenterReports1.setFeeCnName(feeCentersD.get(i).getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(feeCentersD.get(i).getHblno());
|
|
|
+ feeCenterReports1.setPid(feeCentersD.get(i).getPid());
|
|
|
+ int finalI = i;
|
|
|
+ FeeCenterReports feeCenterC = feeCenterReportsC.stream()
|
|
|
+ .filter(e -> e.getFeeCnName().equals(feeCentersD.get(finalI).getFeeCnName()) && !"1".equals(e.getMark())).findFirst().orElse(null);
|
|
|
+ feeCenterReports1.setBillCorpCnName(feeCentersD.get(i).getBillCorpCnName());
|
|
|
+ feeCenterReports1.setAmountD(feeCentersD.get(i).getAmountD());
|
|
|
+ feeCenterReports1.setAmountLocD(feeCentersD.get(i).getAmountLocD());
|
|
|
+ feeCenterReports1.setAmountUsdD(feeCentersD.get(i).getAmountUsdD());
|
|
|
+ if (feeCenterC != null) {
|
|
|
+ feeCenterC.setMark("1");
|
|
|
+ feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
+ feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
+ countC++;
|
|
|
}
|
|
|
feeCenterReports.add(feeCenterReports1);
|
|
|
}
|
|
|
+ if (countC < feeCenterReportsC.size()) {
|
|
|
+ List<String> corps = feeCenterReports.stream().map(FeeCenterReports::getCorpCnName).collect(Collectors.toList());
|
|
|
+ List<FeeCenterReports> feeCe = feeCenterReportsC.stream().filter(e -> !corps.contains(e.getCorpCnName())).collect(Collectors.toList());
|
|
|
+ for (FeeCenterReports i : feeCe) {
|
|
|
+ FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
+ feeCenterReports1.setFeeCnName(i.getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(i.getHblno());
|
|
|
+ feeCenterReports1.setPid(i.getPid());
|
|
|
+ feeCenterReports1.setCorpCnName(i.getCorpCnName());
|
|
|
+ feeCenterReports1.setAmountC(i.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(i.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(i.getAmountUsdC());
|
|
|
+ feeCenterReports.add(feeCenterReports1);
|
|
|
+ }
|
|
|
+ }
|
|
|
item.setFeeCenterList(feeCenterReports);
|
|
|
}
|
|
|
}
|