|
|
@@ -23,6 +23,8 @@ 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.los.basic.corps.entity.BCorpsBank;
|
|
|
+import org.springblade.los.basic.corps.service.IBCorpsBankService;
|
|
|
import org.springblade.los.basic.cur.entity.BCurrency;
|
|
|
import org.springblade.los.basic.cur.service.IBCurrencyService;
|
|
|
import org.springblade.los.basic.reports.entity.Reports;
|
|
|
@@ -55,6 +57,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
private final IBillsService billsService;
|
|
|
|
|
|
+ private final IBCorpsBankService bankService;
|
|
|
+
|
|
|
private final IFeeCenterService feeCenterService;
|
|
|
|
|
|
private final IBCurrencyService ibCurrencyService;
|
|
|
@@ -91,21 +95,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
public R getReportData(String billId, String reportCode, String groupCode, String corpIds,
|
|
|
String itemIds) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- Reports reports = baseMapper.selectOne(new LambdaQueryWrapper<Reports>()
|
|
|
- .eq(Reports::getCode, reportCode)
|
|
|
- .eq(Reports::getGroupCode, groupCode)
|
|
|
- .eq(Reports::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Reports::getIsDeleted, 0)
|
|
|
- .eq(Reports::getStatus, 0));
|
|
|
- if (reports == null) {
|
|
|
- return R.data(map);
|
|
|
- }
|
|
|
BCurrency bCurrency = ibCurrencyService.getOne(new LambdaQueryWrapper<BCurrency>()
|
|
|
.eq(BCurrency::getStatus, 0)
|
|
|
.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(BCurrency::getIsDeleted, 0)
|
|
|
.eq(BCurrency::getCode, "USD"));
|
|
|
- if ("FYSH".equals(reports.getCode())) {
|
|
|
+ if ("业务".equals(reportCode) && "销售报告".equals(groupCode)) {
|
|
|
List<Bills> list = new ArrayList<>();
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
@@ -272,7 +267,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
list.add(0, bills);
|
|
|
}
|
|
|
map.put("data", list);
|
|
|
- } else if ("PCTZD".equals(reports.getCode())) {
|
|
|
+ } else if ("单证".equals(reportCode) && "派车通知单".equals(groupCode)) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -281,7 +276,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("RHTZ".equals(reports.getCode())) {
|
|
|
+ } else if ("单证".equals(reportCode) && "入货通知".equals(groupCode)) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -290,7 +285,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("FYYS".equals(reports.getCode())) {
|
|
|
+ } else if ("费用".equals(reportCode) && "应收".equals(groupCode)) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -323,14 +318,47 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
.eq(FeeCenter::getDc, "D")
|
|
|
.apply("find_in_set(id,'" + itemIds + "')")
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ } else {
|
|
|
+ feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(FeeCenter::getPid, ids)
|
|
|
+ .eq(FeeCenter::getDc, "D")
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(item.getPid());
|
|
|
+ feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
|
|
|
+ feeCenterReports.setFeeCnName(item.getFeeCnName());
|
|
|
+ if ("CNY".equals(item.getCurCode())) {
|
|
|
+ feeCenterReports.setAmountD(item.getAmount());
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setAmountUsdD(item.getAmount());
|
|
|
}
|
|
|
+ feeCenterReports.setAmountLocD(item.getAmountLoc());
|
|
|
+ feeCenterReports.setHblno(item.getHblno());
|
|
|
+ feeCenterReports.setAmount(item.getQuantity() + "*" + item.getAmount());
|
|
|
+ feeCenterReportsList.add(feeCenterReports);
|
|
|
+ }
|
|
|
+ bills.setFeeCenterList(feeCenterReportsList);
|
|
|
+ List<BCorpsBank> bCorpsBanks = bankService.list(new LambdaQueryWrapper<BCorpsBank>()
|
|
|
+ .eq(BCorpsBank::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BCorpsBank::getIsDeleted, 0)
|
|
|
+ .eq(BCorpsBank::getPid, bills.getCorpId()));
|
|
|
+ if (bCorpsBanks.size() > 0) {
|
|
|
+ bills.setAccountBank(bCorpsBanks.get(0).getAccountBank());
|
|
|
+ bills.setAccountNo(bCorpsBanks.get(0).getAccountNo());
|
|
|
+ bills.setAddress(bCorpsBanks.get(0).getAddress());
|
|
|
+ bills.setSwiftCode(bCorpsBanks.get(0).getSwiftCode());
|
|
|
}
|
|
|
- bills.setFeeCenterListD(feeCenterList);
|
|
|
map.put("data", bills);
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
- } else if ("FYYF".equals(reports.getCode())) {
|
|
|
+ } else if ("费用".equals(reportCode) && "应付".equals(groupCode)) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
bills.setFM("jms");
|
|
|
@@ -363,15 +391,37 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
.eq(FeeCenter::getDc, "C")
|
|
|
.apply("find_in_set(id,'" + itemIds + "')")
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ } else {
|
|
|
+ feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .in(FeeCenter::getPid, ids)
|
|
|
+ .eq(FeeCenter::getDc, "C")
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(item.getPid());
|
|
|
+ feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
+ feeCenterReports.setBillCorpCnName(item.getBillCorpCnName());
|
|
|
+ feeCenterReports.setFeeCnName(item.getFeeCnName());
|
|
|
+ if ("CNY".equals(item.getCurCode())) {
|
|
|
+ feeCenterReports.setAmountC(item.getAmount());
|
|
|
+ } else {
|
|
|
+ feeCenterReports.setAmountUsdC(item.getAmount());
|
|
|
}
|
|
|
+ feeCenterReports.setAmountLocC(item.getAmountLoc());
|
|
|
+ feeCenterReports.setHblno(item.getHblno());
|
|
|
+ feeCenterReports.setAmount(item.getQuantity() + "*" + item.getAmount());
|
|
|
+ feeCenterReportsList.add(feeCenterReports);
|
|
|
}
|
|
|
- bills.setFeeCenterListC(feeCenterList);
|
|
|
+ bills.setFeeCenterList(feeCenterReportsList);
|
|
|
map.put("data", bills);
|
|
|
} else {
|
|
|
map.put("data", null);
|
|
|
}
|
|
|
}
|
|
|
- map.put("url", reports.getUrl());
|
|
|
return R.data(map);
|
|
|
}
|
|
|
|