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

Loading…
Cancel
Save