fix:修复提交多个其中有票未在进项表中导致提交失败问题

release
王琦 2 years ago
parent 97c482a904
commit 29b9be643d
  1. 33
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java

@ -68,19 +68,21 @@ public class ImageSubmitServiceImpl implements ImageSubmitService {
QueryWrapper<SdnyTDxRecordInvoice> queryWrapper = new QueryWrapper<>();
queryWrapper.in("uuid", uuidList);
List<SdnyTDxRecordInvoice> invoicesList = tdxRecordInvoiceDao.selectList(queryWrapper);
if (invoicesList == null || invoicesList.size() == 0) {
QueryWrapper<SdnyTDxSaleRecordInvoice> salesQueryWrapper = new QueryWrapper<>();
salesQueryWrapper.in("uuid", uuidList);
List<SdnyTDxSaleRecordInvoice> saleRecordInvoices = sdnyTDxSaleRecordInvoiceDao.selectList(salesQueryWrapper);
if (saleRecordInvoices == null || saleRecordInvoices.size() == 0) {
return R.error(500, "未查询到发票信息,请重新查验");
QueryWrapper<SdnyTDxSaleRecordInvoice> salesQueryWrapper = new QueryWrapper<>();
salesQueryWrapper.in("uuid", uuidList);
List<SdnyTDxSaleRecordInvoice> saleInvoices = sdnyTDxSaleRecordInvoiceDao.selectList(salesQueryWrapper);
if (saleInvoices!=null && saleInvoices.size()>0) {
if (invoicesList == null || invoicesList.size() == 0) {
invoicesList = new ArrayList<>();
}
invoicesList = new ArrayList<>();
for (SdnyTDxSaleRecordInvoice item : saleRecordInvoices) {
for (SdnyTDxSaleRecordInvoice item : saleInvoices) {
SdnyTDxRecordInvoice invoice = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(item), SdnyTDxRecordInvoice.class);
invoicesList.add(invoice);
}
}
if (invoicesList == null || invoicesList.size() == 0) {
return R.error(500, "未查询到发票信息,请重新查验");
}
if (invoicesList.size() != uuidList.size()) {
StringBuffer msg = new StringBuffer();
Map<String, SdnyTDxRecordInvoice> invoiceMap = invoicesList.stream().collect(Collectors.toMap(SdnyTDxRecordInvoice::getUuid, v -> v));
@ -97,19 +99,22 @@ public class ImageSubmitServiceImpl implements ImageSubmitService {
QueryWrapper<SdnyTDxRecordInvoiceDetail> detailQueryWrapper = new QueryWrapper<>();
detailQueryWrapper.in("uuid", uuidList);
List<SdnyTDxRecordInvoiceDetail> detailList = detailDao.selectList(detailQueryWrapper);
if (detailList == null || detailList.size() == 0) {
QueryWrapper<SdnyTDxRecordInvoiceDetailSales> salesQueryWrapper = new QueryWrapper<>();
if (saleInvoices != null && saleInvoices.size()>0) {
QueryWrapper<SdnyTDxRecordInvoiceDetailSales> salesDetailQueryWrapper = new QueryWrapper<>();
salesQueryWrapper.in("uuid", uuidList);
List<SdnyTDxRecordInvoiceDetailSales> salesDetailList = detailSalesDao.selectList(salesQueryWrapper);
if (salesDetailList == null || salesDetailList.size() == 0) {
return R.error(500,"未查询到发票明细信息,请重新查验");
List<SdnyTDxRecordInvoiceDetailSales> salesDetailList = detailSalesDao.selectList(salesDetailQueryWrapper);
if (detailList == null || detailList.size() == 0) {
detailList = new ArrayList<>();
}
detailList = new ArrayList<>();
for (SdnyTDxRecordInvoiceDetailSales item : salesDetailList) {
SdnyTDxRecordInvoiceDetail detail = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(item), SdnyTDxRecordInvoiceDetail.class);
detailList.add(detail);
}
}
if (detailList == null || detailList.size() == 0) {
return R.error(500,"未查询到发票明细信息,请重新查验");
}
Map<String, List<SdnyTDxRecordInvoiceDetail>> detailiMap = new HashMap<>();
detailList.stream().forEach(item -> {
List<SdnyTDxRecordInvoiceDetail> list = null;

Loading…
Cancel
Save