自己学习BCDL 4

--BCDL单据各个流程节点,以福建电信为例
1. MisinterfaceAction  付款凭证制单 (提交审批的各个方法)
单笔提交审批:generateDWZFBill
多笔提交审批:generateFYFFBill

2. PaymentAction 单笔和多笔编辑界面
单笔提交审批: editDWZFBill
多笔提交审批: editFYFFBill

3. 主界面的提交审批
approvalTransfers 先进入这个方法,然后判断是否进入下面的 userGroupSelectApproval方法
userGroupSelectApproval 选择流程组的话会进入这个方法

4. 回单确认:有走流程和不走流程的区别 ,走流程还分第一次走流程 ,还是从流程里面被打回来
对应类和方法:MisinterfaceAction  ChangeState

5. 退票:
对应类和方法: MisinterfaceAction  outTransferBill

6. 退单:根据transferBillID找到对应的支付和支付明细单据,还有凭证
对应类和方法: M8InterfaceAction  refuseVoucherForSC

7. 复制:
getResultForFYFF 多笔的
getResult 单笔的

--【福建移动】支付表增加唯一索引防止重复制单
-- 新增唯一索引列  移动的处理方式
ALTER TABLE CMCS3_TRANSFER_BILL ADD KEY_ DECIMAL(28) DEFAULT 0 NOT NULL;
UPDATE CMCS3_TRANSFER_BILL B SET B.KEY_ = B.TRANSFERBILLID;

update cmcs3_transfer_bill b
set b.voucherno = replace(coalesce(replace(ltrim(replace(rtrim(char(b.transferbillid)),'0','   ')),'   ','0'),''),'.',''),
b.INVICENO = replace(coalesce(replace(ltrim(replace(rtrim(char(b.transferbillid)),'0','   ')),'   ','0'),''),'.','')
where b.voucherno is null or b.INVICENO is null or b.VOUCHERNO = '' or b.INVICENO = '';

ALTER TABLE CMCS3_TRANSFER_BILL
ALTER COLUMN VOUCHERNO  SET NOT NULL;
ALTER TABLE CMCS3_TRANSFER_BILL
ALTER COLUMN INVICENO  SET NOT NULL;
reorg table CMCS3_TRANSFER_BILL;
ALTER TABLE CMCS3_TRANSFER_BILL ADD CONSTRAINT KEY_UNIQUE UNIQUE (VOUCHERNO,INVICENO,KEY_);
COMMIT;

-- 新增唯一索引列  电信的处理方式
ALTER TABLE CMCS3_TRANSFER_BILL ADD KEY_ NUMBER(28) DEFAULT 0 NOT NULL;
UPDATE CMCS3_TRANSFER_BILL B SET B.KEY_ = B.TRANSFERBILLID;
ALTER TABLE CMCS3_TRANSFER_BILL ADD CONSTRAINT KEY_UNIQUE UNIQUE (VOUCHERID,INVICENO,KEY_);
COMMIT;

--中间凭证表和帐套表
帐套表: CM_M8_account 里面存放帐套 和 单位编码
中间表的凭证表
select * from  CM_M8_VOUCHER; --主表存放付款信息
select * from  CM_M8_VOUCHER_detail; --主表存放收款信息

--贵州电信,查询取凭证,弹出页面,然后再点击 查询时候的 SQL,相当于所有的同步过来的数据都是从这里来
select distinct * from cm_m8_voucher0001 v, cm_m8_voucher_detail0001 vd, CM_M8_ACCOUNT cma
where v.VOUCHER_ID = vd.VOUCHER_ID
and v.UNIT_CODE = cma.UNIT_CODE
and cma.ACC_CODE in ('3400')
and cma.UNIT_CODE in ('3400', '3418', '3435')
order by dbms_random.value

--QueryTransfer 查询支付单据
Holiday hl=holidayService.getHolidayByDay(CalendarUtil.now(CalendarUtil.YEAR_MONTH_DAY));
if(hl==null)   看是不是节假日

--月度存量统计表、 银行实时存量统计表
月度存量统计表、 银行实时存量统计表 需要到cmcs3_timing_bank_account中取数,取已审核存款单

--关于initialServlet 的后台轮询线程
大部分都可以在 “银行接口” 菜单下面进行配置 轮询周期

--获取表头
this.getHead(request);   --主界面
this.getHeadByChildPage(request);   --子界面

猜你喜欢

转载自2594082lhj.iteye.com/blog/1694231