销售发票红冲接口

This commit is contained in:
mzr 2025-04-16 18:32:39 +08:00
parent 7eafe36ea8
commit 4a5bf28ef3
3 changed files with 18 additions and 9 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding='gb2312'?>
<module>
<rest>
<resource classname="nccloud.api.so.saleinvoice.operator.saveCommitAction" exinfo="根据销售订单号、业务单元生成销售发票、开票申请 "/>
</rest>
<rest>
<resource classname="nccloud.api.so.saleinvoice.operator.saveCommitAction" exinfo="根据销售订单号、业务单元生成销售发票、开票申请 "/>
</rest>
</module>

View File

@ -3,7 +3,6 @@ package nccloud.api.so.saleinvoice.operator;
import com.alibaba.fastjson.JSONObject;
import nc.bs.framework.common.NCLocator;
import nc.bs.framework.core.util.ObjectCreator;
import nc.bs.ia.audit.pub.CloneUtil;
import nc.bs.logging.Logger;
import nc.bs.trade.business.HYSuperDMO;
import nc.itf.uap.IUAPQueryBS;
@ -12,6 +11,7 @@ import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDate;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.pattern.tool.performance.DeepCloneTool;
import nc.vo.scmpub.res.billtype.SOBillType;
import nc.vo.so.m32.entity.SaleInvoiceBVO;
import nc.vo.so.m32.entity.SaleInvoiceHVO;
@ -47,6 +47,15 @@ public class BillSaveAction extends AbstractNCCRestResource {
public static String fplxStr = "";// 开票申请发票类型
public static DeepCloneTool deepCloneTool;
public static DeepCloneTool getCloneTool() {
if (deepCloneTool == null) {
deepCloneTool = new DeepCloneTool();
}
return deepCloneTool;
}
public BillSaveAction() {
}
@ -199,7 +208,7 @@ public class BillSaveAction extends AbstractNCCRestResource {
JSONObject bipBvoJson = newBvoArr.get(0); // 参数子表
SaleInvoiceBVO newInvBVO = new SaleInvoiceBVO();
// 克隆取值原子表销售发票
newInvBVO = (SaleInvoiceBVO) CloneUtil.depthClone(saleInvoiceBVO);
newInvBVO = (SaleInvoiceBVO) getCloneTool().deepClone(saleInvoiceBVO);
// 赋值之后修改子实体红冲时字段
newInvBVO.setCsaleinvoicebid(null); // 发票子实体id
newInvBVO.setDbilldate(dbilldate); // 开票日期
@ -227,7 +236,7 @@ public class BillSaveAction extends AbstractNCCRestResource {
}
// 克隆取值原子表销售发票
newSaleInvoiceHVO = (SaleInvoiceHVO) CloneUtil.depthClone(saleInvoiceHVO);
newSaleInvoiceHVO = (SaleInvoiceHVO) getCloneTool().deepClone(saleInvoiceHVO);
// 赋值之后修改主实体红冲时字段
newSaleInvoiceHVO.setCsaleinvoiceid(null); // 发票主实体id
newSaleInvoiceHVO.setVbillcode(null); // 发票号
@ -256,7 +265,7 @@ public class BillSaveAction extends AbstractNCCRestResource {
/**
* 构造红冲开票申请VO
*
* @param applyHeadVO 原开票申请主实体
* @param applyHeadVO Ô­¿ªÆ±ÉêÇëÖ÷ʵÌå
* @param ivApplicationBodyVOS 原开票申请子实体
* @param bject bip参数
* @param returnApproveSaleInvoiceVOs 新生成的红冲销售发票实体
@ -277,7 +286,7 @@ public class BillSaveAction extends AbstractNCCRestResource {
// 主实体属性赋值
// 克隆取值原子表开票申请
newivApplicationHeadVO = (IVApplicationHeadVO) CloneUtil.depthClone(applyHeadVO);
newivApplicationHeadVO = (IVApplicationHeadVO) getCloneTool().deepClone(applyHeadVO);
// 根据参数判断是否为部分红冲
boolean isPartHCFlag = false;
UFDouble paramNtotalorigmny = new UFDouble(bject.getString("ntotalorigmny")); // 参数价税合计主表红冲金额
@ -311,7 +320,7 @@ public class BillSaveAction extends AbstractNCCRestResource {
IVApplicationBodyVO newivApplicationBodyVO = new IVApplicationBodyVO();
// BeanUtil.copyProperties(ivApplicationBodyVO,newivApplicationBodyVO, CopyOptions.create().setIgnoreNullValue(true));
// 克隆取值原子表开票申请
newivApplicationBodyVO = (IVApplicationBodyVO) CloneUtil.depthClone(ivApplicationBodyVO);
newivApplicationBodyVO = (IVApplicationBodyVO) getCloneTool().deepClone(ivApplicationBodyVO);
// 赋值之后修改子实体红冲时字段
newivApplicationBodyVO.setPk_ivappdetail(null); // 开票申请子实体id
newivApplicationBodyVO.setBillno(null); // 开票申请子实体单据号