销售发票红冲接口

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

View File

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