| | |
| | | import com.by4cloud.platformx.business.entity.ContractOutBound; |
| | | import com.by4cloud.platformx.business.entity.SaleCredit; |
| | | import com.by4cloud.platformx.business.entity.invoice.*; |
| | | import com.by4cloud.platformx.business.entity.invoice.vo.InvoicingVo; |
| | | import com.by4cloud.platformx.business.entity.invoice.vo.RedConfirmVo; |
| | | import com.by4cloud.platformx.business.invoice.mapper.FpInvoiceResultItemMapper; |
| | | import com.by4cloud.platformx.business.invoice.mapper.FpInvoiceResultMapper; |
| | | import com.by4cloud.platformx.business.invoice.service.BipInvoiceService; |
| | |
| | | import com.by4cloud.platformx.business.invoice.service.FpInvoiceResultService; |
| | | import com.by4cloud.platformx.business.service.InvoiceService; |
| | | import com.by4cloud.platformx.business.service.SaleCreditService; |
| | | import com.by4cloud.platformx.business.vo.ContractOutBoundVo; |
| | | import com.google.gson.Gson; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | |
| | | @Override |
| | | public InvoicingVo toGetByCompare(SaleCredit saleCredit, List<ContractOutBound> contractOutBoundList) { |
| | | return getByCompare(saleCredit,contractOutBoundList); |
| | | } |
| | | |
| | | @Override |
| | | public InvoicingVo toGetByCompareByVo(SaleCredit saleCredit, List<ContractOutBoundVo> contractOutBoundList) { |
| | | return getByCompareVo(saleCredit,contractOutBoundList); |
| | | } |
| | | |
| | | /** |
| | |
| | | return invoicingVo; |
| | | } |
| | | |
| | | private InvoicingVo getByCompareVo(SaleCredit saleCredit, List<ContractOutBoundVo> contractOutBoundList){ |
| | | InvoicingVo invoicingVo = new InvoicingVo(); |
| | | invoicingVo.setSaleCreditId(saleCredit.getId()); |
| | | invoicingVo.setEntrustCode(saleCredit.getEntrustCode()); |
| | | //销方 |
| | | invoicingVo.setTaxNo(saleCredit.getCreditCodeB()); |
| | | invoicingVo.setLedgerName(saleCredit.getPartyB()); |
| | | invoicingVo.setOrgCode(saleCredit.getCreditCodeB()); |
| | | invoicingVo.setFormatGenerate(false); |
| | | invoicingVo.setIsSplit(false); |
| | | invoicingVo.setFormatPushType(false); |
| | | invoicingVo.setTaxUserName(saleCredit.getContactPhoneB()); |
| | | InvoicingVo.InvoicingVoInfo invoicingVoInfo = new InvoicingVo.InvoicingVoInfo(); |
| | | |
| | | |
| | | invoicingVoInfo.setInvoiceTypeCode("01"); |
| | | invoicingVoInfo.setSerialNo("MX_ZPP_" + System.currentTimeMillis()); |
| | | invoicingVoInfo.setDrawer(saleCredit.getContactPhoneB()); |
| | | |
| | | Map<String, Object> ext = new HashMap<>(); |
| | | ext.put("htbh",saleCredit.getContractNo()); |
| | | invoicingVoInfo.setExt(ext); |
| | | |
| | | invoicingVoInfo.setSystemName("xx销售管理信息系统"); |
| | | |
| | | List<InvoicingVo.InvoiceDetail> details = new ArrayList<>(); |
| | | |
| | | int i = 0; |
| | | for (ContractOutBound outBoundVo : contractOutBoundList){ |
| | | i++; |
| | | InvoicingVo.InvoiceDetail invoiceDetail = new InvoicingVo.InvoiceDetail(); |
| | | invoiceDetail.setGoodsLineNo(i); |
| | | invoiceDetail.setGoodsTaxRate(outBoundVo.getTaxRate()); |
| | | invoiceDetail.setGoodsType(outBoundVo.getSubjectMatterName()); |
| | | invoiceDetail.setGoodsUnit(outBoundVo.getUnit()); |
| | | invoiceDetail.setGoodsQuantity(outBoundVo.getOutBoundNum()); |
| | | invoiceDetail.setGoodsPrice(outBoundVo.getUnitPrice()); |
| | | invoiceDetail.setGoodsTotalPrice(outBoundVo.getTotalPrice()); |
| | | invoiceDetail.setGoodsTotalTax(outBoundVo.getTotalTax()); |
| | | details.add(invoiceDetail); |
| | | } |
| | | //购方 |
| | | invoicingVoInfo.setBuyerTaxNo(saleCredit.getCreditCodeA()); |
| | | invoicingVoInfo.setBuyerName(saleCredit.getPartyA()); |
| | | invoicingVoInfo.setInvoiceTotalPrice(saleCredit.getTotalAmount()); |
| | | //invoicingVoInfo.setInvoiceTotalTax(new BigDecimal(allTax).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | invoicingVoInfo.setInvoiceTotalPriceTax(saleCredit.getTotalTax()); |
| | | invoicingVoInfo.setBuyerBankName(saleCredit.getBankNameB()); |
| | | invoicingVoInfo.setBuyerBankNumber(saleCredit.getBankAccountB()); |
| | | //invoicingVoInfo.setBuyerAddress(.getBuyerAddress()); |
| | | invoicingVoInfo.setBuyerTelphone(saleCredit.getContactPhoneA()); |
| | | invoicingVoInfo.setInvoiceDetailsList(details); |
| | | invoicingVo.setData(invoicingVoInfo); |
| | | return invoicingVo; |
| | | } |
| | | |
| | | //@Async("myExecutor") |
| | | public Map<String, Object> redTicket(SaleCredit saleCredit) { |
| | | System.out.println("进入异步方法"); |