区块链发票入库:添加不能查验区块链取影像提交信息入库

release
路明慧 2 years ago
parent 1e447f9c74
commit 794e7ccf9b
  1. 2
      dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoice.java
  2. 2
      dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoiceDetail.java
  3. 156
      dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java

@ -477,4 +477,6 @@ public class BaseTDxRecordInvoice implements Serializable {
private String compCode; private String compCode;
private String outResource; private String outResource;
private String taxRate;
} }

@ -115,4 +115,6 @@ public class BaseTDxRecordInvoiceDetail implements Serializable {
*/ */
private String spfwjc; private String spfwjc;
private String taxCode;
} }

@ -11,6 +11,7 @@ import com.dxhy.common.enums.FplxEnum;
import com.dxhy.common.enums.SNFplxEnum; import com.dxhy.common.enums.SNFplxEnum;
import com.dxhy.common.util.InvoiceUtil; import com.dxhy.common.util.InvoiceUtil;
import com.dxhy.common.util.StringHelper; import com.dxhy.common.util.StringHelper;
import com.dxhy.common.utils.DateUtils;
import com.dxhy.common.utils.R; import com.dxhy.common.utils.R;
import com.dxhy.common.vo.UserInfo; import com.dxhy.common.vo.UserInfo;
import com.dxhy.erp.dao.*; import com.dxhy.erp.dao.*;
@ -22,6 +23,7 @@ import com.dxhy.erp.entity.kfpt.TokenResponse;
import com.dxhy.erp.entity.sdny.InvoiceDetail; import com.dxhy.erp.entity.sdny.InvoiceDetail;
import com.dxhy.erp.entity.sdny.InvoiceInfo; import com.dxhy.erp.entity.sdny.InvoiceInfo;
import com.dxhy.erp.entity.sdny.SNInvoice; import com.dxhy.erp.entity.sdny.SNInvoice;
import com.dxhy.erp.entity.sdny.SNInvoiceDetail;
import com.dxhy.erp.entity.sdny.area.Area; import com.dxhy.erp.entity.sdny.area.Area;
import com.dxhy.erp.utils.Base64; import com.dxhy.erp.utils.Base64;
import com.dxhy.erp.utils.*; import com.dxhy.erp.utils.*;
@ -758,13 +760,30 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter {
log.error("补充查验失败,errormsg:{}", e.getMessage()); log.error("补充查验失败,errormsg:{}", e.getMessage());
} }
if (checkInvoiceResult != null && !checkInvoiceResult.containsKey("code")) {
if (!checkInvoiceResult.containsKey("cyjg")) { if (checkInvoiceResult != null && !checkInvoiceResult.containsKey("code") && !checkInvoiceResult.containsKey("cyjg")) {
checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber"));
log.info("补充查验的结果为:{}", checkInvoiceResult); log.info("补充查验的结果为:{}", checkInvoiceResult);
signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", "business"); signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", "business");
} else if (invoice != null && "3".equals(invoice.getCheckStatus())) {
try {
BaseTDxRecordInvoice invoiceInfo = convertToEleInvoiceInfo(invoice);
baseTDxRecordInvoiceDao.insert(invoiceInfo);
if (invoice.getInvoiceLineList() != null && invoice.getInvoiceLineList().size() > 0) {
List<BaseTDxRecordInvoiceDetail> tDxRecordInvoiceDetails = convertToEleInvoiceDetail(invoice);
if (tDxRecordInvoiceDetails != null && tDxRecordInvoiceDetails.size() > 0) {
for (BaseTDxRecordInvoiceDetail tDxRecordInvoiceDetail : tDxRecordInvoiceDetails) {
baseTDxRecordInvoiceDetailDao.insert(tDxRecordInvoiceDetail);
}
}
}
} catch (Exception e) {
log.error("查验失败区块链发票入库异常:{}", e);
} }
} }
} }
//可查验发票,已入库,更新票池 //可查验发票,已入库,更新票池
@ -780,6 +799,133 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter {
return result; return result;
} }
public BaseTDxRecordInvoice convertToEleInvoiceInfo(SNInvoice invoice) {
BaseTDxRecordInvoice invoiceInfo = new BaseTDxRecordInvoice();
if (invoice != null){
invoiceInfo.setInvoiceCode(invoice.getInvoiceCode());
invoiceInfo.setInvoiceNo(invoice.getInvoiceNumber());
invoiceInfo.setGfTaxNo(invoice.getPurchaserTaxNo());
invoiceInfo.setGfName(invoice.getPurchaserName());
invoiceInfo.setGfAddressAndPhone(invoice.getPurchaserAddressPhone());
invoiceInfo.setGfBankAndNo(invoice.getPurchaserBank());
invoiceInfo.setXfTaxNo(invoice.getSalesTaxNo());
invoiceInfo.setXfName(invoice.getSalesName());
invoiceInfo.setXfAddressAndPhone(invoice.getSalesAddressPhone());
invoiceInfo.setXfBankAndNo(invoice.getSalesBank());
BigDecimal invoiceAmount = strToBigDecimal(invoice.getTotalAmount());
if (invoiceAmount != null){
invoiceInfo.setInvoiceAmount(invoiceAmount);
}
BigDecimal totalAmout = strToBigDecimal(invoice.getAmountTax());
if (totalAmout != null){
invoiceInfo.setTotalAmount(totalAmout);
}
BigDecimal taxAmount = strToBigDecimal(invoice.getTotalTax());
if (taxAmount != null){
invoiceInfo.setTaxAmount(taxAmount);
}
invoiceInfo.setRemark(invoice.getRemarks());
invoiceInfo.setInvoiceStatus(invoice.getState());
invoiceInfo.setStatusUpdateDate(new Date());
invoiceInfo.setLastUpdateDate(new Date());
invoiceInfo.setQsDate(new Date());
invoiceInfo.setRzhYesorno("0");
invoiceInfo.setSourceSystem("3");
invoiceInfo.setValid("1");
invoiceInfo.setUuid((StringUtils.isBlank(invoice.getInvoiceCode())?"":invoice.getInvoiceCode())+invoice.getInvoiceNumber());
invoiceInfo.setCreateDate(new Date());
invoiceInfo.setSfygx("0");
invoiceInfo.setDetailYesorno("0");
invoiceInfo.setAuthStatus("0");
invoiceInfo.setQsStatus("0");
invoiceInfo.setCheckCode(invoice.getCheckCode());
invoiceInfo.setLslbz(invoice.getZeroTaxRateSign());
invoiceInfo.setTxfbz(invoice.getTollSign());
invoiceInfo.setOutStatus("0");
invoiceInfo.setCxrzStatus("0");
invoiceInfo.setBdkStatus("0");
invoiceInfo.setCxbdkStatus("0");
invoiceInfo.setCompany("SDNYJTJX");
invoiceInfo.setTaxRate(invoice.getTaxRate());
invoiceInfo.setMachinecode(invoice.getMachineCode());
//影像号
invoiceInfo.setImageId(invoice.getFileId());
if (StringUtils.isNotBlank(invoice.getBillingDate())){
Date invoiceDate = DateUtils.strToDateLong(invoice.getBillingDate());
invoiceInfo.setInvoiceDate(invoiceDate);
}
if (StringUtils.isNotBlank(invoice.getInvoiceType())){
String fplxDm = SNFplxEnum.getFplxDm(invoice.getInvoiceType());
if (StringUtils.isNotBlank(fplxDm)){
invoiceInfo.setInvoiceType(fplxDm);
}
}
if (invoice.getInvoiceLineList() != null && invoice.getInvoiceLineList().size() > 0){
invoiceInfo.setDetailYesorno("1");
}
}
return invoiceInfo;
}
public List<BaseTDxRecordInvoiceDetail> convertToEleInvoiceDetail(SNInvoice invoice) {
List<SNInvoiceDetail> invoiceLineList = invoice.getInvoiceLineList();
List<BaseTDxRecordInvoiceDetail> invoiceDetailList = new ArrayList<>();
if (invoiceLineList != null && invoiceLineList.size() > 0){
for (SNInvoiceDetail invoiceDetail : invoiceLineList) {
BaseTDxRecordInvoiceDetail invoiceDetailInfo = new BaseTDxRecordInvoiceDetail();
invoiceDetailInfo.setUuid((StringUtils.isBlank(invoice.getInvoiceCode())?"":invoice.getInvoiceCode())+invoice.getInvoiceNumber());
invoiceDetailInfo.setInvoiceNo(invoice.getInvoiceNumber());
invoiceDetailInfo.setInvoiceCode(invoice.getInvoiceCode());
invoiceDetailInfo.setDetailNo(invoiceDetail.getRowNo());
invoiceDetailInfo.setGoodsName(invoiceDetail.getCommodityName());
invoiceDetailInfo.setModel(invoiceDetail.getSpecificationModel());
invoiceDetailInfo.setUnit(invoiceDetail.getUnit());
invoiceDetailInfo.setNum(invoiceDetail.getQuantity());
invoiceDetailInfo.setUnitPrice(invoiceDetail.getUnitPrice());
invoiceDetailInfo.setDetailAmount(invoiceDetail.getAmount());
invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate());
invoiceDetailInfo.setTaxAmount(invoiceDetail.getTax());
invoiceDetailInfo.setCph(invoiceDetail.getLicensePlateNum());
invoiceDetailInfo.setLx(invoiceDetail.getType());
invoiceDetailInfo.setTxrqq(invoiceDetail.getCurrentDateStart());
invoiceDetailInfo.setTxrqz(invoiceDetail.getCurrentDateEnd());
invoiceDetailInfo.setTaxCode(invoiceDetail.getTaxCode());
invoiceDetailInfo.setGoodsName(invoiceDetail.getCommodityName());
invoiceDetailList.add(invoiceDetailInfo);
}
}
return invoiceDetailList;
}
public static BigDecimal strToBigDecimal(String str) {
BigDecimal decimal = null;
try {
decimal = new BigDecimal(str);
} catch (Exception e) {
log.error("转换Bigdecimal失败,传入参数为{}", str);
}
return decimal;
}
private TDxInvoiceReimburse convertToReimburse(SNInvoice invoice, TDxInvoiceReimburse reimburse, String fplxdm, String company) { private TDxInvoiceReimburse convertToReimburse(SNInvoice invoice, TDxInvoiceReimburse reimburse, String fplxdm, String company) {
reimburse.setId(IdUtils.nextId()); reimburse.setId(IdUtils.nextId());
reimburse.setInvoiceType(fplxdm); reimburse.setInvoiceType(fplxdm);

Loading…
Cancel
Save