增值税管理系统与航信金税系统接口不一致的应急方案

来自ling
跳转至: 导航搜索

目录

系统上线发票信息同步

执行前准备

  • 在金税系统将分发但未使用的发票数据退回服务器
  • 在增值税管理系统后台进行请领和分发

补录请领,分发信息

需要收集信息

  1. 发票代码,发票号码,发票类型,纳税人识别号,打印点信息
  2. 如果发票已经使用并要生成手工开票信息还需要: 发票开具日期,发票含税金额,商品编码信息,是否交易匹配信息,客户纳税人识别号. 如果数据库中客户信息不存在,还需要收集更多客户信息?
  3. 如果只需要保证发票库存状态和实际一致,不需要手工开票信息,则不需要收集2所列信息
  4. 打印设备信息,不再收集,根据纳税人识别号找默认打印终端,有就存,没有就空,不抛出异常,因为这些票不存在回退问题

执行步骤

  • 根据发票代码和发票号码Insert发票请领数据
  1. TMS_CRVAT_INVOICE_TRX_H
  2. TMS_CRVAT_INVOICE_TRX_L
  • 根据发票代码和发票号码Insert发票分发数据
  • 根据发票代码和发票号码更新发票库存状态
  • 将以上数据设置CREATED_BY为SYSTEM_SYN,用于区别正常数据和修复数据
  1. 发票金额 如果存在,会生成一条手工开票信息
  2. 发票状态,可以多个具体参见销项发票流转管理概要设计文档#子模块交互协作图

补录空白发票作废

补录手工开票到发票打印流程数据

补录已打印发票作废

补录已打印发票红冲

已在增值税管理系统请领和分发空白发票,直接在金税系统发起发票打印请求并成功打印,该发票无法作废或红冲

在增值税管理系统重新发起手工开票申请,形成待打印的发票 2、根据金税系统的发票代码和发票号码,通过后台更新发票申请单(时间),发票准备单(时间),发票打印池和发票库存明细表的状态,发票数据的信息要和实际发票保持一致,包括开具日期

需要补充数据库更新脚本 需要收集的参数: (1)发票代码,发票号码,发票开具日期 (2)发票申请单编号 (3)发票准备单编号 脚本执行过程: (1)根据发票代码和发票号码更新发票打印池头表发票状态(invoice_print_status = 30)和发票打印日期(invoice_print_date)

(2)根据发票代码和发票号码更新发票库存状态(is_print = 1)和(Status = 4)

(3)根据发票申请单编号和发票打印日期更新发票申请单头信息申请日期

(4)根据发票准备单编号和发票打印日期更新发票准备单头信息的受理日期

---1.根据发票代码和发票号码更新发票打印池头表发票状态(invoice_print_status = 30)和发票打印日期
----------------------------------------------------------------------------------------------------
update tms_crvat_inv_prt_pool_h
set invoice_print_status = '30',
invoice_print_date = '2016-06-14'		--发票打印日期
where invoice_code = '3200153130'		--发票代码
and invoice_number = '42686988';		--发票号码


---2.根据发票代码和发票号码更新发票库存状态(is_print = 1)和(Status = 4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', Status = '4'
where invoice_code = '3200153130'	--发票代码
and invoice_number = '42686988';	--发票号码


---3.根据发票申请单编号和发票打印日期更新发票申请单头信息申请日期
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_req_h 
set invoice_req_date = '2016-06-14' 			--发票开具日期
where crvat_invoice_req_number = 'Req0000010'; 	--发票申请单编号


---4.根据发票准备单编号和发票打印日期更新发票准备单头信息的受理日期
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_pre_h 
set approval_date = '2016-06-14' 				--发票开具日期
where crvat_invoice_pre_number = 'Req0000010'; 	--发票准备单编号

已在增值税管理系统请领和分发空白发票,直接在金税系统打印发票并作废

1、因申报无需具体金额等数据,故直接更新后台发票状态。 需要补充数据库更新脚本 需要收集的参数: (1)发票代码,发票号码,发票开具日期 脚本执行过程: (1)根据发票代码和发票号码更新发票库存状态(三个字段:是否打印is_print = 1,是否作废 is_abolish = 1,status=5)

---1.根据发票代码和发票号码更新发票库存状态(三个字段:是否打印is_printed = 1,是否作废 is_abolish = 1,status=5)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', is_abolish = '1', status = '5'
where invoice_code = '3200153130'	--发票代码
and invoice_number = '42686988';	--发票号码

已在增值税管理系统请领和分发空白发票,在增值税管理系统发起打印,在金税系统进行作废

1、在增值税管理系统检查是否存在相关联的发票,如果存在,需要在金税系统一并作废(通过增值税管理系统操作作废查询是否存在关联发票) 2、后台更新所有相关联的发票状态,并释放交易状态 需要补充数据库更新脚本 需要收集的参数: (1)需要作废的发票代码,发票号码,发票开具日期

脚本执行过程: (1)根据发票代码和发票号码更新发票打印池状态(是否作废标志status = N)

(2)根据发票代码和发票号码更新发票库存数据(是否作废标志is_abolish = 1)(status = 5)

(3)根据发票申请单编号,释放该申请单下所有交易 (交易流水表中status 置为空)

---1.根据发票代码和发票号码更新发票打印池状态(是否作废标志status = N)
----------------------------------------------------------------------------------------------------
update tms_crvat_inv_prt_pool_h
set status = 'N'					--作废状态
where invoice_code = '3200153130'	--发票代码
and invoice_number = '42686988';	--发票号码


---2.根据发票代码和发票号码更新发票库存数据(是否作废标志is_abolish = 1)(status = 5)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_abolish = '1', Status = '5'
where invoice_code = '3200153130'	--发票代码
and invoice_number = '42686988';	--发票号码


---3.根据发票申请单编号,释放该申请单下所有交易 (交易流水表中status 置为空)
----------------------------------------------------------------------------------------------------
update tms_crvat_trx_pool_all trxp
set status=null
where crvat_trx_pool_id in (
select trxp.crvat_trx_pool_id from tms_crvat_trx_pool_all trxp,
	   tms_crvat_invoice_req_h reqh,
	   tms_crvat_invoice_req_l reql
where reql.crvat_trx_pool_id = trxp.crvat_trx_pool_id
and reqh.crvat_invoice_req_h_id = reql.crvat_invoice_req_h_id
and reqh.crvat_invoice_req_number = 'Req0000321'		--发票申请单编号
);

已在增值税管理系统请领和分发空白发票,直接在金税系统发票打印请求,并红冲

1、在增值税管理系统重新发起开票申请,形成待打印的发票 2、根据金税系统发票代码、发票号码,更新打印池发票数据和发票状态,包括开具日期 3、根据红字信息表编号,在后台补充红字信息表信息 4、根据蓝字发票信息,在后台补充红字发票信息,并根据红字发票发票编号和发票代码,更新打印池发票数据和发票状态 5、后台更新发票申请单,发票准备单日期 需要补充数据库更新脚本 需要收集的参数: (1)需要红冲的蓝字发票代码,发票号码,发票开具日期 (2)红冲生成的红字发票代码,发票号码,发票开具日期 (3)发票申请单编号 (4)红字信息表编号(红字发票表头编号) (5)红字信息表流水号 (6)金税盘号 (7)红字申请原因(申请方和申请原因)

脚本执行过程: (1)根据发票代码和发票号码更新蓝字发票打印池数据 (发票代码)(发票号码)(是否打印标志 invoice_print_status = 30)(是否红冲标志is_reverse = 1)

(2)根据蓝字发票代码和发票号码更新蓝字发票库存数据(is_print = 1)(is_reverse = 1)

(3)根据蓝字发票信息和红字信息表编号,insert红字信息表信息 (销项发票红冲申请-TMS_CRVAT_INV_REVERSE_REQ) • 销项发票红冲ID (36UUID) -- INV_REV_RID_000_YYYY_MMDD_0000_0000x • 红字申请日期 INVOICE_REVERSE_REQ_DATE = 'YYYY-MM-DD' • 蓝字发票代码 • 蓝字发票号码 • NVOICE_REVERSE_REQ_REASON = '0000000110-21' • 红字发票表头编号 INVOICE_REVERSE_HEADER_NO (行方提供) • APPROVAL_STATUS = 3 • APPROVAL_BY = admin • APPROVAL_DATE = "current date" • Attribute1 = 'TZD0000' • Attribute2 = '审核通过' • Attribute3 = (行方提供-信息表流水号) • 公共字段


字段名 值 备注 INVOICE_REVERSE_REQ_ID INV_REV_RID_000_YYYY_MMDD_0000_0000x INV_REV_RID_000_YYYY_MMDD_0000_0000x INVOICE_REVERSE_REQ_DATE 02/06/2016 当前日期 INVOICE_CODE 1100123530 INVOICE_NUMBER 00066863 INVOICE_REVERSE_REQ_REASON 0000000110-21 INVOICE_REVERSE_HEADER_NO 红字发票表头编号 - 请求方提供 REQUEST_DATE 02/06/2016 当前日期 APPROVAL_STATUS 3 APPROVAL_BY admin APPROVAL_DATE 02/06/2016 当前日期 ATTRIBUTE1 TZD0000 ATTRIBUTE2 审核通过 ATTRIBUTE3 信息表流水号 - 请求方提供 ARCHIVE_BASE_DATE 02/06/2018 31/12/2099 BIZ_ORG_CODE 700000 CREATED_BY admin CREATION_DATE 02/06/2016 当前日期 LAST_UPDATED_BY admin LAST_UPDATE_DATE 02/06/2016 当前日期 RECORD_VERSION 1 DELETED_FLAG 1 DATA_OWNER_CODE 700000 COMPANY_ID deloitte.tms OPERATION_ORG_CODE 700000 ORG_ID ORGID-0000-0000-0000-0000-0000-00001 INVOICE_REVERSE_ISSUE_DATE 02/03/2016 0:00 当前日期 INVOICE_REVERSE_REQ_NUMBER CreYYYYMMDDCre000000X INVOICE_TYPE 2 ISSUE_STATUS 2 NEXT_TYPE 1 REQUEST_TYPE 1 REVERSE_AMOUNT -1,056 从蓝字发票获取 UP_DOWN_DATE 02/06/2016 17:37 UP_DOWN_STATUS 5 VAT_AMOUNT -59.77 从蓝字发票获取


(4)根据蓝字发票信息和红字信息表编号,在发票打印池insert红字发票数据 (TMS_CRVAT_INV_PRT_POOL_H, TMS_CRVAT_INV_PRT_POOL_L)

采用临时表复制蓝字发票的记录,然后更改蓝字发票为相应的红字发票后将红字发票记录插入到发票打印池头表和行表。

(5)根据蓝字发票代码和发票号码更新蓝字发票库存数据(二个字段:是否打印is_print = 1,是否红冲 is_reverse = 1, status=4)

(6)根据蓝字发票申请单编号,释放该申请单下所有交易(交易流水表中status 置为空)

---1.根据发票代码和发票号码更新蓝字发票打印池数据 (发票代码)(发票号码)(是否打印标志 invoice_print_status = 30)(是否红冲标志is_reverse = 1)
----------------------------------------------------------------------------------------------------
update tms_crvat_inv_prt_pool_h
set invoice_print_status = '30',		
	is_reverse = '1'					
where invoice_code = '3200153130'		--发票代码(蓝票)
and invoice_number = '42686988';		--发票号码(蓝票)


---2.根据发票代码和发票号码更新发票库存状态(is_print = 1)和(Status = 4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', is_reverse = '1'
where invoice_code = '3200153130'	--发票代码(蓝票)
and invoice_number = '42686988';	--发票号码(蓝票)


---3.根据蓝字发票信息和红字信息表编号,insert红字信息表信息 ( 销项发票红冲申请 - TMS_CRVAT_INV_REVERSE_REQ )
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INV_REVERSE_REQ (
INVOICE_REVERSE_REQ_ID,
INVOICE_REVERSE_REQ_DATE,
INVOICE_CODE,
INVOICE_NUMBER,
INVOICE_REVERSE_REQ_REASON,
INVOICE_REVERSE_HEADER_NO,
REQUEST_DATE,
APPROVAL_STATUS,
APPROVAL_BY,
APPROVAL_DATE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
COMPANY_ID,
OPERATION_ORG_CODE,
ORG_ID,
INVOICE_REVERSE_ISSUE_DATE,
INVOICE_REVERSE_REQ_NUMBER,
INVOICE_TYPE,
ISSUE_STATUS,
NEXT_TYPE,
REQUEST_TYPE,
REVERSE_AMOUNT,
UP_DOWN_DATE,
UP_DOWN_STATUS,
VAT_AMOUNT) VALUES
('INV_REV_RID_000_YYYY_MMDD_0000_00001',  --红冲申请单ID(自定义),YYYY_MMDD为年月日
current_date,
'1100123530',
'00066863',
'0000000110-21',
'000000000000',  		--红字发票头编号
current_date,
'3',
'admin',
current_date,
'TZD0000',
'审核通过',	
'0000000',				--信息表流水号
'2099-12-31',
'700000',
'admin',
current_date,
'admin',
current_date,
'1',
'1',
'700000',
'deloitte.tms',
'700000',
'ORGID-0000-0000-0000-0000-0000-00001',
current_date,
'Cre<YYYYMMDD>Cre<000000X>',	--<YYYYMMDD>为年月日、<000000X>为不重复编号
'2',
'2',
'1',
'1',
-1056,					--发票金额(和蓝票一致)
current_date,
'5',
-59.77);				--发票税额(和蓝票一致)



---4.根据蓝字发票信息和红字信息表编号,在发票打印池insert红字发票数据 (TMS_CRVAT_INV_PRT_POOL_H, TMS_CRVAT_INV_PRT_POOL_L)
----------------------------------------------------------------------------------------------------
create table tms_crvat_inv_prt_pool_h_temp like tms_crvat_inv_prt_pool_h;
create table tms_crvat_inv_prt_pool_l_temp like tms_crvat_inv_prt_pool_l;

insert into tms_crvat_inv_prt_pool_h_temp
select * from tms_crvat_inv_prt_pool_h
where invoice_code = '3500161350'		--发票代码(蓝票)
and invoice_number = '00055868';		--发票号码(蓝票)

insert into tms_crvat_inv_prt_pool_l_temp
select prtl.* from tms_crvat_inv_prt_pool_l prtl, tms_crvat_inv_prt_pool_h prth
where prtl.invoice_prt_pool_h_id = prth.invoice_prt_pool_h_id
and prth.invoice_code = '3500161350'		--发票代码(蓝票)
and prth.invoice_number = '00055868';		--发票号码(蓝票)

update tms_crvat_inv_prt_pool_h_temp
set invoice_prt_pool_h_id = 'INV_PRT_PHD_000_YYYY_MMDD_00_00001',  		--发票头ID(自定义),YYYY_MMDD为年月日
	invoice_reverse_header_no = 'INV_REV_RID_000_2016_0615_0000_00001',		--红冲申请单ID(第3步插入的数据)
	is_reverse = null,
	invoice_code = '3500161350',		--发票代码(红票)
	invoice_number = '00055999';		--发票号码(红票)
	
update tms_crvat_inv_prt_pool_l_temp
set invoice_prt_pool_l_id = 'INV_PRT_LID_'||to_char(current_timestamp,'YYYY-MM-DD-HH24miss')||'_'||to_char(digits(cast(row_number() over() as decimal(6,0)))) from sysibm.dual;,
	invoice_amount = -1*invoice_amount,
	vat_amount = -1*vat_amount;

insert into tms_crvat_inv_prt_pool_h select * from tms_crvat_inv_prt_pool_h_temp;
insert into tms_crvat_inv_prt_pool_l select * from tms_crvat_inv_prt_pool_l_temp;

drop table tms_crvat_inv_prt_pool_h_temp;
drop table tms_crvat_inv_prt_pool_l_temp;


---5.根据蓝字发票代码和发票号码更新蓝字发票库存数据(二个字段:是否打印is_print = 1,是否红冲 is_reverse = 1, status=4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', is_reverse = '1', Status = '4'
where invoice_code = '3500161350'	--发票代码
and invoice_number = '00055868';	--发票号码


---6.根据发票申请单编号,释放该申请单下所有交易 (交易流水表中status 置为空)
----------------------------------------------------------------------------------------------------
update tms_crvat_trx_pool_all trxp
set status=null
where crvat_trx_pool_id in (
select trxp.crvat_trx_pool_id from tms_crvat_trx_pool_all trxp,
	   tms_crvat_invoice_req_h reqh,
	   tms_crvat_invoice_req_l reql
where reql.crvat_trx_pool_id = trxp.crvat_trx_pool_id
and reqh.crvat_invoice_req_h_id = reql.crvat_invoice_req_h_id
and reqh.crvat_invoice_req_number = 'Req0000321'		--发票申请单编号
);

已在增值税管理系统请领和分发空白发票,在增值税管理系统发起打印,在金税系统进行红冲

1、在增值税管理系统检查是否存在相关联的发票,如果存在,需要在金税系统一并红冲 2、根据金税系统发票代码、发票号码,更新打印池发票数据和发票状态,包括开具日期 3、根据红字信息表编号,在后台补充红字信息表信息 4、根据蓝字发票信息,在后台补充红字发票信息,并根据红字发票发票编号和发票代码,更新打印池发票数据和发票状态 需要补充数据库更新脚本 需要收集的参数: (1)需要红冲的蓝字发票代码,发票号码,发票开具日期 (2)红冲生成的红字发票代码,发票号码,发票开具日期 (3)发票申请单编号 (4)红字信息表编号 (5)红字信息表流水号 (6)金税盘号 (7)红字申请原因(申请方和申请原因)

脚本执行过程: (1)根据发票代码和发票号码更新蓝字发票打印池数据 (是否红冲标志is_reverse = 1)

(2)根据蓝字发票代码和发票号码更新蓝字发票库存数据 (是否红冲 is_reverse = 1)


(3)根据蓝字发票信息和红字信息表编号,insert红字信息表信息(销项发票红冲申请-TMS_CRVAT_INV_REVERSE_REQ) • 销项发票红冲ID (36UUID) -- INV_REV_RID_000_YYYY_MMDD_0000_0000x • 红字申请日期 INVOICE_REVERSE_REQ_DATE = 'YYYY-MM-DD' • 蓝字发票代码 • 蓝字发票号码 • NVOICE_REVERSE_REQ_REASON = '0000000110-21' • 红字发票表头编号 INVOICE_REVERSE_HEADER_NO (行方提供) • APPROVAL_STATUS = 3 • APPROVAL_BY = admin • APPROVAL_DATE = "current date" • Attribute1 = 'TZD0000' • Attribute2 = '审核通过' • Attribute3 = (行方提供-信息表流水号) • 公共字段 字段名 值 备注 INVOICE_REVERSE_REQ_ID INV_REV_RID_000_YYYY_MMDD_0000_0000x INV_REV_RID_000_YYYY_MMDD_0000_0000x INVOICE_REVERSE_REQ_DATE 02/06/2016 当前日期 INVOICE_CODE 1100123530 INVOICE_NUMBER 00066863 INVOICE_REVERSE_REQ_REASON 0000000110-21 INVOICE_REVERSE_HEADER_NO 红字发票表头编号 - 请求方提供 REQUEST_DATE 02/06/2016 当前日期 APPROVAL_STATUS 3 APPROVAL_BY admin APPROVAL_DATE 02/06/2016 当前日期 ATTRIBUTE1 TZD0000 ATTRIBUTE2 审核通过 ATTRIBUTE3 信息表流水号 - 请求方提供 ARCHIVE_BASE_DATE 02/06/2018 31/12/2099 BIZ_ORG_CODE 700000 CREATED_BY admin CREATION_DATE 02/06/2016 当前日期 LAST_UPDATED_BY admin LAST_UPDATE_DATE 02/06/2016 当前日期 RECORD_VERSION 1 DELETED_FLAG 1 DATA_OWNER_CODE 700000 COMPANY_ID deloitte.tms OPERATION_ORG_CODE 700000 ORG_ID ORGID-0000-0000-0000-0000-0000-00001 INVOICE_REVERSE_ISSUE_DATE 02/03/2016 0:00 当前日期 INVOICE_REVERSE_REQ_NUMBER CreYYYYMMDDCre000000X INVOICE_TYPE 2 ISSUE_STATUS 2 NEXT_TYPE 1 REQUEST_TYPE 1 REVERSE_AMOUNT -1,056 从蓝字发票获取 UP_DOWN_DATE 02/06/2016 17:37 UP_DOWN_STATUS 5 VAT_AMOUNT -59.77 从蓝字发票获取

(4)根据蓝字发票信息和红字信息表编号,在发票打印池insert红字发票数据

采用临时表复制蓝字发票的记录,然后更改蓝字发票为相应的红字发票后将红字发票记录插入到发票打印池头表和行表。

(5)根据蓝字发票代码和发票号码更新蓝字发票库存数据 (是否红冲 is_reverse = 1)

(6)根据蓝字发票申请单编号,释放该申请单下所有交易 (交易流水表中status 置为空)

---1.根据发票代码和发票号码更新蓝字发票打印池数据(是否红冲标志is_reverse = 1)
----------------------------------------------------------------------------------------------------
update tms_crvat_inv_prt_pool_h
set is_reverse = '1'					
where invoice_code = '3200153130'		--发票代码(蓝票)
and invoice_number = '42686988';		--发票号码(蓝票)


---2.根据蓝字发票代码和发票号码更新蓝字发票库存数据(是否红冲 is_reverse = 1)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_reverse = '1'
where invoice_code = '3200153130'	--发票代码(蓝票)
and invoice_number = '42686988';	--发票号码(蓝票)


---3.根据蓝字发票信息和红字信息表编号,insert红字信息表信息 ( 销项发票红冲申请 - TMS_CRVAT_INV_REVERSE_REQ )
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INV_REVERSE_REQ (
INVOICE_REVERSE_REQ_ID,
INVOICE_REVERSE_REQ_DATE,
INVOICE_CODE,
INVOICE_NUMBER,
INVOICE_REVERSE_REQ_REASON,
INVOICE_REVERSE_HEADER_NO,
REQUEST_DATE,
APPROVAL_STATUS,
APPROVAL_BY,
APPROVAL_DATE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
COMPANY_ID,
OPERATION_ORG_CODE,
ORG_ID,
INVOICE_REVERSE_ISSUE_DATE,
INVOICE_REVERSE_REQ_NUMBER,
INVOICE_TYPE,
ISSUE_STATUS,
NEXT_TYPE,
REQUEST_TYPE,
REVERSE_AMOUNT,
UP_DOWN_DATE,
UP_DOWN_STATUS,
VAT_AMOUNT) VALUES
('INV_REV_RID_000_YYYY_MMDD_0000_00001',  --红冲申请单ID(自定义),YYYY_MMDD为年月日
current_date,
'1100123530',
'00066863',
'0000000110-21',
'000000000000',  		--红字发票头编号
current_date,
'3',
'admin',
current_date,
'TZD0000',
'审核通过',	
'0000000',				--信息表流水号
'2099-12-31',
'700000',
'admin',
current_date,
'admin',
current_date,
'1',
'1',
'700000',
'deloitte.tms',
'700000',
'ORGID-0000-0000-0000-0000-0000-00001',
current_date,
'Cre<YYYYMMDD>Cre<000000X>',	--<YYYYMMDD>为年月日、<000000X>为不重复编号
'2',
'2',
'1',
'1',
-1056,					--发票金额(和蓝票一致)
current_date,
'5',
-59.77);				--发票税额(和蓝票一致)



---4.根据蓝字发票信息和红字信息表编号,在发票打印池insert红字发票数据 (TMS_CRVAT_INV_PRT_POOL_H, TMS_CRVAT_INV_PRT_POOL_L)
----------------------------------------------------------------------------------------------------
create table tms_crvat_inv_prt_pool_h_temp like tms_crvat_inv_prt_pool_h;
create table tms_crvat_inv_prt_pool_l_temp like tms_crvat_inv_prt_pool_l;

insert into tms_crvat_inv_prt_pool_h_temp
select * from tms_crvat_inv_prt_pool_h
where invoice_code = '3500161350'		--发票代码(蓝票)
and invoice_number = '00055868';		--发票号码(蓝票)

insert into tms_crvat_inv_prt_pool_l_temp
select prtl.* from tms_crvat_inv_prt_pool_l prtl, tms_crvat_inv_prt_pool_h prth
where prtl.invoice_prt_pool_h_id = prth.invoice_prt_pool_h_id
and prth.invoice_code = '3500161350'		--发票代码(蓝票)
and prth.invoice_number = '00055868';		--发票号码(蓝票)

update tms_crvat_inv_prt_pool_h_temp
set invoice_prt_pool_h_id = 'INV_PRT_PHD_000_YYYY_MMDD_00_00001',  		--发票头ID(自定义),YYYY_MMDD为年月日
	invoice_reverse_header_no = 'INV_REV_RID_000_2016_0615_0000_00001',		--红冲申请单ID(第3步插入的数据)
	is_reverse = null,
	invoice_code = '3500161350',		--发票代码(红票)
	invoice_number = '00055999';		--发票号码(红票)
	
update tms_crvat_inv_prt_pool_l_temp
set invoice_prt_pool_l_id = 'INV_PRT_LID_'||to_char(current_timestamp,'YYYY-MM-DD-HH24miss')||'_'||to_char(digits(cast(row_number() over() as decimal(6,0)))) from sysibm.dual;,
	invoice_amount = -1*invoice_amount,
	vat_amount = -1*vat_amount;

insert into tms_crvat_inv_prt_pool_h select * from tms_crvat_inv_prt_pool_h_temp;
insert into tms_crvat_inv_prt_pool_l select * from tms_crvat_inv_prt_pool_l_temp;

drop table tms_crvat_inv_prt_pool_h_temp;
drop table tms_crvat_inv_prt_pool_l_temp;


---5.根据蓝字发票代码和发票号码更新蓝字发票库存数据(二个字段:是否打印is_print = 1,是否红冲 is_reverse = 1, status=4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', is_reverse = '1', Status = '4'
where invoice_code = '3500161350'	--发票代码
and invoice_number = '00055868';	--发票号码


---6.根据发票申请单编号,释放该申请单下所有交易 (交易流水表中status 置为空)
----------------------------------------------------------------------------------------------------
update tms_crvat_trx_pool_all trxp
set status=null
where crvat_trx_pool_id in (
select trxp.crvat_trx_pool_id from tms_crvat_trx_pool_all trxp,
	   tms_crvat_invoice_req_h reqh,
	   tms_crvat_invoice_req_l reql
where reql.crvat_trx_pool_id = trxp.crvat_trx_pool_id
and reqh.crvat_invoice_req_h_id = reql.crvat_invoice_req_h_id
and reqh.crvat_invoice_req_number = 'Req0000321'		--发票申请单编号
);

在金税系统直接做了空白发票请领和分发,在增值税管理系统未执行

1、在金税系统执行退回服务器 2、在增值税管理系统进行请领同步并进行分发,将分发结果同步给金税系统 无需后台更新数据

增值税管理系统未完成发票的请领和分发,直接在金税系统完成了发票的请领和分发操作,并通过增值税管理系统发起发票打印

1、根据金税系统和增值税管理系统的数据情况确认分发不一致的发票数据 2、在金税系统将分发不一致但未使用的发票数据退回服务器 3、在增值税管理系统后台将已打印发票进行请领和分发 4、根据已打印发票的情况,分三种情况处理: (1)情况一:如发票正常使用,后台更新发票库存状态。 (2)情况二:如发票已在金税系统中作废,按场景3后台更新发票状态 (3)情况三:如发票已在金税系统中红冲,按场景5后台更新发票状态 5、在增值税管理系统将第2步退回的发票进行请领和分发,同步航信服务器 需要补充数据库更新脚本 需要收集的参数: (1) 发票代码,发票号码,发票类型,发票开具日期,机构号,打印设备信息, 纳税人识别号

脚本执行过程: (1)根据发票代码和发票号码Insert发票请领数据 (TMS_CRVAT_INVOICE_TRX_H,TMS_CRVAT_INVOICE_TRX_L)

TMS_CRVAT_INVOICE_TRX_H -销项税发票请领入库单头表 备注 字段名 值示例 请领单头表ID - INV_TRX_HID_000_YYYY_MMDD_0000_00001 CRVAT_INVOICE_TRX_H_ID INV_TRX_HID_000_2016_0616_0000_00001 请领单单号 —RECYYYYMMDD00001 CRVAT_INVOICE_TRX_NUMBER REC201606160001 发票请领日期 (当前日期) INVOICE_TRX_DATE 2016-06-01 00:00:00.0 纳税人实体ID (数据导入数据库后再根据纳税人识别号反查更新) 根据Attribute1中纳税人识别号反查 LEGAL_ENTITY_ID 数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 审核状态 stocked-已入库 draft-草稿 APPROVAL_STATUS stocked 纳税人识别号 (红色为没有数据的识别号) ATTRIBUTE1 91500000902901959A 插入式更新用查询条件 ATTRIBUTE2 中信银行股份有限公司重庆分行 申请日期 (当前日期) ARCHIVE_BASE_DATE 2016-06-01 00:00:00.0 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 最后更新日期 (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 操作人组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 742001

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update

公司ID COMPANY_ID deloitte.tms 组织ID (根据纳税人识别号和纳税主体确定) ORG_ID 1f6e212d-77f2-45b6-bdb5-1f57683ff185

数据初始插入空值,然后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_ID后update

申请人 REQUESTION_BY admin 审核日期 (当前日期) APPROVAL_DATE 2016-06-01 00:00:00.0

TMS_CRVAT_INVOICE_TRX_L -销项税发票请领入库单行表 备注 字段名 值示例 请领单行ID INV_TRX_LID_000_YYYY_MMDD_0000_00001 CRVAT_INVOICE_TRX_L_ID INV_TRX_LID_000_2016_0616_0000_00001 请领单头ID (从头表中关联) CRVAT_INVOICE_TRX_H_ID INV_TRX_HID_000_2016_0616_0000_00001 发票开始号码 START_INVOICE_NUMBER 35106576 发票截至号码 END_INVOICE_NUMBER 35106625 发票数量 INVOICE_QTY 50 发票请领人 INVOICE_TRX_BY admin 发票代码 INVOICE_CODE 1100153130 纳税人实体ID LEGAL_ENTITY_ID f057c22b-0dcc-4790-8eb7-cacd2180a199

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 是否使用 IS_USAGE 0 纳税人识别号 ATTRIBUTE1 110105101690725 纳税人名称 ATTRIBUTE2 0 发票类型 ATTRIBUTE10 0 申请日期 (当前日期) ARCHIVE_BASE_DATE 2016-06-01 00:00:00.0 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 最后更新日期 (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 操作人组织机构号 OPERATION_ORG_CODE 742001

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update

公司ID COMPANY_ID deloitte.tms 发票分类 1. 增值税普通发票 2. 增值税专用发票 INVOICE_CATEGORY 2


(2)根据发票代码和发票号码Insert发票分发数据 (TMS_CRVAT_INVOICE_ALLOT_H,TMS_CRVAT_INVOICE_ALLOT_L, TMS_CRVAT_INVOICE_ALLOT_D)

TMS_CRVAT_INVOICE_ALLOT_H -销项税发票分发头 备注 字段名 值示例 分发单头表ID - INV_ALT_HID_000_YYYY_MMDD_0000_00001 INVOICE_ALLOT_H_ID INV_ALT_HID_000_2016_0612_0000_00001 分发单号码 -DISYYYYMMDD00001 INVOICE_ALLOT_NUMBER DIS201606160001 分发单类型 D-分发单 R-回退单 ALLOT_H_TYPE D 分发单申请人 INVOICE_ALLOT_REQ_BY admin 审核日期 APPROVAL_DATE 2016-06-01 00:00:00.0 审核状态 distributed-已分发 approved-已审核 returned-已退回 draft-草稿 APPROVAL_STATUS distributed 纳税人识别号 ATTRIBUTE1 91120000722977817N 纳税人名称 ATTRIBUTE2 中信银行股份有限公司天津分行 创建人 CREATED_BY admin 创建日期 CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 版本号 RECORD_VERSION 2 删除标记 DELETED_FLAG 1 操作人组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 723101 数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update 公司ID COMPANY_ID deloitte.tms 组织ID (根据纳税人识别号和纳税主体确定) ORG_ID 66ede8ec-04ec-4254-8955-a10f51a54787


数据初始插入空值,然后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_ID后update

TMS_CRVAT_INVOICE_ALLOT_L -销项税发票分发行表 备注 字段名 值示例 分发单行ID - INV_ALT_LID_000_YYYY_MMDD_0000_00001 INVOICE_ALLOT_L_ID INV_ALT_LID_000_2016_0616_0000_00001 分发单头ID

 对应于头表ID	INVOICE_ALLOT_H_ID	INV_ALT_HID_000_2016_0612_0000_00001

纳税人实体ID

根据纳税识别号回写	LEGAL_ENTITY_ID	f057c22b-0dcc-4790-8eb7-cacd2180a199

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 发票代码 INVOICE_CODE 1200154130 打印终端ID 根据打印设备回写 EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097 发票数量 INVOICE_ALLOT_QTY 1 起始号码 START_INVOICE_NUMBER 05156301 截至号码 END_INVOICE_NUMBER 05156301 纳税识别号 用于数据库查询纳税实体ID,组织ID,机构号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机 0 ATTRIBUTE9 中信银行股份有限公司天津分行 0 ATTRIBUTE10 增值税专用发票 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 723101

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update 公司ID COMPANY_ID deloitte.tms 发票分类 1. 增值税普通发票 2.增值税专用发票 INVOICE_CATEGORY 2

TMS_CRVAT_INVOICE_ALLOT_D -销项税发票分发明细表 备注 字段名 值示例 分发单明细ID INVOICE_ALLOT_D_ID INV_ALT_DID_000_2016_0616_0000_00001 分发单行ID INVOICE_ALLOT_L_ID INV_ALT_LID_000_2016_0612_0000_00001 发票代码 INVOICE_CODE 1200154130 发票号码 INVOICE_NUMBER 05156301 纳税人实体ID LEGAL_ENTITY_ID 73ba822f-8a38-4e3a-b44e-7d9d44b478d1

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 打印终端ID EQUIPMENT_ID 通过tms_md_equipment表中equipment_code和equipment_name查询出equipment_id 发票数量 INVOICE_QTY 1 纳税识别号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 大同支行客户端1 (需要分行提供) 打印终端编号 ATTRIBUTE3 PC-DT-1(需要分行提供) 申请日期 (当前日期) ARCHIVE_BASE_DATE 2099-12-31 00:00:00.0 组织机构代码 BIZ_ORG_CODE 700000 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 0 LAST_UPDATED_BY admin (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 0 RECORD_VERSION 1 0 DELETED_FLAG 1 申请人组织机构代码 DATA_OWNER_CODE 700000 申请人组织机构代码 OPERATION_ORG_CODE 700000 公司ID COMPANY_ID deloitte.tms

(3)根据发票代码和发票号码Insert发票库存数据 (TMS_CRVAT_INVOICE_ONHAND)

备注 字段名 值示例 发票库存ID INV_ONHAND_0000_YYYY_MMDD_0000_00001 INVENTORY_INVOICE_ID INV_ONHAND_0000_2016_0616_0000_00001 发票事务处理(如请领入库/退回ID) 关联到对应的请领行表ID CRVAT_INVOICE_TRX_ID INV_TRX_LID_000_2016_0616_0000_00001 发票代码 INVOICE_CODE 1200154130 发票分类 1. 增值税普通发票 2.增值税专用发票 INVOICE_CATEGORY 2 发票号码 (8位) INVOICE_NUMBER 05156301 发票数量 INVOICE_QTY 1 打印终端ID 根据打印设备查询回写 EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097

(数据同步可以为空) 纳税人实体ID ,根据纳税识别号回写 LEGAL_ENTITY_ID 73ba822f-8a38-4e3a-b44e-7d9d44b478d1

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 是否使用 IS_USAGE 0 是否作废 IS_ABOLISH 0 是否回退 IS_RETURN 0 是否丢失 IS_LOST 0 是否被红冲 IS_REVERSE 0 是否上交 IS_HANDING 0 状态 4 - 已打印 5 - 已作废 STATUS 归档基准日期 ARCHIVE_BASE_DATE 2018-06-01 00:18:22.274 组织机构代码 BIZ_ORG_CODE 700000 创建人 CREATED_BY admin 创建日期 CREATION_DATE 2016-06-01 00:18:22.274 最后更新人 LAST_UPDATED_BY admin 最后更新日期 LAST_UPDATE_DATE 2016-06-01 00:19:03.414 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 申请人组织代码 DATA_OWNER_CODE 700000 操作人组织机构代码 OPERATION_ORG_CODE 700000 公司ID COMPANY_ID deloitte.tms 是否分发 IS_ALLOT 1 是否上锁 IS_LOCK 0 是否打印 IS_PRINTED 0 是否寄送 IS_DELIVERY 0 是否归档 IS_ARCH 0 纳税识别号 用于数据库查询纳税实体ID,组织ID,机构号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机 打印终端编号 ATTRIBUTE3 PC-DT-1(需要分行提供)

(4)根据发票代码和发票号码更新发票库存状态 (二个字段:是否打印is_print = 1, status=4)

注意:如为作废和红冲情况,按场景3和场景5继续后续处理步骤

---1.根据发票代码和发票号码Insert发票请领数据 (TMS_CRVAT_INVOICE_TRX_H,TMS_CRVAT_INVOICE_TRX_L)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_TRX_H (
CRVAT_INVOICE_TRX_H_ID,
CRVAT_INVOICE_TRX_NUMBER,
INVOICE_TRX_DATE,
APPROVAL_STATUS,
ATTRIBUTE1,
ATTRIBUTE2,
ARCHIVE_BASE_DATE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
REQUESTION_BY,
APPROVAL_DATE)
values (
'INV_TRX_HID_000_YYYY-MMDD_0000_00001',  --请领单头表ID,修改编号<YYYY-MMDD><0000x>
'REC'||to_char(current_timestamp,'YYYYMMDDHH24miss'), --请领单单号 
current_date,
'stocked',
'91500000902901959A',	--纳税人识别号,需要提供
'中信银行股份有限公司重庆分行', 	--纳税实体名称,需要提供
'2099-12-31',
'admin',
current_date,
'admin',
current_date,
'1',
'1',
'deloitte.tms',
'admin',
current_date);

update TMS_CRVAT_INVOICE_TRX_H trxh
set trxh.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = trxh.ATTRIBUTE1)
where trxh.CRVAT_INVOICE_TRX_H_ID = 'INV_TRX_HID_000_2016-0617_0000_00001'; --请领单头表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_TRX_H trxh
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and trxh.attribute1 = le.REGISTRATION_NUMBER)
where trxh.CRVAT_INVOICE_TRX_H_ID = 'INV_TRX_HID_000_2016-0617_0000_00001'; --请领单头表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_TRX_H trxh
set ORG_ID = (
select org.org_id 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and trxh.attribute1 = le.REGISTRATION_NUMBER)
where trxh.CRVAT_INVOICE_TRX_H_ID = 'INV_TRX_HID_000_2016-0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定


insert into TMS_CRVAT_INVOICE_TRX_L (
CRVAT_INVOICE_TRX_L_ID,
CRVAT_INVOICE_TRX_H_ID,
START_INVOICE_NUMBER,
END_INVOICE_NUMBER,
INVOICE_QTY,
INVOICE_TRX_BY,
INVOICE_CODE,
IS_USAGE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE10,
ARCHIVE_BASE_DATE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
INVOICE_CATEGORY)
values (
'INV_TRX_LID_000_YYYY-MMDD_0000_00001',		--请领单行表ID,修改编号<YYYY-MMDD><0000x>
'INV_TRX_HID_000_2016-0617_0000_00001',		--请领单头表ID, 插入请领单头时已指定
'35106576',									--发票开始号码,需要提供
'35106576',									--发票截至号码,需要提供
'1',										--发票数量,需要提供
'admin',
'1100153130',								--发票代码,需要提供
'0',
'110105101690725',							--纳税人识别号,和请领单一致
'0',
'0',
'2099-12-31 00:00:00.0',
'admin',
current_timestamp,
'admin',
current_timestamp,
'1',
'1',
'deloitte.tms',
'2'											--发票类型 1. 增值税普通发票 2. 增值税专用发票,需要提供
);

update TMS_CRVAT_INVOICE_TRX_L trxl
set trxh.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = trxh.ATTRIBUTE1)
where trxl.CRVAT_INVOICE_TRX_L_ID = 'INV_TRX_LID_000_2016-0617_0000_00001'; --请领单行表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_TRX_L trxl
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and trxl.attribute1 = le.REGISTRATION_NUMBER)
where trxl.CRVAT_INVOICE_TRX_L_ID = 'INV_TRX_LID_000_2016-0617_0000_00001'; --请领单行表ID, 插入请领单头时已指定


---2.根据发票代码和发票号码Insert发票分发数据(TMS_CRVAT_INVOICE_ALLOT_H,TMS_CRVAT_INVOICE_ALLOT_L, TMS_CRVAT_INVOICE_ALLOT_D)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_ALLOT_H (
INVOICE_ALLOT_H_ID,
INVOICE_ALLOT_NUMBER,
ALLOT_H_TYPE,
INVOICE_ALLOT_REQ_BY,
APPROVAL_DATE,
APPROVAL_STATUS,
ATTRIBUTE1,
ATTRIBUTE2,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID)
values (
'INV_ALT_HID_000_2016_0617_0000_00001',					--分发单头表ID,修改编号<YYYY-MMDD><0000x>
'DIS'||to_char(current_timestamp,'YYYYMMDDHH24mi'),		--分发单号码
'D',
'admin',
current_timestamp,
'distributed',
'91120000722977817N',									--纳税人识别号,和请领单一致,需要提供
'中信银行股份有限公司天津分行',	 						--纳税实体名称,和请领单一致,需要提供
'admin',
current_timestamp,
'admin',
'2',
'1',
'deloitte.tms')

update TMS_CRVAT_INVOICE_ALLOT_H alth
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and alth.attribute1 = le.REGISTRATION_NUMBER)
where alth.INVOICE_ALLOT_H_ID = 'INV_ALT_HID_000_2016_0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_H alth
set ORG_ID = (
select org.org_id 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and alth.attribute1 = le.REGISTRATION_NUMBER)
where alth.INVOICE_ALLOT_H_ID = 'INV_ALT_HID_000_2016_0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定

insert into TMS_CRVAT_INVOICE_ALLOT_L (
INVOICE_ALLOT_L_ID,
INVOICE_ALLOT_H_ID,
INVOICE_CODE,
INVOICE_ALLOT_QTY,
START_INVOICE_NUMBER,
END_INVOICE_NUMBER,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE9,
ATTRIBUTE10,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
INVOICE_CATEGORY)
values (
'INV_ALT_LID_000_YYYY_MMDD_0000_00001',		--分发单行表ID,修改编号<YYYY-MMDD><0000x>
'INV_ALT_HID_000_2016_0617_0000_00001',		--分发单头表ID,插入分发单头时已指定
'1200154130',								--发票代码,和请领单一致,需要提供
'1',										--发票数量,和请领单一致,需要提供
'05156301',									--发票开始号码,和请领单一致,需要提供
'05156301',									--发票截至号码,和请领单一致,需要提供
'91120000722977817N',						--纳税人识别号,和请领单一致,需要提供
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1',							--打印终端名称,需要提供
'中信银行股份有限公司天津分行',	 			--纳税实体名称,和请领单一致,需要提供
'增值税专用发票',
'admin',
current_timestamp,
'admin',
'1',
'1',
'deloitte.tms ',
'2'											--发票类型 1. 增值税普通发票 2. 增值税专用发票 ,和请领单一致,需要提供
);

update TMS_CRVAT_INVOICE_ALLOT_L altl
set altl.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = altl.ATTRIBUTE1)
where altl.INVOICE_ALLOT_L_ID = 'INV_ALT_LID_000_2016_0617_0000_00001'; --分发单行表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_L altl
set altl.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = altl.attribute2
and tme.equipment_name = altl.attribute3)
where INVOICE_ALLOT_L_ID  = 'INV_ALT_LID_000_YYYY_MMDD_0000_00001'; --分发单行表ID, 插入请领单头时已指定

insert into TMS_CRVAT_INVOICE_ALLOT_D (
INVOICE_ALLOT_D_ID,
INVOICE_ALLOT_L_ID,
INVOICE_CODE,
INVOICE_NUMBER,
INVOICE_QTY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
OPERATION_ORG_CODE,
COMPANY_ID)
values (
'INV_ALT_DID_000_YYYY_MMDD_0000_00001',		--分发单明细表ID,修改编号<YYYY-MMDD><0000x>
'INV_ALT_LID_000_2016_0617_0000_00001',		--分发单行ID,插入分发单行时已指定
'1200154130',								--发票代码
'05156301',									--发票号码
'1',										--发票数量
'91120000722977817N',						--纳税人识别号,和请领单一致
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1',							--打印终端名称,需要提供
current_timestamp,
'700000',
'admin',                               
current_timestamp,
'admin',                               
current_timestamp,
'1',
'1',
'700000',
'700000',
'deloitte.tms'
);

update TMS_CRVAT_INVOICE_ALLOT_D altd
set altd.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = altd.ATTRIBUTE1)
where altd.INVOICE_ALLOT_D_ID = 'INV_ALT_DID_000_2016_0617_0000_00001'; --分发单行明细ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_D altd
set altd.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = altd.attribute2
and tme.equipment_name = altd.attribute3)
where altd.INVOICE_ALLOT_D_ID  = 'INV_ALT_DID_000_2016_0617_0000_00001'; --分发单行表ID, 插入请领单明细时已指定


---3.根据发票代码和发票号码Insert发票库存数据(TMS_CRVAT_INVOICE_ONHAND)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_ONHAND (
INVENTORY_INVOICE_ID,
CRVAT_INVOICE_TRX_ID,
INVOICE_CODE,
INVOICE_CATEGORY,
INVOICE_NUMBER,
INVOICE_QTY,
IS_USAGE,
IS_ABOLISH,
IS_RETURN,
IS_LOST,
IS_REVERSE,
IS_HANDING,
STATUS,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
OPERATION_ORG_CODE,
COMPANY_ID,
IS_ALLOT,
IS_LOCK,
IS_PRINTED,
IS_DELIVERY,
IS_ARCH,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3)
values (
'INV_ONHAND_0000_YYYY_MMDD_0000_00001',		--发票库存ID,修改编号<YYYY-MMDD><0000x>
'INV_TRX_HID_000_2016-0617_0000_00001',		--请领单头表ID, 插入请领单头时已指定
'1200154130',								--发票代码
'2',										--发票类型 1. 增值税普通发票 2. 增值税专用发票
'05156301',									--发票号码
'1',										--发票数量
'0',
'0',
'0',
'0',
'0',
'0',
null,
'2099-12-31',
'700000',
'admin ',                              
current_timestamp,
'admin',                             
current_timestamp,
'1',
'1',
'700000',
'700000',
'deloitte.tms',
'1',
'0',
'0',
'0',
'0',
'91120000722977817N',
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1'							--打印终端名称,需要提供
);

update TMS_CRVAT_INVOICE_ONHAND hand
set hand.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = hand.ATTRIBUTE1)
where hand.INVENTORY_INVOICE_ID = 'INV_ONHAND_0000_2016-0617_0000_00001'; --发票库存ID, 插入发票库存时已指定

update TMS_CRVAT_INVOICE_ONHAND hand
set hand.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = hand.attribute2
and tme.equipment_name = hand.attribute3)
where hand.INVENTORY_INVOICE_ID  = 'INV_ONHAND_0000_2016-0617_0000_00001'; --分发单行表ID, 插入请领单明细时已指定


---4.根据发票代码和发票号码更新发票库存状态(二个字段:是否打印is_print = 1, status=4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', Status = '4'
where invoice_code = '1200154130'	--发票代码
and invoice_number = '05156301';	--发票号码

在增值税管理系统进行了请领但未分发,在航信系统进行了分发,但未使用

1、根据金税系统和增值税管理系统的数据情况确认分发不一致的发票数据 2、在金税系统将分发不一致但未使用的发票数据退回服务器 3、在增值税管理系统将第2步退回的发票进行请领和分发,同步航信服务器 无需后台数据更新

在增值税管理系统进行了请领但未分发,在航信系统进行了分发,且已打印发票

1、根据金税系统和增值税管理系统的数据情况确认分发不一致的发票数据 2、在金税系统将分发不一致但未使用的发票数据退回服务器 3、在增值税管理系统后台将已打印发票进行分发 4、根据已打印发票的情况,分三种情况处理: (1)情况一:如发票正常使用,后台更新发票库存状态。 (2)情况二:如发票已在金税系统中作废,按场景3后台更新发票状态 (3)情况三:如发票已在金税系统中红冲,按场景5后台更新发票状态 5、在增值税管理系统将第2步退回的发票进行请领和分发,同步航信服务器 需要补充数据库更新脚本 需要收集的参数: (1)发票代码,发票号码,发票开具日期,机构号,打印设备信息

脚本执行过程: (1)根据发票代码和发票号码Insert发票分发数据 (TMS_CRVAT_INVOICE_ALLOT_H,TMS_CRVAT_INVOICE_ALLOT_L, TMS_CRVAT_INVOICE_ALLOT_D)

TMS_CRVAT_INVOICE_ALLOT_H -销项税发票分发头 备注 字段名 值示例 分发单头表ID - INV_ALT_HID_000_YYYY_MMDD_0000_00001 INVOICE_ALLOT_H_ID INV_ALT_HID_000_2016_0612_0000_00001 分发单号码 -DISYYYYMMDD00001 INVOICE_ALLOT_NUMBER DIS201606160001 分发单类型 D-分发单 R-回退单 ALLOT_H_TYPE D 分发单申请人 INVOICE_ALLOT_REQ_BY admin 审核日期 APPROVAL_DATE 2016-06-01 00:00:00.0 审核状态 distributed-已分发 approved-已审核 returned-已退回 draft-草稿 APPROVAL_STATUS distributed 纳税人识别号 ATTRIBUTE1 91120000722977817N 纳税人名称 ATTRIBUTE2 中信银行股份有限公司天津分行 创建人 CREATED_BY admin 创建日期 CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 版本号 RECORD_VERSION 2 删除标记 DELETED_FLAG 1 操作人组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 723101 数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update 公司ID COMPANY_ID deloitte.tms 组织ID (根据纳税人识别号和纳税主体确定) ORG_ID 66ede8ec-04ec-4254-8955-a10f51a54787


数据初始插入空值,然后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_ID后update

TMS_CRVAT_INVOICE_ALLOT_L -销项税发票分发行表 备注 字段名 值示例 分发单行ID - INV_ALT_LID_000_YYYY_MMDD_0000_00001 INVOICE_ALLOT_L_ID INV_ALT_LID_000_2016_0616_0000_00001 分发单头ID

 对应于头表ID	INVOICE_ALLOT_H_ID	INV_ALT_HID_000_2016_0612_0000_00001

纳税人实体ID

根据纳税识别号回写	LEGAL_ENTITY_ID	f057c22b-0dcc-4790-8eb7-cacd2180a199

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 发票代码 INVOICE_CODE 1200154130 打印终端ID 根据打印设备回写 EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097 发票数量 INVOICE_ALLOT_QTY 1 起始号码 START_INVOICE_NUMBER 05156301 截至号码 END_INVOICE_NUMBER 05156301 纳税识别号 用于数据库查询纳税实体ID,组织ID,机构号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机 0 ATTRIBUTE9 中信银行股份有限公司天津分行 0 ATTRIBUTE10 增值税专用发票 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 723101

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update 公司ID COMPANY_ID deloitte.tms 发票分类 1. 增值税普通发票 2.增值税专用发票 INVOICE_CATEGORY 2

TMS_CRVAT_INVOICE_ALLOT_D -销项税发票分发明细表 备注 字段名 值示例 分发单明细ID INVOICE_ALLOT_D_ID INV_ALT_DID_000_2016_0616_0000_00001 分发单行ID INVOICE_ALLOT_L_ID INV_ALT_LID_000_2016_0612_0000_00001 发票代码 INVOICE_CODE 1200154130 发票号码 INVOICE_NUMBER 05156301 纳税人实体ID LEGAL_ENTITY_ID 73ba822f-8a38-4e3a-b44e-7d9d44b478d1

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 打印终端ID EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097 发票数量 INVOICE_QTY 1 纳税识别号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机 申请日期 (当前日期) ARCHIVE_BASE_DATE 2016-06-01 00:00:00.0 组织机构代码 BIZ_ORG_CODE 700000 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 0 LAST_UPDATED_BY admin (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 0 RECORD_VERSION 1 0 DELETED_FLAG 1 申请人组织机构代码 DATA_OWNER_CODE 700000 申请人组织机构代码 OPERATION_ORG_CODE 700000 公司ID COMPANY_ID deloitte.tms

(2)根据发票代码和发票号码Insert发票库存数据 (TMS_CRVAT_INVOICE_ONHAND)

备注 字段名 值示例 发票库存ID INV_ONHAND_0000_YYYY_MMDD_0000_00001 INVENTORY_INVOICE_ID INV_ONHAND_0000_2016_0616_0000_00001 发票事务处理(如请领入库/退回ID) 关联到对应的请领行表ID CRVAT_INVOICE_TRX_ID INV_TRX_LID_000_2016_0616_0000_00001 发票代码 INVOICE_CODE 1200154130 发票分类 1. 增值税普通发票 2.增值税专用发票 INVOICE_CATEGORY 2 发票号码 (8位) INVOICE_NUMBER 05156301 发票数量 INVOICE_QTY 1 打印终端ID 根据打印设备查询回写 EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097

(数据同步可以为空) 纳税人实体ID ,根据纳税识别号回写 LEGAL_ENTITY_ID 73ba822f-8a38-4e3a-b44e-7d9d44b478d1

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 是否使用 IS_USAGE 0 是否作废 IS_ABOLISH 0 是否回退 IS_RETURN 0 是否丢失 IS_LOST 0 是否被红冲 IS_REVERSE 0 是否上交 IS_HANDING 0 状态 4 - 已打印 5 - 已作废 STATUS 归档基准日期 ARCHIVE_BASE_DATE 2018-06-01 00:18:22.274 组织机构代码 BIZ_ORG_CODE 700000 创建人 CREATED_BY admin 创建日期 CREATION_DATE 2016-06-01 00:18:22.274 最后更新人 LAST_UPDATED_BY admin 最后更新日期 LAST_UPDATE_DATE 2016-06-01 00:19:03.414 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 申请人组织代码 DATA_OWNER_CODE 700000 操作人组织机构代码 OPERATION_ORG_CODE 700000 公司ID COMPANY_ID deloitte.tms 是否分发 IS_ALLOT 1 是否上锁 IS_LOCK 0 是否打印 IS_PRINTED 0 是否寄送 IS_DELIVERY 0 是否归档 IS_ARCH 0 纳税识别号 用于数据库查询纳税实体ID,组织ID,机构号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机


(3)根据发票代码和发票号码更新发票库存状态 (TMS_CRVAT_INVOICE_ONHAND)(二个字段:是否打印is_print = 1, status=4)

注意:如为作废和红冲情况,按场景3和场景5继续后续处理步骤

---1.根据发票代码和发票号码Insert发票分发数据(TMS_CRVAT_INVOICE_ALLOT_H,TMS_CRVAT_INVOICE_ALLOT_L, TMS_CRVAT_INVOICE_ALLOT_D)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_ALLOT_H (
INVOICE_ALLOT_H_ID,
INVOICE_ALLOT_NUMBER,
ALLOT_H_TYPE,
INVOICE_ALLOT_REQ_BY,
APPROVAL_DATE,
APPROVAL_STATUS,
ATTRIBUTE1,
ATTRIBUTE2,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID)
values (
'INV_ALT_HID_000_2016_0617_0000_00001',					--分发单头表ID,修改编号<YYYY-MMDD><0000x>
'DIS'||to_char(current_timestamp,'YYYYMMDDHH24mi'),		--分发单号码
'D',
'admin',
current_timestamp,
'distributed',
'91120000722977817N',									--纳税人识别号,和请领单一致,需要提供
'中信银行股份有限公司天津分行',	 						--纳税实体名称,和请领单一致,需要提供
'admin',
current_timestamp,
'admin',
'2',
'1',
'deloitte.tms')

update TMS_CRVAT_INVOICE_ALLOT_H alth
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and alth.attribute1 = le.REGISTRATION_NUMBER)
where alth.INVOICE_ALLOT_H_ID = 'INV_ALT_HID_000_2016_0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_H alth
set ORG_ID = (
select org.org_id 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and alth.attribute1 = le.REGISTRATION_NUMBER)
where alth.INVOICE_ALLOT_H_ID = 'INV_ALT_HID_000_2016_0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定

insert into TMS_CRVAT_INVOICE_ALLOT_L (
INVOICE_ALLOT_L_ID,
INVOICE_ALLOT_H_ID,
INVOICE_CODE,
INVOICE_ALLOT_QTY,
START_INVOICE_NUMBER,
END_INVOICE_NUMBER,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE9,
ATTRIBUTE10,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
INVOICE_CATEGORY)
values (
'INV_ALT_LID_000_YYYY_MMDD_0000_00001',		--分发单行表ID,修改编号<YYYY-MMDD><0000x>
'INV_ALT_HID_000_2016_0617_0000_00001',		--分发单头表ID,插入分发单头时已指定
'1200154130',								--发票代码,和请领单一致,需要提供
'1',										--发票数量,和请领单一致,需要提供
'05156301',									--发票开始号码,和请领单一致,需要提供
'05156301',									--发票截至号码,和请领单一致,需要提供
'91120000722977817N',						--纳税人识别号,和请领单一致,需要提供
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1',							--打印终端名称,需要提供
'中信银行股份有限公司天津分行',	 			--纳税实体名称,和请领单一致,需要提供
'增值税专用发票',
'admin',
current_timestamp,
'admin',
'1',
'1',
'deloitte.tms ',
'2'											--发票类型 1. 增值税普通发票 2. 增值税专用发票 ,和请领单一致,需要提供
);

update TMS_CRVAT_INVOICE_ALLOT_L altl
set altl.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = altl.ATTRIBUTE1)
where altl.INVOICE_ALLOT_L_ID = 'INV_ALT_LID_000_2016_0617_0000_00001'; --分发单行表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_L altl
set altl.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = altl.attribute2
and tme.equipment_name = altl.attribute3)
where INVOICE_ALLOT_L_ID  = 'INV_ALT_LID_000_YYYY_MMDD_0000_00001'; --分发单行表ID, 插入请领单头时已指定

insert into TMS_CRVAT_INVOICE_ALLOT_D (
INVOICE_ALLOT_D_ID,
INVOICE_ALLOT_L_ID,
INVOICE_CODE,
INVOICE_NUMBER,
INVOICE_QTY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
OPERATION_ORG_CODE,
COMPANY_ID)
values (
'INV_ALT_DID_000_YYYY_MMDD_0000_00001',		--分发单明细表ID,修改编号<YYYY-MMDD><0000x>
'INV_ALT_LID_000_2016_0617_0000_00001',		--分发单行ID,插入分发单行时已指定
'1200154130',								--发票代码
'05156301',									--发票号码
'1',										--发票数量
'91120000722977817N',						--纳税人识别号,和请领单一致
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1',							--打印终端名称,需要提供
current_timestamp,
'700000',
'admin',                               
current_timestamp,
'admin',                               
current_timestamp,
'1',
'1',
'700000',
'700000',
'deloitte.tms'
);

update TMS_CRVAT_INVOICE_ALLOT_D altd
set altd.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = altd.ATTRIBUTE1)
where altd.INVOICE_ALLOT_D_ID = 'INV_ALT_DID_000_2016_0617_0000_00001'; --分发单行明细ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_D altd
set altd.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = altd.attribute2
and tme.equipment_name = altd.attribute3)
where altd.INVOICE_ALLOT_D_ID  = 'INV_ALT_DID_000_2016_0617_0000_00001'; --分发单行表ID, 插入请领单明细时已指定


---2.根据发票代码和发票号码Insert发票库存数据(TMS_CRVAT_INVOICE_ONHAND)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_ONHAND (
INVENTORY_INVOICE_ID,
CRVAT_INVOICE_TRX_ID,
INVOICE_CODE,
INVOICE_CATEGORY,
INVOICE_NUMBER,
INVOICE_QTY,
IS_USAGE,
IS_ABOLISH,
IS_RETURN,
IS_LOST,
IS_REVERSE,
IS_HANDING,
STATUS,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
OPERATION_ORG_CODE,
COMPANY_ID,
IS_ALLOT,
IS_LOCK,
IS_PRINTED,
IS_DELIVERY,
IS_ARCH,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3)
values (
'INV_ONHAND_0000_YYYY_MMDD_0000_00001',		--发票库存ID,修改编号<YYYY-MMDD><0000x>
'INV_TRX_HID_000_2016-0617_0000_00001',		--请领单头表ID, 插入请领单头时已指定
'1200154130',								--发票代码
'2',										--发票类型 1. 增值税普通发票 2. 增值税专用发票
'05156301',									--发票号码
'1',										--发票数量
'0',
'0',
'0',
'0',
'0',
'0',
null,
'2099-12-31',
'700000',
'admin ',                              
current_timestamp,
'admin',                             
current_timestamp,
'1',
'1',
'700000',
'700000',
'deloitte.tms',
'1',
'0',
'0',
'0',
'0',
'91120000722977817N',
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1'							--打印终端名称,需要提供
);

update TMS_CRVAT_INVOICE_ONHAND hand
set hand.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = hand.ATTRIBUTE1)
where hand.INVENTORY_INVOICE_ID = 'INV_ONHAND_0000_2016-0617_0000_00001'; --发票库存ID, 插入发票库存时已指定

update TMS_CRVAT_INVOICE_ONHAND hand
set hand.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = hand.attribute2
and tme.equipment_name = hand.attribute3)
where hand.INVENTORY_INVOICE_ID  = 'INV_ONHAND_0000_2016-0617_0000_00001'; --分发单行表ID, 插入请领单明细时已指定


---3.根据发票代码和发票号码更新发票库存状态(二个字段:是否打印is_print = 1, status=4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', Status = '4'
where invoice_code = '1200154130'	--发票代码
and invoice_number = '05156301';	--发票号码

由于增值税管理系统与金税系统之间接口不稳定,报文返回“打印失败”或“作废失败”等情况

针对金税系统打印成功,增值税系统打印失败的情况: 1、通过后台更新发票代码和发票号码的状态 需要补充数据库更新脚本 需要收集的参数: (1)发票代码,发票号码,发票开具日期

脚本执行过程: (1)根据发票代码和发票号码更新发票库存状态(二个字段:是否打印is_print = 1, status=4)

---1.根据发票代码和发票号码更新发票库存状态(is_print = 1)和(Status = 4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', Status = '4'
where invoice_code = '3200153130'	--发票代码
and invoice_number = '42686988';	--发票号码

针对金税系统作废成功,增值税管理系统作废失败的情况 1、通过后台更新发票代码和发票号码的状态 2、通过后台更改发票关联的交易的状态,更新成未使用状态 需要补充数据库更新脚本 (1)发票代码,发票号码,发票开具日期 脚本执行过程: (1)根据发票代码和发票号码更新发票库存状态(二个字段:是否打印is_abolish = 1, status=5)

---1.根据发票代码和发票号码更新发票库存状态(三个字段:是否打印is_printed = 1,是否作废 is_abolish = 1,status=5)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_abolish = '1', status = '5'
where invoice_code = '3200153130'	--发票代码
and invoice_number = '42686988';	--发票号码

增值税管理系统未完成发票的请领和分发,直接在金税系统完成了发票的请领和分发操作,并且在金税系统打印且作废增值税系统中没有任何操作

1、根据金税系统和增值税管理系统的数据情况确认分发不一致的发票数据 2、在金税系统将分发不一致但未使用的发票数据退回服务器 3、在增值税管理系统后台将已打印发票进行请领和分发 4、根据发票在金税系统已打印发票的情况,分二种情况处理: (1)情况一:如发票正常使用,后台更新发票库存状态。 (2)情况二:如发票已在金税系统中作废,按场景3后台更新发票状态 5、在增值税管理系统将第2步退回的发票进行请领和分发,同步航信服务器 需要补充数据库更新脚本 需要收集的参数: (1) 发票代码,发票号码,发票类型,发票开具日期,机构号,打印设备信息, 纳税人识别号

脚本执行过程: (1)根据发票代码和发票号码Insert发票请领数据 (TMS_CRVAT_INVOICE_TRX_H,TMS_CRVAT_INVOICE_TRX_L)

TMS_CRVAT_INVOICE_TRX_H -销项税发票请领入库单头表 备注 字段名 值示例 请领单头表ID - INV_TRX_HID_000_YYYY_MMDD_0000_00001 CRVAT_INVOICE_TRX_H_ID INV_TRX_HID_000_2016_0616_0000_00001 请领单单号 —RECYYYYMMDD00001 CRVAT_INVOICE_TRX_NUMBER REC201606160001 发票请领日期 (当前日期) INVOICE_TRX_DATE 2016-06-01 00:00:00.0 纳税人实体ID (数据导入数据库后再根据纳税人识别号反查更新) 根据Attribute1中纳税人识别号反查 LEGAL_ENTITY_ID 数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 审核状态 stocked-已入库 draft-草稿 APPROVAL_STATUS stocked 纳税人识别号 (红色为没有数据的识别号) ATTRIBUTE1 91500000902901959A 插入式更新用查询条件 ATTRIBUTE2 中信银行股份有限公司重庆分行 申请日期 (当前日期) ARCHIVE_BASE_DATE 2016-06-01 00:00:00.0 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 最后更新日期 (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 操作人组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 742001

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update

公司ID COMPANY_ID deloitte.tms 组织ID (根据纳税人识别号和纳税主体确定) ORG_ID 1f6e212d-77f2-45b6-bdb5-1f57683ff185

数据初始插入空值,然后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_ID后update

申请人 REQUESTION_BY admin 审核日期 (当前日期) APPROVAL_DATE 2016-06-01 00:00:00.0

TMS_CRVAT_INVOICE_TRX_L -销项税发票请领入库单行表 备注 字段名 值示例 请领单行ID INV_TRX_LID_000_YYYY_MMDD_0000_00001 CRVAT_INVOICE_TRX_L_ID INV_TRX_LID_000_2016_0616_0000_00001 请领单头ID (从头表中关联) CRVAT_INVOICE_TRX_H_ID INV_TRX_HID_000_2016_0616_0000_00001 发票开始号码 START_INVOICE_NUMBER 35106576 发票截至号码 END_INVOICE_NUMBER 35106625 发票数量 INVOICE_QTY 50 发票请领人 INVOICE_TRX_BY admin 发票代码 INVOICE_CODE 1100153130 纳税人实体ID LEGAL_ENTITY_ID f057c22b-0dcc-4790-8eb7-cacd2180a199

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 是否使用 IS_USAGE 0 纳税人识别号 ATTRIBUTE1 110105101690725 纳税人名称 ATTRIBUTE2 0 发票类型 ATTRIBUTE10 0 申请日期 (当前日期) ARCHIVE_BASE_DATE 2016-06-01 00:00:00.0 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 最后更新日期 (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 操作人组织机构号 OPERATION_ORG_CODE 742001

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update

公司ID COMPANY_ID deloitte.tms 发票分类 1. 增值税普通发票 2. 增值税专用发票 INVOICE_CATEGORY 2


(2)根据发票代码和发票号码Insert发票分发数据 (TMS_CRVAT_INVOICE_ALLOT_H,TMS_CRVAT_INVOICE_ALLOT_L, TMS_CRVAT_INVOICE_ALLOT_D)

TMS_CRVAT_INVOICE_ALLOT_H -销项税发票分发头 备注 字段名 值示例 分发单头表ID - INV_ALT_HID_000_YYYY_MMDD_0000_00001 INVOICE_ALLOT_H_ID INV_ALT_HID_000_2016_0612_0000_00001 分发单号码 -DISYYYYMMDD00001 INVOICE_ALLOT_NUMBER DIS201606160001 分发单类型 D-分发单 R-回退单 ALLOT_H_TYPE D 分发单申请人 INVOICE_ALLOT_REQ_BY admin 审核日期 APPROVAL_DATE 2016-06-01 00:00:00.0 审核状态 distributed-已分发 approved-已审核 returned-已退回 draft-草稿 APPROVAL_STATUS distributed 纳税人识别号 ATTRIBUTE1 91120000722977817N 纳税人名称 ATTRIBUTE2 中信银行股份有限公司天津分行 创建人 CREATED_BY admin 创建日期 CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 版本号 RECORD_VERSION 2 删除标记 DELETED_FLAG 1 操作人组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 723101 数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update 公司ID COMPANY_ID deloitte.tms 组织ID (根据纳税人识别号和纳税主体确定) ORG_ID 66ede8ec-04ec-4254-8955-a10f51a54787


数据初始插入空值,然后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_ID后update

TMS_CRVAT_INVOICE_ALLOT_L -销项税发票分发行表 备注 字段名 值示例 分发单行ID - INV_ALT_LID_000_YYYY_MMDD_0000_00001 INVOICE_ALLOT_L_ID INV_ALT_LID_000_2016_0616_0000_00001 分发单头ID

 对应于头表ID	INVOICE_ALLOT_H_ID	INV_ALT_HID_000_2016_0612_0000_00001

纳税人实体ID

根据纳税识别号回写	LEGAL_ENTITY_ID	f057c22b-0dcc-4790-8eb7-cacd2180a199

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 发票代码 INVOICE_CODE 1200154130 打印终端ID 根据打印设备回写 EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097 发票数量 INVOICE_ALLOT_QTY 1 起始号码 START_INVOICE_NUMBER 05156301 截至号码 END_INVOICE_NUMBER 05156301 纳税识别号 用于数据库查询纳税实体ID,组织ID,机构号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机 0 ATTRIBUTE9 中信银行股份有限公司天津分行 0 ATTRIBUTE10 增值税专用发票 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 最后更新人 LAST_UPDATED_BY admin 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 组织机构号 (根据纳税识别号更新) OPERATION_ORG_CODE 723101

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY, TMS_MD_ORG_LEGAL_ENTITY, BASE_ORG中的ORG_CODE后update 公司ID COMPANY_ID deloitte.tms 发票分类 1. 增值税普通发票 2.增值税专用发票 INVOICE_CATEGORY 2

TMS_CRVAT_INVOICE_ALLOT_D -销项税发票分发明细表 备注 字段名 值示例 分发单明细ID INVOICE_ALLOT_D_ID INV_ALT_DID_000_2016_0616_0000_00001 分发单行ID INVOICE_ALLOT_L_ID INV_ALT_LID_000_2016_0612_0000_00001 发票代码 INVOICE_CODE 1200154130 发票号码 INVOICE_NUMBER 05156301 纳税人实体ID LEGAL_ENTITY_ID 73ba822f-8a38-4e3a-b44e-7d9d44b478d1

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 打印终端ID EQUIPMENT_ID 通过tms_md_equipment表中equipment_code和equipment_name查询出equipment_id 发票数量 INVOICE_QTY 1 纳税识别号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 大同支行客户端1 (需要分行提供) 打印终端编号 ATTRIBUTE3 PC-DT-1(需要分行提供) 申请日期 (当前日期) ARCHIVE_BASE_DATE 2099-12-31 00:00:00.0 组织机构代码 BIZ_ORG_CODE 700000 创建人 CREATED_BY admin 创建日期 (当前日期) CREATION_DATE 2016-06-01 00:00:00.0 0 LAST_UPDATED_BY admin (当前日期) LAST_UPDATE_DATE 2016-06-01 00:00:00.0 0 RECORD_VERSION 1 0 DELETED_FLAG 1 申请人组织机构代码 DATA_OWNER_CODE 700000 申请人组织机构代码 OPERATION_ORG_CODE 700000 公司ID COMPANY_ID deloitte.tms

(3)根据发票代码和发票号码Insert发票库存数据 (TMS_CRVAT_INVOICE_ONHAND)

备注 字段名 值示例 发票库存ID INV_ONHAND_0000_YYYY_MMDD_0000_00001 INVENTORY_INVOICE_ID INV_ONHAND_0000_2016_0616_0000_00001 发票事务处理(如请领入库/退回ID) 关联到对应的请领行表ID CRVAT_INVOICE_TRX_ID INV_TRX_LID_000_2016_0616_0000_00001 发票代码 INVOICE_CODE 1200154130 发票分类 1. 增值税普通发票 2.增值税专用发票 INVOICE_CATEGORY 2 发票号码 (8位) INVOICE_NUMBER 05156301 发票数量 INVOICE_QTY 1 打印终端ID 根据打印设备查询回写 EQUIPMENT_ID EQUIPMENT-00000-0000-0000-0000-00097

(数据同步可以为空) 纳税人实体ID ,根据纳税识别号回写 LEGAL_ENTITY_ID 73ba822f-8a38-4e3a-b44e-7d9d44b478d1

数据插入后在根据Attribute1中的纳税人识别号反查TMS_MD_LEGAL_ENTITY中的legal_entity_id后update 是否使用 IS_USAGE 0 是否作废 IS_ABOLISH 0 是否回退 IS_RETURN 0 是否丢失 IS_LOST 0 是否被红冲 IS_REVERSE 0 是否上交 IS_HANDING 0 状态 4 - 已打印 5 - 已作废 STATUS 归档基准日期 ARCHIVE_BASE_DATE 2018-06-01 00:18:22.274 组织机构代码 BIZ_ORG_CODE 700000 创建人 CREATED_BY admin 创建日期 CREATION_DATE 2016-06-01 00:18:22.274 最后更新人 LAST_UPDATED_BY admin 最后更新日期 LAST_UPDATE_DATE 2016-06-01 00:19:03.414 版本号 RECORD_VERSION 1 删除标记 DELETED_FLAG 1 申请人组织代码 DATA_OWNER_CODE 700000 操作人组织机构代码 OPERATION_ORG_CODE 700000 公司ID COMPANY_ID deloitte.tms 是否分发 IS_ALLOT 1 是否上锁 IS_LOCK 0 是否打印 IS_PRINTED 0 是否寄送 IS_DELIVERY 0 是否归档 IS_ARCH 0 纳税识别号 用于数据库查询纳税实体ID,组织ID,机构号 ATTRIBUTE1 91120000722977817N 打印终端名称 ATTRIBUTE2 第1号开票机 打印终端编号 ATTRIBUTE3 PC-DT-1(需要分行提供)

(4)根据发票代码和发票号码更新发票库存状态 (二个字段:是否打印is_print = 1, status=4)

(5)根据发票代码和发票号码更新发票库存状态(二个字段:是否打印is_abolish = 1, status=5)

(6) 新增发票作废表中的数据

---1.根据发票代码和发票号码Insert发票请领数据 (TMS_CRVAT_INVOICE_TRX_H,TMS_CRVAT_INVOICE_TRX_L)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_TRX_H (
CRVAT_INVOICE_TRX_H_ID,
CRVAT_INVOICE_TRX_NUMBER,
INVOICE_TRX_DATE,
APPROVAL_STATUS,
ATTRIBUTE1,
ATTRIBUTE2,
ARCHIVE_BASE_DATE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
REQUESTION_BY,
APPROVAL_DATE)
values (
'INV_TRX_HID_000_YYYY-MMDD_0000_00001',  --请领单头表ID,修改编号<YYYY-MMDD><0000x>
'REC'||to_char(current_timestamp,'YYYYMMDDHH24miss'), --请领单单号 
current_date,
'stocked',
'91500000902901959A',	--纳税人识别号,需要提供
'中信银行股份有限公司重庆分行', 	--纳税实体名称,需要提供
'2099-12-31',
'admin',
current_date,
'admin',
current_date,
'1',
'1',
'deloitte.tms',
'admin',
current_date);

update TMS_CRVAT_INVOICE_TRX_H trxh
set trxh.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = trxh.ATTRIBUTE1)
where trxh.CRVAT_INVOICE_TRX_H_ID = 'INV_TRX_HID_000_2016-0617_0000_00001'; --请领单头表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_TRX_H trxh
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and trxh.attribute1 = le.REGISTRATION_NUMBER)
where trxh.CRVAT_INVOICE_TRX_H_ID = 'INV_TRX_HID_000_2016-0617_0000_00001'; --请领单头表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_TRX_H trxh
set ORG_ID = (
select org.org_id 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and trxh.attribute1 = le.REGISTRATION_NUMBER)
where trxh.CRVAT_INVOICE_TRX_H_ID = 'INV_TRX_HID_000_2016-0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定


insert into TMS_CRVAT_INVOICE_TRX_L (
CRVAT_INVOICE_TRX_L_ID,
CRVAT_INVOICE_TRX_H_ID,
START_INVOICE_NUMBER,
END_INVOICE_NUMBER,
INVOICE_QTY,
INVOICE_TRX_BY,
INVOICE_CODE,
IS_USAGE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE10,
ARCHIVE_BASE_DATE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
INVOICE_CATEGORY)
values (
'INV_TRX_LID_000_YYYY-MMDD_0000_00001',		--请领单行表ID,修改编号<YYYY-MMDD><0000x>
'INV_TRX_HID_000_2016-0617_0000_00001',		--请领单头表ID, 插入请领单头时已指定
'35106576',									--发票开始号码,需要提供
'35106576',									--发票截至号码,需要提供
'1',										--发票数量,需要提供
'admin',
'1100153130',								--发票代码,需要提供
'0',
'110105101690725',							--纳税人识别号,和请领单一致
'0',
'0',
'2099-12-31 00:00:00.0',
'admin',
current_timestamp,
'admin',
current_timestamp,
'1',
'1',
'deloitte.tms',
'2'											--发票类型 1. 增值税普通发票 2. 增值税专用发票,需要提供
);

update TMS_CRVAT_INVOICE_TRX_L trxl
set trxh.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = trxh.ATTRIBUTE1)
where trxl.CRVAT_INVOICE_TRX_L_ID = 'INV_TRX_LID_000_2016-0617_0000_00001'; --请领单行表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_TRX_L trxl
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and trxl.attribute1 = le.REGISTRATION_NUMBER)
where trxl.CRVAT_INVOICE_TRX_L_ID = 'INV_TRX_LID_000_2016-0617_0000_00001'; --请领单行表ID, 插入请领单头时已指定


---2.根据发票代码和发票号码Insert发票分发数据(TMS_CRVAT_INVOICE_ALLOT_H,TMS_CRVAT_INVOICE_ALLOT_L, TMS_CRVAT_INVOICE_ALLOT_D)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_ALLOT_H (
INVOICE_ALLOT_H_ID,
INVOICE_ALLOT_NUMBER,
ALLOT_H_TYPE,
INVOICE_ALLOT_REQ_BY,
APPROVAL_DATE,
APPROVAL_STATUS,
ATTRIBUTE1,
ATTRIBUTE2,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID)
values (
'INV_ALT_HID_000_2016_0617_0000_00001',					--分发单头表ID,修改编号<YYYY-MMDD><0000x>
'DIS'||to_char(current_timestamp,'YYYYMMDDHH24mi'),		--分发单号码
'D',
'admin',
current_timestamp,
'distributed',
'91120000722977817N',									--纳税人识别号,和请领单一致,需要提供
'中信银行股份有限公司天津分行',	 						--纳税实体名称,和请领单一致,需要提供
'admin',
current_timestamp,
'admin',
'2',
'1',
'deloitte.tms')

update TMS_CRVAT_INVOICE_ALLOT_H alth
set OPERATION_ORG_CODE = (
select org.org_code 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and alth.attribute1 = le.REGISTRATION_NUMBER)
where alth.INVOICE_ALLOT_H_ID = 'INV_ALT_HID_000_2016_0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_H alth
set ORG_ID = (
select org.org_id 
from base_org org,
	 tms_md_org_legal_entity ole,
	 tms_md_legal_entity le
where ole.org_id = org.org_id
and le.legal_entity_id = ole.legal_entity_id
and alth.attribute1 = le.REGISTRATION_NUMBER)
where alth.INVOICE_ALLOT_H_ID = 'INV_ALT_HID_000_2016_0617_0000_00001'; --分发单头表ID, 插入分发单头时已指定

insert into TMS_CRVAT_INVOICE_ALLOT_L (
INVOICE_ALLOT_L_ID,
INVOICE_ALLOT_H_ID,
INVOICE_CODE,
INVOICE_ALLOT_QTY,
START_INVOICE_NUMBER,
END_INVOICE_NUMBER,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE9,
ATTRIBUTE10,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
RECORD_VERSION,
DELETED_FLAG,
COMPANY_ID,
INVOICE_CATEGORY)
values (
'INV_ALT_LID_000_YYYY_MMDD_0000_00001',		--分发单行表ID,修改编号<YYYY-MMDD><0000x>
'INV_ALT_HID_000_2016_0617_0000_00001',		--分发单头表ID,插入分发单头时已指定
'1200154130',								--发票代码,和请领单一致,需要提供
'1',										--发票数量,和请领单一致,需要提供
'05156301',									--发票开始号码,和请领单一致,需要提供
'05156301',									--发票截至号码,和请领单一致,需要提供
'91120000722977817N',						--纳税人识别号,和请领单一致,需要提供
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1',							--打印终端名称,需要提供
'中信银行股份有限公司天津分行',	 			--纳税实体名称,和请领单一致,需要提供
'增值税专用发票',
'admin',
current_timestamp,
'admin',
'1',
'1',
'deloitte.tms ',
'2'											--发票类型 1. 增值税普通发票 2. 增值税专用发票 ,和请领单一致,需要提供
);

update TMS_CRVAT_INVOICE_ALLOT_L altl
set altl.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = altl.ATTRIBUTE1)
where altl.INVOICE_ALLOT_L_ID = 'INV_ALT_LID_000_2016_0617_0000_00001'; --分发单行表ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_L altl
set altl.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = altl.attribute2
and tme.equipment_name = altl.attribute3)
where INVOICE_ALLOT_L_ID  = 'INV_ALT_LID_000_YYYY_MMDD_0000_00001'; --分发单行表ID, 插入请领单头时已指定

insert into TMS_CRVAT_INVOICE_ALLOT_D (
INVOICE_ALLOT_D_ID,
INVOICE_ALLOT_L_ID,
INVOICE_CODE,
INVOICE_NUMBER,
INVOICE_QTY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
OPERATION_ORG_CODE,
COMPANY_ID)
values (
'INV_ALT_DID_000_YYYY_MMDD_0000_00001',		--分发单明细表ID,修改编号<YYYY-MMDD><0000x>
'INV_ALT_LID_000_2016_0617_0000_00001',		--分发单行ID,插入分发单行时已指定
'1200154130',								--发票代码
'05156301',									--发票号码
'1',										--发票数量
'91120000722977817N',						--纳税人识别号,和请领单一致
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1',							--打印终端名称,需要提供
current_timestamp,
'700000',
'admin',                               
current_timestamp,
'admin',                               
current_timestamp,
'1',
'1',
'700000',
'700000',
'deloitte.tms'
);

update TMS_CRVAT_INVOICE_ALLOT_D altd
set altd.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = altd.ATTRIBUTE1)
where altd.INVOICE_ALLOT_D_ID = 'INV_ALT_DID_000_2016_0617_0000_00001'; --分发单行明细ID, 插入请领单头时已指定

update TMS_CRVAT_INVOICE_ALLOT_D altd
set altd.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = altd.attribute2
and tme.equipment_name = altd.attribute3)
where altd.INVOICE_ALLOT_D_ID  = 'INV_ALT_DID_000_2016_0617_0000_00001'; --分发单行表ID, 插入请领单明细时已指定


---3.根据发票代码和发票号码Insert发票库存数据(TMS_CRVAT_INVOICE_ONHAND)
----------------------------------------------------------------------------------------------------
insert into TMS_CRVAT_INVOICE_ONHAND (
INVENTORY_INVOICE_ID,
CRVAT_INVOICE_TRX_ID,
INVOICE_CODE,
INVOICE_CATEGORY,
INVOICE_NUMBER,
INVOICE_QTY,
IS_USAGE,
IS_ABOLISH,
IS_RETURN,
IS_LOST,
IS_REVERSE,
IS_HANDING,
STATUS,
ARCHIVE_BASE_DATE,
BIZ_ORG_CODE,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
RECORD_VERSION,
DELETED_FLAG,
DATA_OWNER_CODE,
OPERATION_ORG_CODE,
COMPANY_ID,
IS_ALLOT,
IS_LOCK,
IS_PRINTED,
IS_DELIVERY,
IS_ARCH,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3)
values (
'INV_ONHAND_0000_YYYY_MMDD_0000_00001',		--发票库存ID,修改编号<YYYY-MMDD><0000x>
'INV_TRX_HID_000_2016-0617_0000_00001',		--请领单头表ID, 插入请领单头时已指定
'1200154130',								--发票代码
'2',										--发票类型 1. 增值税普通发票 2. 增值税专用发票
'05156301',									--发票号码
'1',										--发票数量
'0',
'0',
'0',
'0',
'0',
'0',
null,
'2099-12-31',
'700000',
'admin ',                              
current_timestamp,
'admin',                             
current_timestamp,
'1',
'1',
'700000',
'700000',
'deloitte.tms',
'1',
'0',
'0',
'0',
'0',
'91120000722977817N',
'PC-QD-1',									--打印终端编号,需要提供
'青岛分行客户端1'							--打印终端名称,需要提供
);

update TMS_CRVAT_INVOICE_ONHAND hand
set hand.LEGAL_ENTITY_ID = (
select le.LEGAL_ENTITY_ID from TMS_MD_LEGAL_ENTITY le
where le.REGISTRATION_NUMBER = hand.ATTRIBUTE1)
where hand.INVENTORY_INVOICE_ID = 'INV_ONHAND_0000_2016-0617_0000_00001'; --发票库存ID, 插入发票库存时已指定

update TMS_CRVAT_INVOICE_ONHAND hand
set hand.equipment_id = (select tme.equipment_id from tms_md_equipment tme
where tme.equipment_code = hand.attribute2
and tme.equipment_name = hand.attribute3)
where hand.INVENTORY_INVOICE_ID  = 'INV_ONHAND_0000_2016-0617_0000_00001'; --分发单行表ID, 插入请领单明细时已指定


---4.根据发票代码和发票号码更新发票库存状态(二个字段:是否打印is_print = 1, status=4)
----------------------------------------------------------------------------------------------------
update tms_crvat_invoice_onhand
set is_printed = '1', Status = '4'
where invoice_code = '1200154130'	--发票代码
and invoice_number = '05156301';	--发票号码