dev_note_f14050102居者定期待遇
step1
查询退休核定需要的信息,并进行是否符合领取居民养老定期待遇的校验。
---------------------
f14050102.jsp 页面
查询人员信息区域
<jsp:include page="/pages/pub/searchFiled.jsp"></jsp:include>
/pages/pub/personInfoList.jsp
/commons/queryPersonBaseInfoList.action?aac002=${param.aac002}&aac147=${param.aac147}&aae140=${param.aae140}
--==查询语句===
select *
from ac01 a, ac02 b
where a.aac001 = b.aac001
and b.aae140 = '170'
and a.aac006 <= 19570101--达到退休年龄
;
js方法-->>doQuery(aac001);
默认参数
aic162默认核定年月为当前年月,
aae210待遇发放年月默认为核定的下一个月,不可修改。
获取参数
aac006出生日期
js请求action-->>
${pageContext.request.contextPath}/cxjmyl/c1/f14050102/judgePrepareInfo.action
F14050102VSImpl.judgePrepareInfo(F14050102VO f14050102vo)
入参:{aac001}
校验和获取居民养老退休核定需要的数据项
1)按规定参加居民养老保险为本市户籍居民;
2)出生日期校验,参保人年满60周岁;
3)缴费状态为正在缴费、暂停缴费可申请养老待遇核定,缴费状态为终止缴费的不能办理养老待遇核定。(参保居民养老的状态)
4)获取退休年月默认为受理月(退休年月允许修改)。退休年月不能小于参加工作年月,且不能小于首次参保时间
5)居民养老保险费符合缴费年限的规定; (AC99)
校验是否存在欠费
校验是否存在重复缴费
若本市存在职工养老保险缴费记录(含未到账)(AC43)
6)查询当前是否有正在执行途中的退休待遇核定信息(AA29,AC71)
查询当前是否有有效的企业离退休待遇享受信息(AC60)
查询当前是否有有效的居民养老保险待遇(AC60)
7) 查询,缴费信息AC99,获取缴费信息,缴费月数
8)查询,获取迁入本市户籍日期,用于计算本市户籍年限 ??????
9)军龄年限AAC056,前台传入?后台调用接口查询????? 深圳无此项。
-----显示实际缴费信息
${pageContext.request.contextPath}/qyyl/q1/f14020105/queryRealPaymentMonths.action--参考
44518519860406346X
step2
传入待遇计算所需参数,计算待遇得到核定出的待遇信息
--------------------
js方法-->>calculateRetirementPay()
F14050102VSImpl calculateRetirementPay(F14050102VO f14050102vo)计算待遇
入参:
//aac001,出生日期aac006Str,核定退休日期aic162Str,首次参保年月aac049,
//实际缴费月数aae201,个人账户储存额bic008,个人账户存储额个人部分bic009,
//待遇开始享受年月aae210, 迁入户籍地日期bac209,军龄年限aac056
-----复制入参到F14050102VO-->RetirePayCalDTO
retireBenefitAuthMgrFacade.calculateJuMinRetirePay(retirePayCalDTO)
-----设置参数RetirePayCalDTO-->RetirementPayCalDTO
BIC00811000002"个人账户储存额
AIC16211000006"退休时间
AAE20011000007"累计缴费月数
AAC00611000010"出生年月
AAA02711000011"统筹区编码
Bac209 ? 本市户籍日期 ??还未添加到算法中。。
其它参数。。。
benefitAuthMgrFacade.calculateJuMinRetirementPay(retirementPayCalDTO)
1)若享受待遇时间在经办时间之前,需要计算补发。
retirePayCalDTO.setDeductOutDTOs(deductOutDTOs);//补发信息
retirePayCalDTO.setAc0cSaveDTOs(retirementPayCalDTO.getDetailResults());
回写到页面中:
addNewToLastRowEditByFlag("treatmentGrid", newData,false, false);//核定出的待遇项目明细
addNewToLastRowEditByFlag("zzGrid",newData, false, false);//补发信息
====查询对应算法======
select *
from aa35 a
where exists (select 1
from aa36 b
where b.aaz100 = 150000001
and b.aaa027 in (440000, 440300)
and (201608 >= b.aae041 and b.aae042 >= 201608)
and a.baa402 = b.baa402 and b.aae100=1)
and (a.aaa027 = 440000 or a.aaa027 = 440300)
and (201608 >= a.aae041 and a.aae042 >= 201608)
order by a.aaa200;
step3
保存核定信息,完成待遇核定。生成对应的事件 表信息。
-------------------
js方法-->saveRetirementPayAuth(button)
Wonders.utils.formSubmit(button, 'form1'
${pageContext.request.contextPath}/cxjmyl/c1/f14050102/saveRetirementPayAuth.action
Java
F14050102VO saveRetirementPayAuth(F14050102VO f14050102vo,BusilogDTO busilogDTO)===后台处理begin
1)this.interfaceMgrFacade.queryPersonBaseInfo(personBaseInfoDTO); 查询人员信息
---保存处理前再进行一次校验
this.judgePrepareInfo(f14050102vo2);
2)生成日志信息,人员信息为重新查询获取
busilogDTO
BusilogUtils.createBusiLog(busilogDTO);
3)生成发放方式信息AC74
BankAccountAduitDTO bankDto = f14050102vo.getBankAccountAduitvo();
bankAccountAduitDTO = this.socialDeliverMgrFacade.saveBankAccount(bankAccountAduitDTO);
4)生成待遇核定事件表ac71
Ac71SaveDTO ac71SaveDTO = new Ac71SaveDTO();
BeanTools.copyPropertiesIgnoreNull(f14050102vo, ac71SaveDTO, false);
5)生成保存AC0C表
this.benefitAuthMgrFacade.saveBenefitCalcAc0c(dto);
6)保存补扣发信息(ac75,ac76)
benefitRetroDeductMgrFacade.saveCommonRetroDeduct(retroDeductSaveInDTO);
7) 保存Ac73人员待遇核定项目明细
8) 保存待遇和定事件 IC09
东软接口====保存,重新获取缴费信息和账户信息
东软接口====获取居民养老个账
this.retireBenefitAuthMgrFacade.saveRetireAuthIc09(ic09SaveDTO);
9)若为柜台即办业务,直接进行复核 checkRetirementPayAuth。
返回 f14050102vo ===处理完成。
--查询语句
select * from ac74 a where a.aac001=1000285570;--发放方式
select * from ac71 a where a.aac001=1000285570;--居民养老定期待遇核定事件
select * from AC0C a where a.aac001=1000285570 and aaz002=1000000012622269; --核定的待遇项目明细
select * from ac73 a where aaz170=1000000000005058;--待遇明细。
select * from ic09 a where aaz170=1000000000005058;--养老离退休人员 事件表
select * from ac75 a where a.aac001=1000285570 and aaz002=1000000012622269;--人员待遇补扣发事件
select * from ac76 a where a.aaz166=1000000000006673;--补扣发明细。
step4
复核。生成结果表信息
-------------------
略。
--查询语句。
select * from ac60 a where a.aac001=1000285570 and a.aae100='1';
select * from ac61 a where a.aaz257=101300019797;
select * from ac63 a where a.aaz257=101300019797;
select * from ic10 a where a.aaz257=101300019797;
select * from ac75 a where a.aac001=1000285570 and aaz002=1000000012622269;
${pageContext.request.contextPath}/cxjmyl/c1/f14050102/getPrepareInfo.action
获取待遇核定需要的信息,写到页面
审批信息==退休核定信息
//最后缴费日期aae003Max
//退休年龄retirementAge
//出生日期aac006_cmp
//户籍所在地aaa027_cmp
//退休类别aic161_cmp
//退休年月aic162_cmp
待遇核定信息==基本缴费信息
//参保日期aac049Date(date), aac049s(hidden)
//缴费年限aae201s
//个人缴费存储额bic008s
//个人账户存储额个人部分bic009s
//个人账户储存额政府部分bae031s
东软ae99表
AAE002NUMBER(6)结算期
AAE003NUMBER(6)Y费款所属期
AAA115VARCHAR2(3)缴费类型
BAE152VARCHAR2(3)缴费标志
aae020number(16,2)y单位应缴统筹金额
aae021number(16,2)y单位应缴划入账户金额
aae022number(16,2)y个人应缴统筹金额
aae023number(16,2)y个人应缴划入账户金额
===================================================
--=========复核
checkRetirementPayAuth
输入证件号码,点击查询。
CommonsVSImpl.queryPersonBaseInfoList
PublicRelationsMgrBSImpl.queryPersonBaseInfoList