From 0e995f2701915ab82bbb2951e7e0476d0068c341 Mon Sep 17 00:00:00 2001 From: ilal <lalqqhy@163.com> Date: Mon, 2 Nov 2020 16:12:05 +0800 Subject: [PATCH] 提交 --- src/main/java/cn/timer/api/bean/sbgjj/SbgjjAssoDetailed.java | 3 +++ src/main/java/cn/timer/api/controller/sbgjj/SocialSecurityFundController.java | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- src/main/resources/mapping/sbgjj/SbgjjAssoDetailedMapper.xml | 8 ++++++-- 3 files changed, 140 insertions(+), 6 deletions(-) diff --git a/src/main/java/cn/timer/api/bean/sbgjj/SbgjjAssoDetailed.java b/src/main/java/cn/timer/api/bean/sbgjj/SbgjjAssoDetailed.java index 38204cd..b9fae39 100644 --- a/src/main/java/cn/timer/api/bean/sbgjj/SbgjjAssoDetailed.java +++ b/src/main/java/cn/timer/api/bean/sbgjj/SbgjjAssoDetailed.java @@ -79,5 +79,8 @@ public class SbgjjAssoDetailed extends Model<SbgjjAssoDetailed> { @ApiModelProperty(value = "公积金基数 ", example = "公积金基数") private String gjjjss; + + @ApiModelProperty(value = "参保人员id ", example = "参保人员id") + private Integer cbryid; } \ No newline at end of file diff --git a/src/main/java/cn/timer/api/controller/sbgjj/SocialSecurityFundController.java b/src/main/java/cn/timer/api/controller/sbgjj/SocialSecurityFundController.java index 726cf16..d52bd72 100644 --- a/src/main/java/cn/timer/api/controller/sbgjj/SocialSecurityFundController.java +++ b/src/main/java/cn/timer/api/controller/sbgjj/SocialSecurityFundController.java @@ -1,6 +1,9 @@ package cn.timer.api.controller.sbgjj; import java.math.BigDecimal; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -32,6 +35,7 @@ import cn.timer.api.bean.sbgjj.SbgjjAssoDetailed; import cn.timer.api.bean.sbgjj.SbgjjAssoYjzd; import cn.timer.api.bean.sbgjj.SbgjjTypeDetails; import cn.timer.api.bean.sbgjj.SbgjjYjCsbh; +import cn.timer.api.bean.xcgl.XcglAssoJsgzzx; import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.UserBean; @@ -640,7 +644,7 @@ public class SocialSecurityFundController { deta.setSbjss(insuredto.getJnjs());//社保基数****************** deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数************ - + deta.setCbryid(cbryid);// detalis.add(deta); Logoutput("公司-社保:"+preval); @@ -759,7 +763,7 @@ public class SocialSecurityFundController { deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数 deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数 - + deta.setCbryid(cbryid);// deta.insert(); Logoutput("公司-公积金:"+preval); @@ -1078,7 +1082,7 @@ public class SocialSecurityFundController { deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数 deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数 - + deta.setCbryid(insuredto.getId());// detalis.add(deta); gssocial += preval; @@ -1201,7 +1205,7 @@ public class SocialSecurityFundController { deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数 deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数 - + deta.setCbryid(insuredto.getId());// deta.insert(); gsfund += preval; @@ -1387,6 +1391,129 @@ public class SocialSecurityFundController { return new ResponseResult().success("成功", yjzdmxlist); } + + + @GetMapping(value = "/generatemonthlybill/{time}") + @ApiOperation(value = "生成当月账单", httpMethod = "GET", notes = "接口发布说明") + public Result<Object> GenerateMonthlyBill(@CurrentUser UserBean userBean,@PathVariable String time) throws ParseException { + DateFormat sdf = new SimpleDateFormat("yyyy-MM"); + + List<SbgjjAdminCbry> cbrys = SbgjjAdminCbry.builder().build().selectList(new QueryWrapper<SbgjjAdminCbry>().lambda().eq(SbgjjAdminCbry::getQyid, userBean.getOrgCode()) + .eq(SbgjjAdminCbry::getState, 1).eq(SbgjjAdminCbry::getIsUse, 1).eq(SbgjjAdminCbry::getSbcbState, 1).eq(SbgjjAdminCbry::getGjjcbState, 1)); + for(SbgjjAdminCbry sbgjj : cbrys) { + //社保 + if(sbgjj.getSbjlStatime() != null && !sbgjj.getSbjlStatime().equals("")) { + if (sdf.parse(sbgjj.getSbjlStatime()).getTime() <= sdf.parse(time).getTime()) { + + List<SbgjjAssoDetailed> sbv = SbgjjAssoDetailed.builder().build().selectList(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, sbgjj.getUserNum()) + .eq(SbgjjAssoDetailed::getAttributionTime, time).eq(SbgjjAssoDetailed::getCbryid, sbgjj.getId()).eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); + if(sbv.size() == 0) { + + List<SbgjjAssoDetailed> yjmxs = SbgjjAssoDetailed.builder().build().selectList(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getCbryid, sbgjj.getId()) + .eq(SbgjjAssoDetailed::getAttributionTime, sbgjj.getSbjlStatime())); + List<SbgjjAssoDetailed> detailedlist = new ArrayList<SbgjjAssoDetailed>(); + for(SbgjjAssoDetailed yj : yjmxs) { + SbgjjAssoDetailed deta = SbgjjAssoDetailed.builder().build(); + deta.setUserId(yj.getUserId()); + deta.setAttributionTime(time);//生成年月 + deta.setCbfzmxId(yj.getCbfzmxId()); + deta.setCoverageName(yj.getCoverageName()); + deta.setPersonalAmount(yj.getPersonalAmount()); + deta.setPersonalProportion(yj.getPersonalProportion());//个人比例 + deta.setCompanyAmount(yj.getCompanyAmount());//公司金额 + deta.setCompanyProportion(yj.getCompanyProportion()); + deta.setXzType(yj.getXzType());//险种类型 1:社保;2:公积金 + deta.setOrgCode(userBean.getOrgCode()); + deta.setAddtime(new Date().getTime()); + deta.setCbfns(yj.getCbfns());//参保方案 + deta.setSbjss(yj.getSbjss());//社保基数****************** + deta.setGjjjss(yj.getGjjjss());//公积金基数************ + deta.setCbryid(yj.getCbryid());// + detailedlist.add(deta); + } + if(detailedlist.size()>0){ + sbgjjassodetailedmapper.insertsbgjjassodetailedList(detailedlist); + } + + // + if(!sbgjj.getSbjlStatime().equals(sbgjj.getGjjjlStatime())) { + List<SbgjjAssoDetailed> gjjy = SbgjjAssoDetailed.builder().build().selectList(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getCbryid, sbgjj.getId()) + .eq(SbgjjAssoDetailed::getAttributionTime, sbgjj.getGjjjlStatime())); + List<SbgjjAssoDetailed> gjjylist = new ArrayList<SbgjjAssoDetailed>(); + for(SbgjjAssoDetailed yj : gjjy) { + SbgjjAssoDetailed deta = SbgjjAssoDetailed.builder().build(); + deta.setUserId(yj.getUserId()); + deta.setAttributionTime(time);//生成年月 + deta.setCbfzmxId(yj.getCbfzmxId()); + deta.setCoverageName(yj.getCoverageName()); + deta.setPersonalAmount(yj.getPersonalAmount()); + deta.setPersonalProportion(yj.getPersonalProportion());//个人比例 + deta.setCompanyAmount(yj.getCompanyAmount());//公司金额 + deta.setCompanyProportion(yj.getCompanyProportion()); + deta.setXzType(yj.getXzType());//险种类型 1:社保;2:公积金 + deta.setOrgCode(userBean.getOrgCode()); + deta.setAddtime(new Date().getTime()); + deta.setCbfns(yj.getCbfns());//参保方案 + deta.setSbjss(yj.getSbjss());//社保基数****************** + deta.setGjjjss(yj.getGjjjss());//公积金基数************ + deta.setCbryid(yj.getCbryid());// + gjjylist.add(deta); + } + if(gjjylist.size()>0){ + sbgjjassodetailedmapper.insertsbgjjassodetailedList(gjjylist); + } + } + + SbgjjAssoYjzd yjz = SbgjjAssoYjzd.builder().build().selectOne(new QueryWrapper<SbgjjAssoYjzd>().lambda().eq(SbgjjAssoYjzd::getCbryid, sbgjj.getId()).eq(SbgjjAssoYjzd::getZymonth, sbgjj.getSbjlStatime())); + if(yjz != null) { + SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); + yjzd.setUserNum(yjz.getUserNum());//用户工号 + yjzd.setTotalmoney(yjz.getTotalmoney());//合计金额 + yjzd.setGsjltotal(yjz.getGsjltotal());//公司缴纳合计 + yjzd.setGrjltotal(yjz.getGrjltotal());//个人缴纳合计 + yjzd.setZdtype(1);//账单类型 1:公司自缴 + yjzd.setZymonth(time);//账单月份 + yjzd.setSbfaid(yjz.getSbfaid());//社保参保方案id + yjzd.setGjjfaid(yjz.getGjjfaid());//公积金参保方案id + yjzd.setQyid(userBean.getOrgCode()); + yjzd.setSbgshj(yjz.getSbgshj());//社保公司合计 + yjzd.setSbgrhj(yjz.getSbgrhj());//社保个人合计 + yjzd.setSbhj(yjz.getSbhj());//社保合计 + + yjzd.setGjjgshj("0.0");//公积金公司合计 + yjzd.setGjjgrhj("0.0");//公积金个人合计 + yjzd.setGjjhj("0.0");//公积金合计 + yjzd.setCbryid(yjz.getCbryid()); + sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); + } + } + + } + } + + //社保公积金 + if(sbgjj.getGjjjlStatime() != null && !sbgjj.getGjjjlStatime().equals("")) { + if (sdf.parse(sbgjj.getGjjjlStatime()).getTime() <= sdf.parse(time).getTime()) { + SbgjjAssoYjzd yjz = SbgjjAssoYjzd.builder().build().selectOne(new QueryWrapper<SbgjjAssoYjzd>().lambda().eq(SbgjjAssoYjzd::getUserNum, sbgjj.getUserNum()) + .eq(SbgjjAssoYjzd::getZymonth, time).eq(SbgjjAssoYjzd::getQyid, userBean.getOrgCode()).eq(SbgjjAssoYjzd::getCbryid, sbgjj.getId())); + if(yjz != null) { + SbgjjAssoYjzd gjyz = SbgjjAssoYjzd.builder().build().selectOne(new QueryWrapper<SbgjjAssoYjzd>().lambda().eq(SbgjjAssoYjzd::getCbryid, sbgjj.getId()).eq(SbgjjAssoYjzd::getZymonth, sbgjj.getGjjjlStatime())); + if(gjyz != null) { + SbgjjAssoYjzd.builder().id(yjz.getId()).gjjgshj(gjyz.getGjjgshj()).gjjgrhj(gjyz.getGjjgrhj()).gjjhj(gjyz.getGjjhj()).build().updateById(); + } + } + } + } + } + + MonthlyStatementDto monthly = new MonthlyStatementDto(); + monthly.setOrgcode(userBean.getOrgCode()); + monthly.setMon(time); + List<MonthlyCheckoutSheetDto> yjzlist = sbgjjassoyjzdmapper.MonthlycheckoutsheetList(monthly); + + return ResultUtil.data(yjzlist, "成功"); + } + @Value("${config-8timer.environmental-science}") public String environmental_science; diff --git a/src/main/resources/mapping/sbgjj/SbgjjAssoDetailedMapper.xml b/src/main/resources/mapping/sbgjj/SbgjjAssoDetailedMapper.xml index 4d3ba1e..473a81f 100644 --- a/src/main/resources/mapping/sbgjj/SbgjjAssoDetailedMapper.xml +++ b/src/main/resources/mapping/sbgjj/SbgjjAssoDetailedMapper.xml @@ -21,10 +21,11 @@ <result column="cbfns" property="cbfns" /> <result column="sbjss" property="sbjss" /> <result column="gjjjss" property="gjjjss" /> + <result column="cbryid" property="cbryid" /> </resultMap> <insert id="insertsbgjjassodetailedList" parameterType="java.util.List" > - insert into sbgjj_asso_detailed (user_id,attribution_time,cbfzmx_id,coverage_name,personal_amount,personal_proportion,company_amount,company_proportion,xz_type,org_code,addtime,cbfns,sbjss,gjjjss) + insert into sbgjj_asso_detailed (user_id,attribution_time,cbfzmx_id,coverage_name,personal_amount,personal_proportion,company_amount,company_proportion,xz_type,org_code,addtime,cbfns,sbjss,gjjjss,cbryid) <foreach collection="list" item="item" index="index" open="values " close="" separator=","> ( <if test="item.userId != null" > @@ -67,7 +68,10 @@ #{item.sbjss}, </if> <if test="item.gjjjss != null" > - #{item.gjjjss} + #{item.gjjjss}, + </if> + <if test="item.cbryid != null" > + #{item.cbryid} </if> ) </foreach> -- libgit2 0.26.0