|
|
|
@ -1,14 +1,20 @@ |
|
|
|
|
package com.dxhy.order.consumer.modules.manager.controller; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil; |
|
|
|
|
import cn.hutool.core.date.DatePattern; |
|
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
import com.alibaba.nacos.client.naming.utils.CollectionUtils; |
|
|
|
|
import com.dxhy.order.baseservice.constant.OrderEnum; |
|
|
|
|
import com.dxhy.order.constant.*; |
|
|
|
|
import com.dxhy.order.consumer.modules.manager.model.dto.ManualPushInvoiceDTO; |
|
|
|
|
import com.dxhy.order.consumer.openapi.protocol.v4.order.*; |
|
|
|
|
import com.dxhy.order.consumer.openapi.protocol.v6.order.*; |
|
|
|
|
import com.dxhy.order.exception.OrderReceiveException; |
|
|
|
|
import com.dxhy.order.model.*; |
|
|
|
|
import com.dxhy.order.model.newsk.invoiceissue.InvoiceIssueFailDetail; |
|
|
|
|
import com.dxhy.order.model.newsk.invoiceissue.*; |
|
|
|
|
import com.dxhy.order.model.newsk.query.InvoiceInfoDetail; |
|
|
|
|
import com.dxhy.order.model.queue.FpkjMqData; |
|
|
|
|
import com.dxhy.order.utils.JsonUtils; |
|
|
|
|
import com.dxhy.order.utils.NsrsbhUtils; |
|
|
|
@ -19,9 +25,6 @@ import com.dxhy.order.consumer.config.OpenApiConfig; |
|
|
|
|
import com.dxhy.order.consumer.modules.manager.service.InvoiceDataService; |
|
|
|
|
import com.dxhy.order.consumer.modules.manager.service.InvoiceReceiveService; |
|
|
|
|
import com.dxhy.order.consumer.modules.order.service.impl.PollInvoiceServiceImpl; |
|
|
|
|
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdfpdrReqBO; |
|
|
|
|
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdfpdrRspBO; |
|
|
|
|
import com.dxhy.order.consumer.openapi.protocol.v4.order.DdfpzxxBO; |
|
|
|
|
import com.dxhy.order.consumer.openapi.service.InterfaceServiceV3; |
|
|
|
|
import com.dxhy.order.invoice.module.invoice.service.InvalidInvoiceService; |
|
|
|
|
import com.dxhy.order.invoice.module.invoice.service.OrderInvoiceInfoService; |
|
|
|
@ -43,9 +46,7 @@ import org.springframework.web.bind.annotation.RestController; |
|
|
|
|
import javax.annotation.Resource; |
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
import java.nio.charset.StandardCharsets; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Objects; |
|
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author :杨士勇 |
|
|
|
@ -146,6 +147,49 @@ public class InvoiceReceiveController { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 接收数电发票数据回推 |
|
|
|
|
* @param request 回推数据 |
|
|
|
|
* @since V6.1.7 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "接收数电发票数据回推", notes = "接收数电发票数据回推-接收底层开具数电发票后将数据回推订单服务") |
|
|
|
|
@PostMapping("/receiveQdInvoices") |
|
|
|
|
public InterfaceData receiveQdInvoices(HttpServletRequest request){ |
|
|
|
|
InterfaceData interfaceData = new InterfaceData(); |
|
|
|
|
try { |
|
|
|
|
String data = IOUtils.toString(request.getInputStream(), StandardCharsets.UTF_8); |
|
|
|
|
log.info("{}接收数电发票数据回推数据,入参:{}", LOGGER_MSG, data); |
|
|
|
|
|
|
|
|
|
interfaceData = ProtocolUtil.decodeData(data); |
|
|
|
|
log.debug("{}接收数电发票数据回推数据,解密后数据为:{}", LOGGER_MSG, interfaceData.getData()); |
|
|
|
|
List<QdInvoicePushBackRequest> qdInvoicePushBackRequestList = JsonUtils.getInstance().jsonToList(interfaceData.getData(), QdInvoicePushBackRequest.class); |
|
|
|
|
|
|
|
|
|
//判断入参是否为空
|
|
|
|
|
if(CollectionUtil.isEmpty(qdInvoicePushBackRequestList)){ |
|
|
|
|
throw new OrderReceiveException(ConfigureConstant.STRING_9999, "回推的数电发票数据为空"); |
|
|
|
|
} |
|
|
|
|
if(Objects.isNull(qdInvoicePushBackRequestList.get(0)) || Objects.isNull(qdInvoicePushBackRequestList.get(0).getINVOICE())){ |
|
|
|
|
throw new OrderReceiveException(ConfigureConstant.STRING_9999, "回推的数电发票数据为空"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//数电发票数据bean转换
|
|
|
|
|
List<DdfpzxxBO> ddfpzxxList = convetDdfpzxxBO(qdInvoicePushBackRequestList); |
|
|
|
|
|
|
|
|
|
List<DdfpdrRspBO> ddfpdrRspList = interfaceServiceV3.importIssuedInvoice(ddfpzxxList, OrderInfoEnum.ORDER_SOURCE_9.getKey(), |
|
|
|
|
"", ConfigurerInfo.INTERFACE_VERSION_V4); |
|
|
|
|
log.info("{}接收数电发票数据回推数据,返回数据:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(ddfpdrRspList)); |
|
|
|
|
|
|
|
|
|
return buildReturnData(interfaceData, OrderInfoEnum.INTERFACE_SUCCESS.getKey(), |
|
|
|
|
OrderInfoEnum.INTERFACE_SUCCESS.getValue(), ddfpdrRspList); |
|
|
|
|
|
|
|
|
|
} catch (OrderReceiveException e) { |
|
|
|
|
log.error("{}接收数电发票数据回推数据异常", LOGGER_MSG, e); |
|
|
|
|
return buildReturnData(interfaceData,e.getCode(),e.getMessage(),null); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("{}接收数电发票数据回推数据异常", LOGGER_MSG, e); |
|
|
|
|
return buildReturnData(interfaceData,ConfigureConstant.STRING_9999,e.getMessage(),null); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ApiOperation(value = "接收税控发票修复数据", notes = "接收税控发票修复数据-接收税控底层修复的发票数据") |
|
|
|
|
@PostMapping("/receiveRepairedInvoices") |
|
|
|
@ -431,4 +475,264 @@ public class InvoiceReceiveController { |
|
|
|
|
return R.error(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private List<DdfpzxxBO> convetDdfpzxxBO(List<QdInvoicePushBackRequest> qdInvoicePushBackRequestList){ |
|
|
|
|
List<DdfpzxxBO> ddfpzxxList = new ArrayList<>(qdInvoicePushBackRequestList.size()); |
|
|
|
|
qdInvoicePushBackRequestList.forEach(invoiceIssueRequest -> { |
|
|
|
|
QdInvoicePushBackInfo qdInvoiceIssueInfo = invoiceIssueRequest.getINVOICE(); |
|
|
|
|
|
|
|
|
|
//订单发票信息
|
|
|
|
|
DdfpxxBO ddfpxxBO = transDdfpxxBO(qdInvoiceIssueInfo); |
|
|
|
|
|
|
|
|
|
//发票明细信息
|
|
|
|
|
List<InvoiceInfoDetail> invoiceInfoDetailList = qdInvoiceIssueInfo.getINVOICE_DETAIL(); |
|
|
|
|
List<DdmxxxBO> ddmxxxBOList = new ArrayList<>(16); |
|
|
|
|
if(CollectionUtil.isNotEmpty(invoiceInfoDetailList)){ |
|
|
|
|
invoiceInfoDetailList.forEach(invoiceInfoDetail -> { |
|
|
|
|
DdmxxxBO ddmxxxBO = transInvoiceInfoDetail(invoiceInfoDetail); |
|
|
|
|
ddmxxxBOList.add(ddmxxxBO); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//数电发票信息
|
|
|
|
|
QdTxxBO qdTxxBO = transQdTxxBO(qdInvoiceIssueInfo); |
|
|
|
|
DdfpzxxBO ddfpzxxBO = new DdfpzxxBO(); |
|
|
|
|
ddfpzxxBO.setDDFPXX(ddfpxxBO); |
|
|
|
|
ddfpzxxBO.setDDMXXX(ddmxxxBOList); |
|
|
|
|
ddfpzxxBO.setQDTXXBO(qdTxxBO); |
|
|
|
|
|
|
|
|
|
ddfpzxxList.add(ddfpzxxBO); |
|
|
|
|
}); |
|
|
|
|
return ddfpzxxList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private DdfpxxBO transDdfpxxBO(QdInvoicePushBackInfo qdInvoiceIssueInfo){ |
|
|
|
|
//数电农产品收购发票
|
|
|
|
|
boolean qdncp = OrderEnum.ORDER_QD_TDYS_16.getKey().equals(qdInvoiceIssueInfo.getTDYS()) |
|
|
|
|
&& OrderEnum.ORDER_QD_SGFPLXDM_01.getKey().equals(qdInvoiceIssueInfo.getSGFPLXDM()); |
|
|
|
|
|
|
|
|
|
DdfpxxBO ddfpxxBO = new DdfpxxBO(); |
|
|
|
|
//todo 发票请求流水号(税控) 对应 订单请求流水号(订单),订单库中的kplsh是订单系统生成的并不是税控的发票请求流水号
|
|
|
|
|
ddfpxxBO.setDDQQLSH(qdInvoiceIssueInfo.getFPQQLSH()); |
|
|
|
|
ddfpxxBO.setDDH(qdInvoiceIssueInfo.getDDH()); |
|
|
|
|
ddfpxxBO.setTHDH(""); |
|
|
|
|
ddfpxxBO.setMDH(""); |
|
|
|
|
ddfpxxBO.setENTID(qdInvoiceIssueInfo.getZZID()); |
|
|
|
|
ddfpxxBO.setNSRSBH(qdInvoiceIssueInfo.getNSRSBH()); |
|
|
|
|
ddfpxxBO.setNSRMC(qdInvoiceIssueInfo.getNSRMC()); |
|
|
|
|
ddfpxxBO.setKPLX(qdInvoiceIssueInfo.getKPLX()); |
|
|
|
|
ddfpxxBO.setQYLX(""); |
|
|
|
|
ddfpxxBO.setBMBBBH(qdInvoiceIssueInfo.getBMBBBH()); |
|
|
|
|
|
|
|
|
|
if(qdncp){ |
|
|
|
|
ddfpxxBO.setXHFSBH(qdInvoiceIssueInfo.getGMFNSRSBH()); |
|
|
|
|
ddfpxxBO.setXHFMC(qdInvoiceIssueInfo.getGMFMC()); |
|
|
|
|
ddfpxxBO.setXHFDZ(qdInvoiceIssueInfo.getGMFDZ()); |
|
|
|
|
ddfpxxBO.setXHFDH(qdInvoiceIssueInfo.getGMFDH()); |
|
|
|
|
ddfpxxBO.setXHFYH(qdInvoiceIssueInfo.getGMFYH()); |
|
|
|
|
ddfpxxBO.setXHFZH(qdInvoiceIssueInfo.getGMFYHZH()); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setGMFSBH(qdInvoiceIssueInfo.getXSFNSRSBH()); |
|
|
|
|
ddfpxxBO.setGMFMC(qdInvoiceIssueInfo.getXSFMC()); |
|
|
|
|
ddfpxxBO.setGMFDZ(qdInvoiceIssueInfo.getXSFDZ()); |
|
|
|
|
ddfpxxBO.setGMFDH(qdInvoiceIssueInfo.getXSFDH()); |
|
|
|
|
ddfpxxBO.setGMFYH(qdInvoiceIssueInfo.getXSFYH()); |
|
|
|
|
ddfpxxBO.setGMFZH(qdInvoiceIssueInfo.getXSFYHZH()); |
|
|
|
|
} else { |
|
|
|
|
ddfpxxBO.setXHFSBH(qdInvoiceIssueInfo.getXSFNSRSBH()); |
|
|
|
|
ddfpxxBO.setXHFMC(qdInvoiceIssueInfo.getXSFMC()); |
|
|
|
|
ddfpxxBO.setXHFDZ(qdInvoiceIssueInfo.getXSFDZ()); |
|
|
|
|
ddfpxxBO.setXHFDH(qdInvoiceIssueInfo.getXSFDH()); |
|
|
|
|
ddfpxxBO.setXHFYH(qdInvoiceIssueInfo.getXSFYH()); |
|
|
|
|
ddfpxxBO.setXHFZH(qdInvoiceIssueInfo.getXSFYHZH()); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setGMFSBH(qdInvoiceIssueInfo.getGMFNSRSBH()); |
|
|
|
|
ddfpxxBO.setGMFMC(qdInvoiceIssueInfo.getGMFMC()); |
|
|
|
|
ddfpxxBO.setGMFDZ(qdInvoiceIssueInfo.getGMFDZ()); |
|
|
|
|
ddfpxxBO.setGMFDH(qdInvoiceIssueInfo.getGMFDH()); |
|
|
|
|
ddfpxxBO.setGMFYH(qdInvoiceIssueInfo.getGMFYH()); |
|
|
|
|
ddfpxxBO.setGMFZH(qdInvoiceIssueInfo.getGMFYHZH()); |
|
|
|
|
} |
|
|
|
|
if(ConfigureConstant.STRING_Y.equals(qdInvoiceIssueInfo.getGMFZRRBS())){ |
|
|
|
|
ddfpxxBO.setGMFLX(OrderInfoEnum.GHF_QYLX_03.getKey()); |
|
|
|
|
} else { |
|
|
|
|
ddfpxxBO.setGMFLX(OrderInfoEnum.GHF_QYLX_04.getKey()); |
|
|
|
|
} |
|
|
|
|
ddfpxxBO.setGMFBM(""); |
|
|
|
|
ddfpxxBO.setGMFSF(""); |
|
|
|
|
ddfpxxBO.setGMFSJH(""); |
|
|
|
|
ddfpxxBO.setGMFDZYX(""); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setKPR(qdInvoiceIssueInfo.getKPR()); |
|
|
|
|
ddfpxxBO.setKPRZJLX(qdInvoiceIssueInfo.getKPRZJLX()); |
|
|
|
|
ddfpxxBO.setKPRZJHM(qdInvoiceIssueInfo.getKPRZJHM()); |
|
|
|
|
ddfpxxBO.setSKR(""); |
|
|
|
|
ddfpxxBO.setFHR(""); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setYFPDM(""); |
|
|
|
|
ddfpxxBO.setYFPHM(qdInvoiceIssueInfo.getYFPHM()); |
|
|
|
|
ddfpxxBO.setYFPKPRQ(""); |
|
|
|
|
ddfpxxBO.setYFPLX(""); |
|
|
|
|
ddfpxxBO.setCHYY(""); |
|
|
|
|
ddfpxxBO.setTSCHBZ(""); |
|
|
|
|
ddfpxxBO.setHZXXBBH(qdInvoiceIssueInfo.getHZQRXXDBH()); |
|
|
|
|
|
|
|
|
|
if(qdncp){ |
|
|
|
|
ddfpxxBO.setQDBZ(OrderInfoEnum.QDBZ_CODE_2.getKey()); |
|
|
|
|
ddfpxxBO.setQDXMMC(OrderInfoEnum.QDBZ_CODE_2.getValue()); |
|
|
|
|
} else { |
|
|
|
|
ddfpxxBO.setQDBZ(OrderInfoEnum.QDBZ_CODE_0.getKey()); |
|
|
|
|
ddfpxxBO.setQDXMMC(OrderInfoEnum.QDBZ_CODE_0.getValue()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setJSHJ(qdInvoiceIssueInfo.getJSHJ()); |
|
|
|
|
ddfpxxBO.setHJJE(qdInvoiceIssueInfo.getHJJE()); |
|
|
|
|
ddfpxxBO.setHJSE(qdInvoiceIssueInfo.getHJSE()); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setBZ(qdInvoiceIssueInfo.getBZ()); |
|
|
|
|
ddfpxxBO.setDDSJ(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN)); |
|
|
|
|
ddfpxxBO.setYWLX(qdInvoiceIssueInfo.getYWLX()); |
|
|
|
|
ddfpxxBO.setKPFS(OrderInfoEnum.ORDER_REQUEST_TYPE_0.getKey()); |
|
|
|
|
ddfpxxBO.setTQM(""); |
|
|
|
|
ddfpxxBO.setDTM(""); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setDDZT(OrderInfoEnum.ORDER_STATUS_5.getKey()); |
|
|
|
|
ddfpxxBO.setDDZTXX(OrderInfoEnum.ORDER_STATUS_5.getValue()); |
|
|
|
|
if(OrderInfoEnum.ORDER_BILLING_INVOICE_TYPE_1.getKey().equals(qdInvoiceIssueInfo.getKPLX())){ |
|
|
|
|
ddfpxxBO.setDDZT(OrderInfoEnum.ORDER_STATUS_7.getKey()); |
|
|
|
|
ddfpxxBO.setDDZTXX(OrderInfoEnum.ORDER_STATUS_7.getValue()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setFPLXDM(qdInvoiceIssueInfo.getFPZLDM()); |
|
|
|
|
ddfpxxBO.setDDLY(OrderInfoEnum.ORDER_SOURCE_9.getKey()); |
|
|
|
|
//冲红标志
|
|
|
|
|
ddfpxxBO.setCHBZ(qdInvoiceIssueInfo.getCHBZ()); |
|
|
|
|
ddfpxxBO.setZFBZ(OrderInfoEnum.INVALID_INVOICE_0.getKey()); |
|
|
|
|
ddfpxxBO.setSFCF(OrderInfoEnum.INTERFACE_SFCF_0.getKey()); |
|
|
|
|
ddfpxxBO.setCFFS(""); |
|
|
|
|
ddfpxxBO.setSLKJLY(""); |
|
|
|
|
ddfpxxBO.setKPJH(""); |
|
|
|
|
ddfpxxBO.setKPZD(""); |
|
|
|
|
ddfpxxBO.setJQBH(""); |
|
|
|
|
ddfpxxBO.setFJH(""); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setFPHM(qdInvoiceIssueInfo.getSDFPHM()); |
|
|
|
|
ddfpxxBO.setKPRQ(qdInvoiceIssueInfo.getKPRQ()); |
|
|
|
|
ddfpxxBO.setJYM(""); |
|
|
|
|
ddfpxxBO.setFWM(""); |
|
|
|
|
ddfpxxBO.setEWM(""); |
|
|
|
|
ddfpxxBO.setPDFZJL(""); |
|
|
|
|
ddfpxxBO.setZJLLX(""); |
|
|
|
|
ddfpxxBO.setPDFDZ(""); |
|
|
|
|
ddfpxxBO.setSLKJLY(""); |
|
|
|
|
ddfpxxBO.setYHM(qdInvoiceIssueInfo.getYHM()); |
|
|
|
|
ddfpxxBO.setOFDTOPDFZJ(""); |
|
|
|
|
|
|
|
|
|
ddfpxxBO.setBYZD1(qdInvoiceIssueInfo.getBYZD1()); |
|
|
|
|
ddfpxxBO.setBYZD2(qdInvoiceIssueInfo.getBYZD2()); |
|
|
|
|
ddfpxxBO.setBYZD3(qdInvoiceIssueInfo.getBYZD3()); |
|
|
|
|
ddfpxxBO.setBYZD4(qdInvoiceIssueInfo.getBYZD4()); |
|
|
|
|
ddfpxxBO.setBYZD5(qdInvoiceIssueInfo.getBYZD5()); |
|
|
|
|
return ddfpxxBO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private DdmxxxBO transInvoiceInfoDetail(InvoiceInfoDetail invoiceInfoDetail){ |
|
|
|
|
DdmxxxBO ddmxxxBO = new DdmxxxBO(); |
|
|
|
|
ddmxxxBO.setXH(invoiceInfoDetail.getXMXH()); |
|
|
|
|
ddmxxxBO.setDYLZFPMXXH(invoiceInfoDetail.getDYLZFPMXXH()); |
|
|
|
|
ddmxxxBO.setSPID(""); |
|
|
|
|
ddmxxxBO.setFPHXZ(invoiceInfoDetail.getFPHXZ()); |
|
|
|
|
ddmxxxBO.setSPBM(invoiceInfoDetail.getSPBM()); |
|
|
|
|
ddmxxxBO.setZXBM(""); |
|
|
|
|
ddmxxxBO.setYHZCBS(invoiceInfoDetail.getYHZCBS()); |
|
|
|
|
ddmxxxBO.setLSLBS(""); |
|
|
|
|
ddmxxxBO.setZZSTSGL(""); |
|
|
|
|
ddmxxxBO.setXMMC(invoiceInfoDetail.getXMMC()); |
|
|
|
|
ddmxxxBO.setGGXH(invoiceInfoDetail.getGGXH()); |
|
|
|
|
ddmxxxBO.setDW(invoiceInfoDetail.getDW()); |
|
|
|
|
ddmxxxBO.setSPSL(invoiceInfoDetail.getXMSL()); |
|
|
|
|
ddmxxxBO.setDJ(invoiceInfoDetail.getXMDJ()); |
|
|
|
|
ddmxxxBO.setJE(invoiceInfoDetail.getXMJE()); |
|
|
|
|
ddmxxxBO.setHSBZ(invoiceInfoDetail.getHSBZ()); |
|
|
|
|
ddmxxxBO.setSL(invoiceInfoDetail.getSL()); |
|
|
|
|
ddmxxxBO.setSE(invoiceInfoDetail.getSE()); |
|
|
|
|
ddmxxxBO.setKCE(""); |
|
|
|
|
ddmxxxBO.setBYZD1(invoiceInfoDetail.getBYZD1()); |
|
|
|
|
ddmxxxBO.setBYZD2(invoiceInfoDetail.getBYZD2()); |
|
|
|
|
ddmxxxBO.setBYZD3(invoiceInfoDetail.getBYZD3()); |
|
|
|
|
return ddmxxxBO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private QdTxxBO transQdTxxBO(QdInvoicePushBackInfo qdInvoiceIssueInfo){ |
|
|
|
|
QdTxxBO qdTxxBO = new QdTxxBO(); |
|
|
|
|
qdTxxBO.setZZID(qdInvoiceIssueInfo.getZZID()); |
|
|
|
|
qdTxxBO.setTDYS(qdInvoiceIssueInfo.getTDYS()); |
|
|
|
|
qdTxxBO.setQYDM(qdInvoiceIssueInfo.getQYDM()); |
|
|
|
|
qdTxxBO.setCEZSLXDM(qdInvoiceIssueInfo.getCEZSLXDM()); |
|
|
|
|
qdTxxBO.setSGFPLXDM(qdInvoiceIssueInfo.getSGFPLXDM()); |
|
|
|
|
qdTxxBO.setCKYWSYZCDM(qdInvoiceIssueInfo.getCKYWSYZCDM()); |
|
|
|
|
qdTxxBO.setZZSJZJTDM(qdInvoiceIssueInfo.getZZSJZJTDM()); |
|
|
|
|
qdTxxBO.setGMFJBR(qdInvoiceIssueInfo.getGMFJBR()); |
|
|
|
|
qdTxxBO.setJBRSFZJHM(qdInvoiceIssueInfo.getJBRSFZJHM()); |
|
|
|
|
qdTxxBO.setGMFJBRLXDH(qdInvoiceIssueInfo.getGMFJBRLXDH()); |
|
|
|
|
qdTxxBO.setJSFS(qdInvoiceIssueInfo.getJSFS()); |
|
|
|
|
qdTxxBO.setSKYHMC(qdInvoiceIssueInfo.getSKYHMC()); |
|
|
|
|
qdTxxBO.setSKYHZH(qdInvoiceIssueInfo.getSKYHZH()); |
|
|
|
|
qdTxxBO.setYSXWFSD(qdInvoiceIssueInfo.getYSXWFSD()); |
|
|
|
|
//附加要素
|
|
|
|
|
List<InvoiceQdFjys> fjyslist = qdInvoiceIssueInfo.getFJYSLIST(); |
|
|
|
|
List<QdFjysBO> fjysBOList = new ArrayList<>(16); |
|
|
|
|
if(CollectionUtil.isNotEmpty(fjyslist)){ |
|
|
|
|
fjyslist.forEach(fjys -> { |
|
|
|
|
QdFjysBO qdFjysBO = new QdFjysBO(); |
|
|
|
|
qdFjysBO.setFJYSMC(fjys.getFJYSMC()); |
|
|
|
|
qdFjysBO.setFJYSLX(fjys.getFJYSLX()); |
|
|
|
|
qdFjysBO.setFJYSZ(fjys.getFJYSZ()); |
|
|
|
|
fjysBOList.add(qdFjysBO); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
qdTxxBO.setFJYSLIST(fjysBOList); |
|
|
|
|
|
|
|
|
|
//特定业务信息
|
|
|
|
|
//货物运输
|
|
|
|
|
List<InvoiceQdHwys> invoiceQdHwysList = qdInvoiceIssueInfo.getTRANSPORT_DETAIL(); |
|
|
|
|
if(CollectionUtil.isNotEmpty(invoiceQdHwysList)){ |
|
|
|
|
List<HwysBO> hwysBOList = new ArrayList<>(16); |
|
|
|
|
invoiceQdHwysList.forEach(invoiceQdHwys -> { |
|
|
|
|
HwysBO hwysBO = new HwysBO(); |
|
|
|
|
BeanUtils.copyProperties(invoiceQdHwys,hwysBO); |
|
|
|
|
hwysBOList.add(hwysBO); |
|
|
|
|
}); |
|
|
|
|
qdTxxBO.setHWYSLIST(hwysBOList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//不动产租赁
|
|
|
|
|
InvoiceQdBdczl invoiceQdBdczl = qdInvoiceIssueInfo.getLEASE_INFO(); |
|
|
|
|
if(Objects.nonNull(invoiceQdBdczl)){ |
|
|
|
|
BdczlBO bdczlBO = new BdczlBO(); |
|
|
|
|
BeanUtils.copyProperties(invoiceQdBdczl, bdczlBO); |
|
|
|
|
qdTxxBO.setBDCZLXX(bdczlBO); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//不动产销售
|
|
|
|
|
InvoiceQdBdcxs invoiceQdBdcxs = qdInvoiceIssueInfo.getSALE_INFO(); |
|
|
|
|
if(Objects.nonNull(invoiceQdBdcxs)){ |
|
|
|
|
BdcxsBO bdcxsBO = new BdcxsBO(); |
|
|
|
|
BeanUtils.copyProperties(invoiceQdBdcxs, bdcxsBO); |
|
|
|
|
qdTxxBO.setBDCXSXX(bdcxsBO); |
|
|
|
|
} |
|
|
|
|
//建筑服务
|
|
|
|
|
InvoiceQdJzfw invoiceQdJzfw = qdInvoiceIssueInfo.getCONSTRUCT_INFO(); |
|
|
|
|
List<InvoiceInfoDetail> invoiceDetail = qdInvoiceIssueInfo.getINVOICE_DETAIL(); |
|
|
|
|
if(Objects.nonNull(invoiceQdJzfw) && CollectionUtil.isNotEmpty(invoiceDetail)){ |
|
|
|
|
InvoiceInfoDetail invoiceInfoDetail = invoiceDetail.get(0); |
|
|
|
|
JzfwBO jzfwBO = new JzfwBO(); |
|
|
|
|
jzfwBO.setTDZZSXMBH(invoiceQdJzfw.getTDZZSXMBH()); |
|
|
|
|
jzfwBO.setJZFWFSD(invoiceInfoDetail.getJZFWFSD()); |
|
|
|
|
jzfwBO.setJZFWMC(invoiceInfoDetail.getJZXMMC()); |
|
|
|
|
jzfwBO.setKDSBZ(invoiceQdJzfw.getKDSBZ()); |
|
|
|
|
qdTxxBO.setJZFWXX(jzfwBO); |
|
|
|
|
} |
|
|
|
|
return qdTxxBO; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|