生成开票申请调整及注释开票申请
This commit is contained in:
parent
7738f895b7
commit
666bac34d0
|
@ -40,6 +40,7 @@ import nccloud.pubitf.ssctp.sscbd.lientage.ISSClientageMatchService;
|
|||
import org.json.JSONString;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -212,15 +213,17 @@ public class IAPISaleInvMaitainImpl {
|
|||
* 生成开票申请的旧逻辑,走不通已废弃 1.根据销售发票号查询下游开票申请 2.根据原开票申请生成新红冲
|
||||
* 新逻辑:根据税务云的发票号查询蓝字发票,根据蓝字和已生成的红字发票共同生成红字的开票申请
|
||||
*/
|
||||
IVApplicationAggVO returnSaveIVApplicationAggVO = saveIVApplication(bject, redVos);
|
||||
/*IVApplicationAggVO returnSaveIVApplicationAggVO = saveIVApplication(bject, redVos);
|
||||
if (returnSaveIVApplicationAggVO != null) {
|
||||
Logger.error("inv-redApply = " + JSONArray.toJSONString(returnSaveIVApplicationAggVO));
|
||||
// 查询红冲发票信息返回给调用方
|
||||
// 把红冲发票信息返回给调用方
|
||||
return ResultMessageUtil.toJSON(redVos, "接口调用成功");
|
||||
} else {
|
||||
Exception e = new Exception("销售红冲发票保存审核成功,开票申请保存失败");
|
||||
return ResultMessageUtil.exceptionToJSON(e);
|
||||
}
|
||||
}*/
|
||||
// 把红冲发票信息返回给调用方
|
||||
return ResultMessageUtil.toJSON(redVos, "接口调用成功");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -568,37 +571,50 @@ public class IAPISaleInvMaitainImpl {
|
|||
|
||||
public IVApplicationAggVO saveIVApplication(JSONObject bject, SaleInvoiceVO[] redVos) throws Exception {
|
||||
SaleInvoiceHVO redHvo = redVos[0].getParentVO();
|
||||
SaleInvoiceBVO[] redBodyVos = redVos[0].getChildrenVO();
|
||||
// 获取 红字发票传开票申请的数据
|
||||
ApplicationRedInvoiceService applicationRedInvoiceService = new ApplicationRedInvoiceService();
|
||||
List<Map<String, String>> jeMap = applicationRedInvoiceService.getData(redVos);
|
||||
|
||||
IVApplicationAggVO applyVo = null;
|
||||
|
||||
// BIP合同平台传的蓝字销售发票的主键
|
||||
String invId = bject.getOrDefault("vdef40", "") + "";
|
||||
|
||||
// 查询蓝字发票号对应的税务云开出的发票号
|
||||
String invCode = getSaleInvCode(invId);
|
||||
if (StringUtils.isBlank(invCode) || "null".equals(invCode)) {
|
||||
ExceptionUtils.wrapBusinessException("税务云的发票号不能为空");
|
||||
ExceptionUtils.wrapBusinessException("税务云的发票号不能为空,请等待税务云单号回写后再手动生单");
|
||||
}
|
||||
IVApplicationInvoiceService ivService = NCLocator.getInstance().lookup(IVApplicationInvoiceService.class);
|
||||
JSONObject jsonObject1 = new JSONObject();
|
||||
// 构造开票申请的VO
|
||||
IVApplicationAggVO[] applicationAggVOS = ivService.getRedInvoice("", invCode, jsonObject1);
|
||||
Logger.error("saveIVApplication-jsonObject1 = " + jsonObject1);
|
||||
if (applicationAggVOS != null) {
|
||||
String src_billid = redHvo.getCsaleinvoiceid();
|
||||
String src_pk_org = redHvo.getPk_org();
|
||||
String src_billno = redHvo.getVbillcode();
|
||||
// String src_billtypeid = "";
|
||||
String src_tradetypeid = redHvo.getCtrantypeid();
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_billid(src_billid);
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_billno(src_billno);
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_billtypeid("32");
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_sporg(src_pk_org);
|
||||
// applicationAggVOS[0].getParentVO().setSrc_jx_spr(src_spr);
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_tradetypeid(src_tradetypeid);
|
||||
if (applicationAggVOS == null || applicationAggVOS.length == 0) {
|
||||
ExceptionUtils.wrapBusinessException("构造开票申请的VO失败!");
|
||||
}
|
||||
Logger.error("saveIVApplication-getRedInvoice-jsonObject1 = " + jsonObject1);
|
||||
// 开票申请的上游单据信息赋值
|
||||
String src_billid = redHvo.getCsaleinvoiceid();
|
||||
String src_pk_org = redHvo.getPk_org();
|
||||
String src_billno = redHvo.getVbillcode();
|
||||
// String src_billtypeid = "";
|
||||
String src_tradetypeid = redHvo.getCtrantypeid();
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_billid(src_billid);
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_billno(src_billno);
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_billtypeid("32");
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_sporg(src_pk_org);
|
||||
// applicationAggVOS[0].getParentVO().setSrc_jx_spr(src_spr);
|
||||
applicationAggVOS[0].getParentVO().setSrc_jx_tradetypeid(src_tradetypeid);
|
||||
|
||||
Map<String, UFDouble> ntaxmnyMap = new HashMap<>();
|
||||
for (SaleInvoiceBVO redBodyVo : redBodyVos) {
|
||||
// vbdef6 商品名称 vbdef12 规格 vbdef13 型号
|
||||
String key = redBodyVo.getVbdef6() + redBodyVo.getVbdef12() + redBodyVo.getVbdef13();
|
||||
// ntaxmny 本币价税合计
|
||||
UFDouble ntaxmny = redBodyVo.getNtaxmny();
|
||||
ntaxmnyMap.put(key, ntaxmny);
|
||||
}
|
||||
Logger.error("saveIVApplication-ntaxmnyMap = " + ntaxmnyMap);
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
// ntotalorigmny 价税合计
|
||||
UFDouble ntotalorigmny = redHvo.getNtotalorigmny() == null ? UFDouble.ZERO_DBL : redHvo.getNtotalorigmny();
|
||||
|
@ -620,7 +636,7 @@ public class IAPISaleInvMaitainImpl {
|
|||
if (ivApplicationVOs != null && ivApplicationVOs.length > 0) {
|
||||
applyVo = ivApplicationVOs[0];
|
||||
}
|
||||
Logger.error("saveIVApplication-msg = " + jsonObject);
|
||||
Logger.error("saveIVApplication-makeRedInvoice-msg = " + jsonObject);
|
||||
return applyVo;
|
||||
}
|
||||
|
||||
|
@ -638,7 +654,7 @@ public class IAPISaleInvMaitainImpl {
|
|||
}
|
||||
|
||||
/**
|
||||
* 根据税务云单号查询发票的单号
|
||||
* 查询蓝票的税务云单号
|
||||
*
|
||||
* @param invId
|
||||
* @return
|
||||
|
|
Loading…
Reference in New Issue