--所处存储过程 WFR_RULESENGINE_NEW_PKG
/*
*单据审批
*/
PROCEDURE approve(
P_boe_header_id IN NUMBER,--单据头ID
approver IN VARCHAR2, --审批人工号
approve_command IN VARCHAR2, --审批动作
approve_comment IN VARCHAR2, --备注
result OUT VARCHAR2 --处理结果
) IS
employeeId NUMBER := 0;
BEGIN
IF approve_command = 'APPROVE' THEN
approve_approve(P_boe_header_id,approver,approve_comment,result);
ELSIF approve_command = 'REJECT' THEN
--判断单据是否已被审批(审批人是否存在于单据当前处理人视图(单据-当前处理人(WFR_BOE_OPERATOR_V))中).
BEGIN
SELECT bov.employee_id INTO employeeId FROM WFR_BOE_OPERATOR_V bov WHERE bov.authorized_employee_number=approver AND bov.boe_header_id=P_boe_header_id;
EXCEPTION WHEN NO_DATA_FOUND THEN
result := 'HAS_APPROVED';
RETURN;
END;
approve_reject(P_boe_header_id,approver,approve_comment,result);
END IF;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
result := 'EXCEPTION';
RETURN;
END;
/*
*审批拒绝
*/
PROCEDURE approve_reject()
/*
*审批同意
*/
approve_approve
---走流程预算报错涉及
/EASTEST_GDYD_New/EAS_CJ901_GDYD/com/zte/eas/gdyd/business/contracts/service/BudgetProjectVerfyDS.java
/EASTEST_GDYD_New/CBMS/com/zte/cbm/base/pactinterface/service/PactInterfaceDS.java
--生成静态界面的后台方法在这个文件夹下面:
D:\WorkSpace2\EAS_GDYD\EAS_CJ401_Boe\ProductCode\com\zte\eas\boe\business\common\service\freemarker
BoeManagerDS createHtmlStart
BoeApproveFTLBuilder start 流程审批的界面生成 入口方法
BoeDetailFTLBuilder start 明细页面静态文件生成 入口方法
在后台将信息放在查询出来然后放到界面上
// 发票信息
List<SieInvoiceDistsV> sieInvoiceDistsVs = sieInvoicesMgrDS
.findSieInvoiceDistsVByInvoiceId(invoiceQueryId==null?null:invoiceQueryId+"");
data.put("sieInvoiceDistsVs", sieInvoiceDistsVs);
// 销项发票信息
List<SieInvoiceDistsV> sieInvoiceDistsVGLs = sieInvoicesMgrDS
.findSieInvoiceDistsByGLInvoiceId(invoiceQueryId==null?null:invoiceQueryId+"");
======单据打印界面对应的前后台方法========
FinancePrintModelBase 后台通用的页头页脚
gd_DailyExpendReport.htm 前台的模板html
后台存放页面HTML的表fbp_framemarker_html;
===根据报账单编号查询销项税发票
select h.boe_header_id from sie.sie_boe_headers h where h.boe_num = '21271307240047';
select i.invoice_id ,i.invoice_num from sie.sie_invoices i where i.boe_header_id = 996718;
select * from sie.sie_invoice_dists d where d.invoice_id = 628213;
--静态界面JS是否显示例子
var sieBoeLineDetail = $("a[name='sieBoeLineDetail']");
if(isEntertain == 'Y'){
isEntertain_elem.attr("value","是");
sieBoeLineDetail.show();
}else{
isEntertain_elem.attr("value","否");
sieBoeLineDetail.hide();
}
======缓存服务器地址的配置文件,以后要是后台报错,可以想这个方面考虑
cacheConfig.properties
==================查询审批人的SQL
select * from SIE_BOE_HEADERS_WAIT_APPROVE_NEW_V sieboehead0_
where sieboehead0_.APPROVE_EMPLOYEE_ID = ?
and (sieboehead0_.BOE_NUM like 'SGS-130805-0003');
select * from apps.FBP_EMPLOYEES_VL v where v.EMPLOYEE_ID=50716
select * from sie.Sie_Boe_Trans_Approver a where a.BOE_HEADER_ID=692962
selectApprover.html 选择流程界面
======江苏配置多借多贷
CREATE_ACCOUNT_COMBINATION.sql 这个SQL文件
--判断是从头取还是从行取,返回 header 从头取,返回 line 从行取
CREATE FUNCTION CREATE_ACCOUNT_COMBINATION.get_header_line(billId BIGINT , debitOrCredit varchar(4000))
RETURNS VARCHAR(512)
begin ATOMIC
DECLARE rtCode varchar(512);
DECLARE boeTypeId BIGINT;
DECLARE countAll BIGINT;
SET boeTypeId=(select boe_type_id from sie_boe_headers
where boe_header_id = billId);
SET countAll=(select count(t.debit_credit) from sie_boe_types_accounts as t
where t.value_source in ('NOTICE_LINE', 'OPERATION_TYPE', 'BOE_INPUT')
and t.debit_credit = debitOrCredit and t.boe_type_id = boeTypeId);
if countAll > 0 then
set rtCode = 'line';
else
set rtCode = 'header';
end if;
return rtCode;
end@
只要是属于 'NOTICE_LINE', 'OPERATION_TYPE', 'BOE_INPUT' 这三种则是根据行来生成,多借多贷
对应界面配置 系统管理>系统配置>单据类型维护
贷方帐户组合 ---编辑 会计科目 和 成本中心 中的 值来源配置来的
------通过工具在对应的存储过程点击右键,有一个 execute procedure,然后输入相应的参数就可以执行,重新生成了。
=======修改打印界面的步骤
/EASTEST_GDYD_New/WebContent/apps/boe/gd_td_construction/td_constructionReport.htm
/EASTEST_GDYD_New/EAS_CJ901_GDYD/com/zte/eas/gdyd/business/print/model/CommonPrintModel.java
/EASTEST_GDYD_New/EAS_CJ901_GDYD/gdBillPrint.xml
CommonPrintService getFinancePrintModel解析打印的核心方法
--报账修改服务端
1. 先将src下面的wsdl下面将wsdl.SB_FI_EAS_ImportInvoiceAuthenticationInfoSrv 包下面的文件复制过来
2. 然后把要配置路径写在下面的文件里面 sb-services.properties
3. webContent 下面的wsdl下面将wsdl.SB_FI_EAS_ImportInvoiceAuthenticationInfoSrv 包下面的文件复制过来 同第一步
4. 同时用那个WSDL生成一个客户端,然后将代码弄进去
4. SBWSDLHandler.java CalendarDeserializer CalendarSerializer 看看差不差这个实体类
5. D:\WorkSpace2\EAS_JSBZ_BRANCH\EAS_CJ000_ShareLib\apps\WebContent\wsdl 下载XSD的文件
D:\WorkSpace2\EAS_JSBZ_BRANCH\EAS_CJ000_ShareLib\apps\WebContent\WEB-INF\classes\wsdl 读取wsdl的文件
---打包的路径如下:
easp_jsyd\wsdl 下载XSD的文件
easp_jsyd\WEB-INF\classes\wsdl 读取wsdl的文件
==报账系统事务控制
select lv.* from FBP.FBP_LOOKUP_VALUES lv where lv.lookup_code = 'SYNCH_FBP_IMPORT_TAX_RATE';
--查找那个账户组合对应的错误
select t.EMPLOYEE_ID,t.* from sie.SIE_BOE_HEADERS t where t.BOE_NUM = 'SGS-130825-0023'; -- EMPLOYEE_ID 46182 BOE_HEADER_ID 693404
select tt.CO_CODE,tt.* from APPS.FBP_EMPLOYEES_V tt where tt.EMPLOYEE_ID = 46182; --CO_CODE 2310
select * from sie.SIE_INVOICES ttt where ttt.BOE_HEADER_ID = 693404; --INVOICE_ID 645502 645503
select * from sie.SIE_INVOICE_DISTS t1 where t1.INVOICE_ID in (645502,645503);