dev_note_f14050102居者定期待遇

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