|
|
@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.los.basic.corps.entity.BCorpsBank;
|
|
|
import org.springblade.los.basic.corps.service.IBCorpsBankService;
|
|
|
import org.springblade.los.basic.cur.entity.BCurrency;
|
|
|
@@ -31,9 +32,13 @@ import org.springblade.los.basic.reports.entity.Reports;
|
|
|
import org.springblade.los.basic.reports.mapper.ReportsMapper;
|
|
|
import org.springblade.los.basic.reports.service.IReportsService;
|
|
|
import org.springblade.los.basic.reports.vo.ReportsVO;
|
|
|
+import org.springblade.los.business.sea.dto.ContainersReports;
|
|
|
import org.springblade.los.business.sea.entity.Bills;
|
|
|
+import org.springblade.los.business.sea.entity.Containers;
|
|
|
+import org.springblade.los.business.sea.entity.PreContainers;
|
|
|
import org.springblade.los.business.sea.service.IBillsService;
|
|
|
-import org.springblade.los.business.sea.service.IContainersBillsService;
|
|
|
+import org.springblade.los.business.sea.service.IContainersService;
|
|
|
+import org.springblade.los.business.sea.service.IPreContainersService;
|
|
|
import org.springblade.los.finance.agreement.entity.AgreementPrice;
|
|
|
import org.springblade.los.finance.agreement.entity.AgreementPriceItems;
|
|
|
import org.springblade.los.finance.agreement.service.IAgreementPriceItemsService;
|
|
|
@@ -84,7 +89,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
private final IAgreementPriceItemsService agreementPriceItemsService;
|
|
|
|
|
|
- private final IContainersBillsService containersBillsService;
|
|
|
+ private final IContainersService containersService;
|
|
|
+
|
|
|
+ private final IPreContainersService preContainersService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -435,7 +442,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
Comparator.comparing(FeeCenterReports::getFeeCnName))), ArrayList::new));
|
|
|
for (FeeCenterReports fee : feeCenters) {
|
|
|
FeeCenterReports feeCenterReportsD = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && "D".equals(e.getDc()) )
|
|
|
+ .filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && "D".equals(e.getDc()))
|
|
|
.findFirst().orElse(null);
|
|
|
FeeCenterReports feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
.filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()) && "C".equals(e.getDc()))
|
|
|
@@ -468,6 +475,40 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ BigDecimal boxWeightSum = BigDecimal.ZERO;
|
|
|
+ List<ContainersReports> containersReportsList = new ArrayList<>();
|
|
|
+ List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getIsDeleted, 0)
|
|
|
+ .eq(Containers::getPid, bills.getId()));
|
|
|
+ List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PreContainers::getIsDeleted, 0)
|
|
|
+ .eq(PreContainers::getPid, bills.getId()));
|
|
|
+ if (containersList.size() > 0) {
|
|
|
+ boxWeightSum = boxWeightSum.add(containersList.get(0).getGrossWeight());
|
|
|
+ if (preContainersList.size() > 0) {
|
|
|
+ List<PreContainers> preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(containersList.get(0).getCntrTypeCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (preContainers.size() > 0) {
|
|
|
+ boxWeightSum = boxWeightSum.add(containersList.get(0).getGrossWeight());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bills.setBoxWeightSum(boxWeightSum);
|
|
|
+ for (Containers item : containersList) {
|
|
|
+ ContainersReports containersReports = new ContainersReports();
|
|
|
+ BeanUtil.copyProperties(item, containersReports);
|
|
|
+ if (preContainersList.size() > 0) {
|
|
|
+ List<PreContainers> preContainers = preContainersList.stream().filter(e -> e.getCntrTypeCode().equals(item.getCntrTypeCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (preContainers.size() > 0) {
|
|
|
+ containersReports.setBoxWeight(preContainers.get(0).getGrossWeight());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ containersReportsList.add(containersReports);
|
|
|
+ }
|
|
|
+ bills.setContainersReportsList(containersReportsList);
|
|
|
map.put("data", bills);
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
@@ -820,7 +861,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
if (billsList.size() > 0) {
|
|
|
Bills bills = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).findFirst().orElse(null);
|
|
|
if (bills != null) {
|
|
|
- finStlBillsItemsReports.setAmountProfit(bills.getAmountCrLoc().subtract(bills.getAmountDrLoc()));
|
|
|
+ finStlBillsItemsReports.setAmountProfit(bills.getAmountDrLoc().subtract(bills.getAmountCrLoc()));
|
|
|
}
|
|
|
} else {
|
|
|
finStlBillsItemsReports.setAmountProfit(new BigDecimal("0.00"));
|