Merge remote-tracking branch 'origin/task销项发票提交' into release

release
wangrangrang 2 years ago
commit 648a9c30d5
  1. 58
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.enums.FplxEnum;
import com.dxhy.common.enums.SNFplxEnum;
import com.dxhy.common.utils.DateUtils;
import com.dxhy.common.utils.R;
import com.dxhy.erp.dao.*;
@ -68,19 +69,26 @@ 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, "未查询到发票信息,请重新查验");
List<String> recordUuidList = null;
QueryWrapper<SdnyTDxSaleRecordInvoice> salesQueryWrapper = new QueryWrapper<>();
salesQueryWrapper.in("uuid", uuidList);
if (invoicesList != null && invoicesList.size() > 0) {
recordUuidList = invoicesList.stream().map(SdnyTDxRecordInvoice::getUuid).collect(Collectors.toList());
salesQueryWrapper.notIn("uuid", recordUuidList);
}
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 +105,25 @@ 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<>();
salesQueryWrapper.in("uuid", uuidList);
List<SdnyTDxRecordInvoiceDetailSales> salesDetailList = detailSalesDao.selectList(salesQueryWrapper);
if (salesDetailList == null || salesDetailList.size() == 0) {
return R.error(500,"未查询到发票明细信息,请重新查验");
if (saleInvoices != null && saleInvoices.size()>0) {
QueryWrapper<SdnyTDxRecordInvoiceDetailSales> salesDetailQueryWrapper = new QueryWrapper<>();
salesDetailQueryWrapper.in("uuid", uuidList);
if (recordUuidList != null && recordUuidList.size() > 0) {
salesDetailQueryWrapper.notIn("uuid", recordUuidList);
}
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;
@ -230,6 +244,10 @@ public class ImageSubmitServiceImpl implements ImageSubmitService {
ZData zdata = new ZData();
zdata.setZFPDM(StringUtils.isBlank(item.getInvoiceCode())?"":item.getInvoiceCode());
zdata.setZFPHM(item.getInvoiceNo());
if (SNFplxEnum.QDPP.getFplxDm().equals(item.getInvoiceType()) || SNFplxEnum.QDZP.getFplxDm().equals(item.getInvoiceType())) {
zdata.setZFPDM("");
zdata.setZFPHM(item.getEleInvoiceNo());
}
zdata.setZFPLX(invoiceType);
zdata.setZXFBM(item.getXfTaxNo());
zdata.setZGFBH(item.getGfTaxNo());
@ -288,7 +306,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService {
detail.setTaxRate(detail.getTaxRateOfSap().multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());
log.info("明细行数据:{}",JSONObject.toJSONString(detail));
BigDecimal totalAmount = new BigDecimal(detail.getDetailAmount()).add(new BigDecimal(detail.getTaxAmount()));
zDatas.add(ZData.builder()
ZData datas = ZData.builder()
.ZBHSJE(detail.getDetailAmount())
.ZBHSJE_DIF("0")
.ZBHSJE_Y(detail.getDetailAmount())
@ -310,7 +328,13 @@ public class ImageSubmitServiceImpl implements ImageSubmitService {
.ZHWMC(detail.getGoodsName())
.ZTID(zdata.getZTID())
.ZSM(TaxRateCodeEnum.getCode(detail.getTaxRate()))
.build());
.build();
if (SNFplxEnum.QDPP.getFplxDm().equals(item.getInvoiceType()) || SNFplxEnum.QDZP.getFplxDm().equals(item.getInvoiceType())) {
datas.setZFPDM("");
datas.setZFPHM(item.getEleInvoiceNo());
}
zDatas.add(datas);
}
String taxRate = "";
if (item.getDetailList().size() > 0) {

Loading…
Cancel
Save