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; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import cn.hutool.core.util.StrUtil; import cn.timer.api.bean.sbgjj.SbgjjAdminCbry; import cn.timer.api.bean.sbgjj.SbgjjAreaInfo; import cn.timer.api.bean.sbgjj.SbgjjAssoCbfa; import cn.timer.api.bean.sbgjj.SbgjjAssoCbfzmx; 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.XcglAssoBszqsz; import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.UserBean; import cn.timer.api.dao.sbgjj.SbgjjAdminCbryMapper; import cn.timer.api.dao.sbgjj.SbgjjAreaInfoMapper; import cn.timer.api.dao.sbgjj.SbgjjAssoCbfaMapper; import cn.timer.api.dao.sbgjj.SbgjjAssoCbfzmxMapper; import cn.timer.api.dao.sbgjj.SbgjjAssoDetailedMapper; import cn.timer.api.dao.sbgjj.SbgjjAssoYjzdMapper; import cn.timer.api.dao.sbgjj.SbgjjTypeDetailsMapper; import cn.timer.api.dao.sbgjj.SbgjjYjCsbhMapper; import cn.timer.api.dto.sbgjj.InspersonnelDto; import cn.timer.api.dto.sbgjj.InsuranceSchemeDto; import cn.timer.api.dto.sbgjj.InsureDto; import cn.timer.api.dto.sbgjj.InsuredPersonnelDto; import cn.timer.api.dto.sbgjj.MonthlyCheckoutSheetDto; import cn.timer.api.dto.sbgjj.MonthlyStatementDto; import cn.timer.api.dto.sbgjj.SearchPlanDto; import cn.timer.api.dto.sbgjj.SocialSecurityFundDto; import cn.timer.api.dto.sbgjj.SocialfundDto; import cn.timer.api.dto.sbgjj.StopimmediatelyDto; import cn.timer.api.dto.sbgjj.VerifyInsuredDto; import cn.timer.api.dto.sbgjj.VerifyInsuredDtoListDto; import cn.timer.api.dto.xcgl.ImportDescriptionDto; import cn.timer.api.utils.ResponseResult; import cn.timer.api.utils.Result; import cn.timer.api.utils.ResultUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @Api(tags = "社保公积金Api") @RestController @RequestMapping(value = "/soc", produces = { "application/json" }) public class SocialSecurityFundController { @Autowired private SbgjjAreaInfoMapper sbgjjareainfomapper; @Autowired private SbgjjTypeDetailsMapper sbgjjtypedetailsmapper; @Autowired private SbgjjYjCsbhMapper sbgjjyjcsbhmapper; //参保方案 @Autowired private SbgjjAssoCbfaMapper sbgjjassocbfamapper; //参保方案明细 @Autowired private SbgjjAssoCbfzmxMapper sbgjjassocbfzmxmapper; /*********/ //参保人员 @Autowired private SbgjjAdminCbryMapper sbgjjadmincbrymapper; //月结账单 @Autowired private SbgjjAssoYjzdMapper sbgjjassoyjzdmapper; @GetMapping(value = "/basicdatalist/{insuredcities}") @ApiOperation(value = "社保公积金", httpMethod = "GET", notes = "接口发布说明") public ResponseResult BasicdataList(@PathVariable String insuredcities) { List<SbgjjAreaInfo> xcgladminxzz = new LambdaQueryChainWrapper<SbgjjAreaInfo>(sbgjjareainfomapper).like(SbgjjAreaInfo::getName, insuredcities).list(); return new ResponseResult().success("获取薪资组信息成功", xcgladminxzz); } @GetMapping(value = "/city") @ApiOperation(value = "社保公积金城市", httpMethod = "GET", notes = "接口发布说明") public ResponseResult Citylist() { List<SbgjjYjCsbh> xcgladminxzz = new LambdaQueryChainWrapper<SbgjjYjCsbh>(sbgjjyjcsbhmapper).list(); return new ResponseResult().success("获取社保公积金城市信息成功", xcgladminxzz); } @GetMapping(value = "/sbgjj/{name}") @ApiOperation(value = "社保公积金", httpMethod = "GET", notes = "接口发布说明") public ResponseResult SocialSecurityFund(@PathVariable String name) { SocialSecurityFundDto ssf = new SocialSecurityFundDto(); List<SbgjjTypeDetails> sblist = null; List<SbgjjTypeDetails> sblist1 = sbgjjtypedetailsmapper.SocialSecurityFund(name,1);//社保 if(sblist1.size() > 0) {//没有数据 sblist = sblist1;//社保 }else { sblist = sbgjjtypedetailsmapper.SocialBlankReference(1);//社保 } List<SocialfundDto> socials = new ArrayList<SocialfundDto>(); for(SbgjjTypeDetails sbs:sblist) { SocialfundDto socia = new SocialfundDto(); socia.setName(sbs.getName());;// 社保或公积金名字 socia.setBaseDown(String.valueOf(sbs.getBaseDown()));;// 基数范围下限 socia.setBaseUp(String.valueOf(sbs.getBaseUp()));;// 基数范围上限 socia.setCompanyRatio(String.valueOf(sbs.getCompanyRatio()));;// 公司比例 socia.setCompanyFixedMoney(sbs.getCompanyFixedMoney());;// 公司固定金额 socia.setPersonRatio(String.valueOf(sbs.getPersonRatio()));;// 个人比例 socia.setPersonFixedMoney(sbs.getPersonFixedMoney());;// 个人固定金额 socials.add(socia); } ssf.setSocial(socials); List<SbgjjTypeDetails> gjjlist = null; List<SbgjjTypeDetails> gjjlist1 = sbgjjtypedetailsmapper.SocialSecurityFund(name,2);//公积金 if(gjjlist1.size() > 0) { gjjlist = gjjlist1; }else { gjjlist = sbgjjtypedetailsmapper.SocialBlankReference(2);//公积金 } List<SocialfundDto> funds = new ArrayList<SocialfundDto>(); for(SbgjjTypeDetails gjjs:gjjlist) { SocialfundDto fund = new SocialfundDto(); fund.setName(gjjs.getName());;// 社保或公积金名字 fund.setBaseDown(String.valueOf(gjjs.getBaseDown()));;// 基数范围下限 fund.setBaseUp(String.valueOf(gjjs.getBaseUp()));;// 基数范围上限 fund.setCompanyRatio(String.valueOf(gjjs.getCompanyRatio()));;// 公司比例 fund.setCompanyFixedMoney(gjjs.getCompanyFixedMoney());;// 公司固定金额 fund.setPersonRatio(String.valueOf(gjjs.getPersonRatio()));;// 个人比例 fund.setPersonFixedMoney(gjjs.getPersonFixedMoney());;// 个人固定金额 funds.add(fund); } ssf.setFund(funds); return new ResponseResult().success("获取社保公积金成功", ssf); } /** * 切换社保 */ @GetMapping(value = "/switchsocial/{id}") @ApiOperation(value = "切换社保", httpMethod = "GET", notes = "接口发布说明") public ResponseResult switchsocial(@PathVariable int id) { List<SocialfundDto> qhsb = sbgjjtypedetailsmapper.Socialfundlist(id); return new ResponseResult().success("切换社保成功", qhsb); } /** * 切换公积金 */ @GetMapping(value = "/switchfund/{id}") @ApiOperation(value = "切换公积金", httpMethod = "GET", notes = "接口发布说明") public ResponseResult switchfund(@PathVariable int id) { List<SocialfundDto> qhgjj = sbgjjtypedetailsmapper.Socialfundlist(id); return new ResponseResult().success("切换公积金成功", qhgjj); } @PostMapping(value = "/insueme") @ApiOperation(value = "添加参保方案", httpMethod = "POST", notes = "接口发布说明") public ResponseResult InsuranceScheme(@CurrentUser UserBean userBean,@RequestBody InsuranceSchemeDto insura) { SbgjjAssoCbfa cbfa = SbgjjAssoCbfa.builder().build(); cbfa.setCbmcName(insura.getName());//参保名称 cbfa.setCbcs(insura.getInsuredcities());//参保城市 cbfa.setSbcbfzmc(insura.getShebaoname());//社保参保方案名称 cbfa.setGjjcbfamc(insura.getGongjijinname());//公积金参保方案名称 cbfa.setFwf(Double.valueOf(insura.getFwf()));//服务费 (元/人/月) cbfa.setSbSbgjjid(insura.getShebaoid());//社保(公积金)方案库id cbfa.setGjjSbgjjid(insura.getGongjijinid());//(社保)公积金方案库id cbfa.setSbmin(Double.valueOf(insura.getSbmin())); cbfa.setGjjmin(Double.valueOf(insura.getGjjmin())); cbfa.setSbmax(Double.valueOf(insura.getSbmax())); cbfa.setGjjmax(Double.valueOf(insura.getGjjmax())); cbfa.setQyid(userBean.getOrgCode()); if(insura.getIsGjjbl()) { cbfa.setIsGjjbl(0); }else { cbfa.setIsGjjbl(1); } sbgjjassocbfamapper.sbgjjassocbfainsert(cbfa); int cbfaid = cbfa.getId(); List<SbgjjAssoCbfzmx> fzmxlist=new ArrayList<SbgjjAssoCbfzmx>(); SocialfundDto[] shebaos = insura.getShebao();// if(shebaos.length>0){ for(int p=0;p<shebaos.length;p++){ SbgjjAssoCbfzmx cbf = new SbgjjAssoCbfzmx(); cbf.setXz(shebaos[p].getName());//险种 cbf.setJsxx(shebaos[p].getBaseDown());//基数下限 cbf.setJssx(shebaos[p].getBaseUp());//基数上限 cbf.setGjbl(shebaos[p].getCompanyRatio());//公司比例 cbf.setGsgdje(shebaos[p].getCompanyFixedMoney());//公司固定金额 cbf.setGsqzgz(1);//公司取整规则 1:四舍五入 cbf.setGrbl(shebaos[p].getPersonRatio());//个人比例 cbf.setGrgdje(shebaos[p].getPersonFixedMoney());//个人固定金额 cbf.setGrqzgz(1);//个人取整规则 1:四舍五入 cbf.setType(1);//类型 1:社保 2:公积金 cbf.setTjsjTime(new Date().getTime());//添加时间 cbf.setTjryNum(userBean.getEmpNum());//添加人员 cbf.setGssbhj(1);//公司社保合计 规则(四舍五入) 1:四舍五入 cbf.setGrsbhj(1);//个人社保合计 规则(四舍五入) 1:四舍五入 cbf.setGsgjjhj(1);//公司公积金合计 规则(四舍五入) 1:四舍五入 cbf.setGrgjjhj(1);//个人公积金合计 规则(四舍五入) 1:四舍五入 cbf.setCbfaid(cbfaid);//参保方案id fzmxlist.add(cbf); } } if(fzmxlist.size()>0){ sbgjjassocbfzmxmapper.insertsbgjjassocbfzmxList(fzmxlist); } List<SbgjjAssoCbfzmx> gjjlist=new ArrayList<SbgjjAssoCbfzmx>(); SocialfundDto[] gongjijins = insura.getGongjijin();// if(gongjijins.length>0){ for(int p=0;p<gongjijins.length;p++){ SbgjjAssoCbfzmx cbf = new SbgjjAssoCbfzmx(); cbf.setXz(gongjijins[p].getName());//险种 cbf.setJsxx(gongjijins[p].getBaseDown());//基数下限 cbf.setJssx(gongjijins[p].getBaseUp());//基数上限 cbf.setGjbl(gongjijins[p].getCompanyRatio());//公司比例 cbf.setGsgdje(gongjijins[p].getCompanyFixedMoney());//公司固定金额 cbf.setGsqzgz(1);//公司取整规则 1:四舍五入 cbf.setGrbl(gongjijins[p].getPersonRatio());//个人比例 cbf.setGrgdje(gongjijins[p].getPersonFixedMoney());//个人固定金额 cbf.setGrqzgz(1);//个人取整规则 1:四舍五入 cbf.setType(2);//类型 1:社保 2:公积金 cbf.setTjsjTime(new Date().getTime());//添加时间 cbf.setTjryNum(userBean.getEmpNum());//添加人员 cbf.setGssbhj(1);//公司社保合计 规则(四舍五入) 1:四舍五入 cbf.setGrsbhj(1);//个人社保合计 规则(四舍五入) 1:四舍五入 cbf.setGsgjjhj(1);//公司公积金合计 规则(四舍五入) 1:四舍五入 cbf.setGrgjjhj(1);//个人公积金合计 规则(四舍五入) 1:四舍五入 cbf.setCbfaid(cbfaid);//参保方案id gjjlist.add(cbf); } } if(gjjlist.size()>0){ sbgjjassocbfzmxmapper.insertsbgjjassocbfzmxList(gjjlist); } return new ResponseResult().success("成功", cbfa); } @PostMapping(value = "/programme") @ApiOperation(value = "员工搜索/分页", httpMethod = "POST", notes = "接口发布说明") public Result<Object> programme(@CurrentUser UserBean userBean,@RequestBody SearchPlanDto searchp) { String c = searchp.getCityName(); Page<SbgjjAssoCbfa> page = new Page<SbgjjAssoCbfa>( searchp.getCurrentPage() == null ? 1 : searchp.getCurrentPage(), searchp.getTotalPage() == null ? 10 : searchp.getTotalPage()); QueryWrapper<SbgjjAssoCbfa> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("qyid",userBean.getOrgCode()).and(!StrUtil.hasBlank(c), wq -> wq.likeRight("cbcs", c)); IPage<SbgjjAssoCbfa> sbgjjassocbfaPage = SbgjjAssoCbfa.builder().build().selectPage(page, queryWrapper); List<SbgjjAssoCbfa> sbgjjassocbfaEmps = sbgjjassocbfaPage.getRecords(); sbgjjassocbfaPage.getCurrent(); sbgjjassocbfaPage.getPages(); sbgjjassocbfaPage.getTotal(); sbgjjassocbfaPage.getSize(); return ResultUtil.data(sbgjjassocbfaPage, sbgjjassocbfaEmps, "方案搜索成功"); } @DeleteMapping(value = "/delschemegroup/{id}") @ApiOperation(value = "删除方案组", httpMethod = "DELETE", notes = "接口发布说明") public ResponseResult delSchemeGroup(@PathVariable Integer id) { SbgjjAssoCbfa.builder().build().deleteById(id); sbgjjassocbfzmxmapper.deleteBycbfaid(id); return new ResponseResult().success("删除成功", id); } @GetMapping(value = "/initialization/{id}") @ApiOperation(value = "社保公积金初始化", httpMethod = "GET", notes = "接口发布说明") public ResponseResult Initialization(@PathVariable Integer id) { SocialSecurityFundDto ssf = new SocialSecurityFundDto(); // List<SbgjjAssoCbfzmx> sblist = sbgjjtypedetailsmapper.SocialSecurityFund(name,1);//社保 List<SbgjjAssoCbfzmx> sblist = new LambdaQueryChainWrapper<SbgjjAssoCbfzmx>(sbgjjassocbfzmxmapper).eq(SbgjjAssoCbfzmx::getCbfaid, id).eq(SbgjjAssoCbfzmx::getType, 1).list(); List<SocialfundDto> socials = new ArrayList<SocialfundDto>(); for(SbgjjAssoCbfzmx sbs:sblist) { SocialfundDto socia = new SocialfundDto(); socia.setName(sbs.getXz());;// 社保或公积金名字 socia.setBaseDown(sbs.getJsxx());;// 基数范围下限 socia.setBaseUp(sbs.getJssx());;// 基数范围上限 socia.setCompanyRatio(sbs.getGjbl());;// 公司比例 socia.setCompanyFixedMoney(sbs.getGsgdje());;// 公司固定金额 socia.setPersonRatio(sbs.getGrbl());;// 个人比例 socia.setPersonFixedMoney(sbs.getGrgdje());;// 个人固定金额 socials.add(socia); } ssf.setSocial(socials); // List<SbgjjTypeDetails> gjjlist = sbgjjtypedetailsmapper.SocialSecurityFund(name,2);//公积金 List<SbgjjAssoCbfzmx> gjjlist = new LambdaQueryChainWrapper<SbgjjAssoCbfzmx>(sbgjjassocbfzmxmapper).eq(SbgjjAssoCbfzmx::getCbfaid, id).eq(SbgjjAssoCbfzmx::getType, 2).list(); List<SocialfundDto> funds = new ArrayList<SocialfundDto>(); for(SbgjjAssoCbfzmx gjjs:gjjlist) { SocialfundDto fund = new SocialfundDto(); fund.setName(gjjs.getXz());;// 社保或公积金名字 fund.setBaseDown(gjjs.getJsxx());;// 基数范围下限 fund.setBaseUp(gjjs.getJssx());;// 基数范围上限 fund.setCompanyRatio(gjjs.getGjbl());;// 公司比例 fund.setCompanyFixedMoney(gjjs.getGsgdje());;// 公司固定金额 fund.setPersonRatio(gjjs.getGrbl());;// 个人比例 fund.setPersonFixedMoney(gjjs.getGrgdje());;// 个人固定金额 funds.add(fund); } ssf.setFund(funds); return new ResponseResult().success("获取社保公积金成功", ssf); } @PutMapping(value = "/updaschemegroup") @ApiOperation(value = "修改方案组", httpMethod = "PUT", notes = "接口发布说明") public ResponseResult updaSchemeGroup(@CurrentUser UserBean userBean,@RequestBody InsuranceSchemeDto insura) { SbgjjAssoCbfa cbfa = SbgjjAssoCbfa.builder().build(); cbfa.setCbmcName(insura.getName());//参保名称 cbfa.setCbcs(insura.getInsuredcities());//参保城市 cbfa.setSbcbfzmc(insura.getShebaoname());//社保参保方案名称 cbfa.setGjjcbfamc(insura.getGongjijinname());//公积金参保方案名称 cbfa.setFwf(Double.valueOf(insura.getFwf()));//服务费 (元/人/月) cbfa.setSbSbgjjid(insura.getShebaoid());//社保(公积金)方案库id cbfa.setGjjSbgjjid(insura.getGongjijinid());//(社保)公积金方案库id cbfa.setQyid(userBean.getOrgCode()); cbfa.setId(insura.getId()); cbfa.setSbmin(Double.valueOf(insura.getSbmin())); cbfa.setGjjmin(Double.valueOf(insura.getGjjmin())); cbfa.setSbmax(Double.valueOf(insura.getSbmax())); cbfa.setGjjmax(Double.valueOf(insura.getGjjmax())); if(insura.getIsGjjbl()) { cbfa.setIsGjjbl(0); }else { cbfa.setIsGjjbl(1); } cbfa.updateById(); sbgjjassocbfzmxmapper.deleteBycbfaid(insura.getId()); List<SbgjjAssoCbfzmx> fzmxlist=new ArrayList<SbgjjAssoCbfzmx>(); SocialfundDto[] shebaos = insura.getShebao();// if(shebaos.length>0){ for(int p=0;p<shebaos.length;p++){ SbgjjAssoCbfzmx cbf = new SbgjjAssoCbfzmx(); cbf.setXz(shebaos[p].getName());//险种 cbf.setJsxx(shebaos[p].getBaseDown());//基数下限 cbf.setJssx(shebaos[p].getBaseUp());//基数上限 cbf.setGjbl(shebaos[p].getCompanyRatio());//公司比例 cbf.setGsgdje(shebaos[p].getCompanyFixedMoney());//公司固定金额 cbf.setGsqzgz(1);//公司取整规则 1:四舍五入 cbf.setGrbl(shebaos[p].getPersonRatio());//个人比例 cbf.setGrgdje(shebaos[p].getPersonFixedMoney());//个人固定金额 cbf.setGrqzgz(1);//个人取整规则 1:四舍五入 cbf.setType(1);//类型 1:社保 2:公积金 cbf.setTjsjTime(new Date().getTime());//添加时间 cbf.setTjryNum(userBean.getEmpNum());//添加人员 cbf.setGssbhj(1);//公司社保合计 规则(四舍五入) 1:四舍五入 cbf.setGrsbhj(1);//个人社保合计 规则(四舍五入) 1:四舍五入 cbf.setGsgjjhj(1);//公司公积金合计 规则(四舍五入) 1:四舍五入 cbf.setGrgjjhj(1);//个人公积金合计 规则(四舍五入) 1:四舍五入 cbf.setCbfaid(insura.getId());//参保方案id fzmxlist.add(cbf); } } if(fzmxlist.size()>0){ sbgjjassocbfzmxmapper.insertsbgjjassocbfzmxList(fzmxlist); } List<SbgjjAssoCbfzmx> gjjlist=new ArrayList<SbgjjAssoCbfzmx>(); SocialfundDto[] gongjijins = insura.getGongjijin();// if(gongjijins.length>0){ for(int p=0;p<gongjijins.length;p++){ SbgjjAssoCbfzmx cbf = new SbgjjAssoCbfzmx(); cbf.setXz(gongjijins[p].getName());//险种 cbf.setJsxx(gongjijins[p].getBaseDown());//基数下限 cbf.setJssx(gongjijins[p].getBaseUp());//基数上限 cbf.setGjbl(gongjijins[p].getCompanyRatio());//公司比例 cbf.setGsgdje(gongjijins[p].getCompanyFixedMoney());//公司固定金额 cbf.setGsqzgz(1);//公司取整规则 1:四舍五入 cbf.setGrbl(gongjijins[p].getPersonRatio());//个人比例 cbf.setGrgdje(gongjijins[p].getPersonFixedMoney());//个人固定金额 cbf.setGrqzgz(1);//个人取整规则 1:四舍五入 cbf.setType(2);//类型 1:社保 2:公积金 cbf.setTjsjTime(new Date().getTime());//添加时间 cbf.setTjryNum(userBean.getEmpNum());//添加人员 cbf.setGssbhj(1);//公司社保合计 规则(四舍五入) 1:四舍五入 cbf.setGrsbhj(1);//个人社保合计 规则(四舍五入) 1:四舍五入 cbf.setGsgjjhj(1);//公司公积金合计 规则(四舍五入) 1:四舍五入 cbf.setGrgjjhj(1);//个人公积金合计 规则(四舍五入) 1:四舍五入 cbf.setCbfaid(insura.getId());//参保方案id gjjlist.add(cbf); } } if(gjjlist.size()>0){ sbgjjassocbfzmxmapper.insertsbgjjassocbfzmxList(gjjlist); } return new ResponseResult().success("成功", cbfa); } /** * 参保人员 */ @PostMapping(value = "/insonnel") @ApiOperation(value = "参保人员", httpMethod = "POST", notes = "接口发布说明") public ResponseResult Insuredpersonnel(@CurrentUser UserBean userBean,@RequestBody InspersonnelDto inspe) { int orgcode = userBean.getOrgCode(); inspe.setOrgcode(orgcode); List<InsuredPersonnelDto> cbrylist = sbgjjadmincbrymapper.InsuredPersonnel(inspe); return new ResponseResult().success("成功", cbrylist); } /** * 参保员工号-根据 模糊 + 高級查詢-分页****************************************************************8 */ @PostMapping(value = "/insured_employees") @ApiOperation(value = "参保员工号-根据 模糊 + 高級查詢-分页", httpMethod = "POST", notes = "接口发布说明") @ApiOperationSupport(order = 34) public Result<Object> InsuredEmployees(@CurrentUser UserBean userBean, @Validated @RequestBody InspersonnelDto inspe){ IPage<InsuredPersonnelDto> page = new Page<InsuredPersonnelDto>( inspe.getCurrentPage() == null ? 1 : inspe.getCurrentPage(), inspe.getTotalPage() == null ? 10 : inspe.getTotalPage()); inspe.setOrgcode(userBean.getOrgCode()); IPage<InsuredPersonnelDto> pageAs = sbgjjadmincbrymapper.InsuredEmployees(page, inspe); List<InsuredPersonnelDto> listAs = pageAs.getRecords(); return ResultUtil.data(pageAs, listAs, "操作成功!"); } @GetMapping(value = "/insure/{name}") @ApiOperation(value = "投保事件", httpMethod = "GET", notes = "接口发布说明") public ResponseResult InsuranceIncident(@CurrentUser UserBean userBean,@PathVariable String name) { List<SbgjjAssoCbfa> cbfalist = new LambdaQueryChainWrapper<SbgjjAssoCbfa>(sbgjjassocbfamapper).eq(SbgjjAssoCbfa::getCbcs, name) .eq(SbgjjAssoCbfa::getQyid, userBean.getOrgCode()).list(); return new ResponseResult().success("成功", cbfalist); } /** * 获取员工数据 */ @GetMapping(value="/Employee") @ApiOperation(value = "获取员工数据-根据 组织机构代码", httpMethod = "GET", notes = "接口发布说明") @ApiOperationSupport(order = 26) public Result<List<YgglMainEmp>> getEmployeeData(@CurrentUser UserBean userBean) { int qyid = userBean.getOrgCode();//坏小孩【企业id】 List<YgglMainEmp> yggl = sbgjjadmincbrymapper.EmployeeListByorgCode(qyid); return ResultUtil.data(yggl); } @GetMapping(value = "/insure_details/{name}") @ApiOperation(value = "投保事件", httpMethod = "GET", notes = "接口发布说明") public ResponseResult insureDetails(@CurrentUser UserBean userBean,@PathVariable String name) { List<SbgjjAssoCbfa> cbfalist = new LambdaQueryChainWrapper<SbgjjAssoCbfa>(sbgjjassocbfamapper).eq(SbgjjAssoCbfa::getCbcs, name) .eq(SbgjjAssoCbfa::getQyid, userBean.getOrgCode()).list(); return new ResponseResult().success("成功", cbfalist); } @Autowired private SbgjjAssoDetailedMapper sbgjjassodetailedmapper; @PostMapping(value = "/insuplan") @ApiOperation(value = "投保", httpMethod = "POST", notes = "接口发布说明") public ResponseResult InsurancePlan(@CurrentUser UserBean userBean,@RequestBody InsureDto insuredto) { String[] usernums = insuredto.getUsernums(); if(insuredto.getUsernum() > 0) { usernums = new String[1]; usernums[0] = String.valueOf(insuredto.getUsernum()); } if(usernums.length > 0){ for(int f=0;f<usernums.length;f++){ SbgjjAdminCbry.builder().state(0).isUse(0).build().update(new QueryWrapper<SbgjjAdminCbry>().lambda().eq(SbgjjAdminCbry::getUserNum, Integer.valueOf(usernums[f])).eq(SbgjjAdminCbry::getQyid, userBean.getOrgCode())); // Integer.valueOf(usernums[f]) SbgjjAdminCbry cbry = SbgjjAdminCbry.builder().build(); cbry.setUserNum(Integer.valueOf(usernums[f])); if(insuredto.getSb()) { cbry.setSbcbState(2);//社保参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setSbjlStatime(null);//社保缴纳起始月 cbry.setSbjljs(null);//社保缴纳基数 }else { cbry.setSbcbState(1);//社保参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setSbjlStatime(insuredto.getJnmouth());//社保缴纳起始月 cbry.setSbjljs(Double.valueOf(insuredto.getJnjs()));//社保缴纳基数 } if(insuredto.getGjj()) { cbry.setGjjcbState(2);//公积金参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setGjjjlStatime(null);//公积金缴纳起始月 cbry.setGjjjljs(null);//公积金缴纳基数 }else { cbry.setGjjcbState(1);//公积金参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setGjjjlStatime(insuredto.getGjjJnmouth());//公积金缴纳起始月 cbry.setGjjjljs(Double.valueOf(insuredto.getGjjJnjs()));//公积金缴纳基数 } cbry.setJlMode(1);//缴纳方式 1:公司自缴 cbry.setCbfacs(insuredto.getInsuredcities());//参保城市 cbry.setSbjlEndtime(null);//社保缴纳结束月 cbry.setGjjjlEndtime(null);//公积金缴纳结束月 cbry.setInsureNum(userBean.getEmpNum());//投保人员 cbry.setInsureTime(new Date().getTime());//投保时间 // cbry.setStopNum();//停保人员 // cbry.setStopTime();//停保时间 cbry.setState(1);//状态 1:使用中;0:历史记录 cbry.setQyid(userBean.getOrgCode()); cbry.setSbfaid(insuredto.getSbfaid()); cbry.setGjjfaid(insuredto.getGjjfaid()); cbry.setIsUse(1);//是否使用 0:否 1:是 sbgjjadmincbrymapper.insertsbgjjadmincbry(cbry); int cbryid = cbry.getId();//参保人员 List<SbgjjAssoDetailed> detalis = new ArrayList<SbgjjAssoDetailed>(); //*************************************社保****************************************************** double gssocial = 0;//公司社保总 double grsocial = 0;//个人社保总 if(!insuredto.getSb()) { List<SbgjjAssoCbfzmx> shebaolist = new LambdaQueryChainWrapper<SbgjjAssoCbfzmx>(sbgjjassocbfzmxmapper).eq(SbgjjAssoCbfzmx::getCbfaid, insuredto.getSbfaid()) .eq(SbgjjAssoCbfzmx::getType,1).list(); //社保****** //公司 SbgjjAssoDetailed.builder().build().delete(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, Integer.valueOf(usernums[f])).eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode()) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getJnmouth())); for(SbgjjAssoCbfzmx sbjs:shebaolist) { double jishuxx = 0; double preval = 0; if(sbjs.getGsgdje() > 0) { preval = sbjs.getGsgdje(); }else { if(Double.valueOf(sbjs.getJsxx()) > Double.valueOf(insuredto.getJnjs())) { jishuxx = Double.valueOf(sbjs.getJsxx());//基数下限 }else { jishuxx = Double.valueOf(insuredto.getJnjs());//用户填写的社保基数 } BigDecimal gsbili = new BigDecimal(sbjs.getGjbl());//公司比例 BigDecimal bfb = new BigDecimal(100); double gsh = gsbili.divide(bfb).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxx)*gsh); } SbgjjAssoDetailed deta = SbgjjAssoDetailed.builder().build(); deta.setUserId(Integer.valueOf(usernums[f])); deta.setAttributionTime(insuredto.getJnmouth());// deta.setCbfzmxId(sbjs.getId()); deta.setCoverageName(sbjs.getXz()); deta.setPersonalAmount(0.0); deta.setPersonalProportion("");//个人比例 deta.setCompanyAmount(preval);//公司金额 deta.setCompanyProportion(sbjs.getGjbl()); deta.setXzType(1);//险种类型 1:社保;2:公积金 deta.setOrgCode(userBean.getOrgCode()); deta.setAddtime(new Date().getTime()); SbgjjAssoCbfa sbgjjfa = SbgjjAssoCbfa.builder().id(sbjs.getCbfaid()).build().selectById(); deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数****************** deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数************ deta.setCbryid(cbryid);// detalis.add(deta); Logoutput("公司-社保:"+preval); gssocial += preval; } Logoutput("公司社保总:"+formatDouble1(gssocial)); if(detalis.size()>0){ sbgjjassodetailedmapper.insertsbgjjassodetailedList(detalis); } //个人 for(SbgjjAssoCbfzmx sbjsgr:shebaolist) { double jishuxxgr = 0; double preval = 0; if(sbjsgr.getGrgdje() > 0) { preval = sbjsgr.getGrgdje(); }else { if(Double.valueOf(sbjsgr.getJsxx()) > Double.valueOf(insuredto.getJnjs())) { jishuxxgr = Double.valueOf(sbjsgr.getJsxx());//基数下限 }else { jishuxxgr = Double.valueOf(insuredto.getJnjs());//基数下限 } BigDecimal gsbigr = new BigDecimal(sbjsgr.getGrbl());//个人比例 BigDecimal bfgr = new BigDecimal(100); double gsh = gsbigr.divide(bfgr).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxxgr)*gsh); } SbgjjAssoDetailed dtd = sbgjjassodetailedmapper.selectOne(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, Integer.valueOf(usernums[f])) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getJnmouth()).eq(SbgjjAssoDetailed::getCbfzmxId, sbjsgr.getId()).eq(SbgjjAssoDetailed::getCoverageName, sbjsgr.getXz()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); if(dtd != null) { SbgjjAssoDetailed.builder().id(dtd.getId()).personalAmount(preval).personalProportion(sbjsgr.getGrbl()).build().updateById(); } Logoutput("个人-社保:"+preval); grsocial += preval; } Logoutput("个人社保总:"+formatDouble1(grsocial)); if(!(insuredto.getJnmouth()).equals(insuredto.getGjjJnmouth())) { // sbgjjassoyjzdmapper.deletesbgjjassoyjzd(insuredto.getUsernum(),orgCode,insuredto.getJnmouth()); SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); yjzd.setUserNum(Integer.valueOf(usernums[f]));//用户工号 yjzd.setTotalmoney(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(grsocial))));//合计金额 yjzd.setGsjltotal(String.valueOf(formatDouble1(gssocial)));//公司缴纳合计 yjzd.setGrjltotal(String.valueOf(formatDouble1(grsocial)));//个人缴纳合计 yjzd.setZdtype(1);//账单类型 1:公司自缴 yjzd.setZymonth(insuredto.getJnmouth());//账单月份 yjzd.setSbfaid(insuredto.getSbfaid());//社保参保方案id yjzd.setGjjfaid(insuredto.getGjjfaid());//公积金参保方案id yjzd.setQyid(userBean.getOrgCode()); yjzd.setSbgshj(String.valueOf(formatDouble1(gssocial)));//社保公司合计 yjzd.setSbgrhj(String.valueOf(formatDouble1(grsocial)));//社保个人合计 yjzd.setSbhj(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(grsocial))));//社保合计 yjzd.setGjjgshj("0.0");//公积金公司合计 yjzd.setGjjgrhj("0.0");//公积金个人合计 yjzd.setGjjhj("0.0");//公积金合计 yjzd.setCbryid(cbryid); sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); } } //*************************************公积金****************************************************** double gsfund = 0;//公司公积金总 double grgsfund = 0;//个人公积金总 if(!insuredto.getGjj()) { List<SbgjjAssoCbfzmx> gongjjlist = new LambdaQueryChainWrapper<SbgjjAssoCbfzmx>(sbgjjassocbfzmxmapper).eq(SbgjjAssoCbfzmx::getCbfaid, insuredto.getGjjfaid()) .eq(SbgjjAssoCbfzmx::getType,2).list(); //公积金 //公司 for(SbgjjAssoCbfzmx gjjgs:gongjjlist) { double jishuxx = 0; double preval = 0; if(gjjgs.getGsgdje() > 0) {//公司固定金额 preval = gjjgs.getGsgdje(); }else { if(Double.valueOf(gjjgs.getJsxx()) > Double.valueOf(insuredto.getGjjJnjs())) { jishuxx = Double.valueOf(gjjgs.getJsxx());//基数下限 }else { jishuxx = Double.valueOf(insuredto.getGjjJnjs());//基数下限 } BigDecimal gsbili = new BigDecimal(gjjgs.getGjbl());//公司比例 BigDecimal bfb = new BigDecimal(100); double gsh = gsbili.divide(bfb).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxx)*gsh); } SbgjjAssoDetailed deta = SbgjjAssoDetailed.builder().build(); deta.setUserId(Integer.valueOf(usernums[f])); deta.setAttributionTime(insuredto.getGjjJnmouth());// deta.setCbfzmxId(gjjgs.getId()); deta.setCoverageName(gjjgs.getXz()); deta.setPersonalAmount(0.0); deta.setPersonalProportion(""); deta.setCompanyAmount(preval);//公司金额 deta.setCompanyProportion(gjjgs.getGjbl());//公司比例 deta.setXzType(2);//险种类型 1:社保;2:公积金 deta.setOrgCode(userBean.getOrgCode()); deta.setAddtime(new Date().getTime()); SbgjjAssoCbfa sbgjjfa = SbgjjAssoCbfa.builder().id(gjjgs.getCbfaid()).build().selectById(); deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数 deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数 deta.setCbryid(cbryid);// deta.insert(); Logoutput("公司-公积金:"+preval); gsfund += preval; } Logoutput("公司公积金总:"+formatDouble1(gsfund)); //个人 for(SbgjjAssoCbfzmx gjjgr:gongjjlist) { double jishuxxgr = 0; double preval = 0; if(gjjgr.getGrgdje() > 0) { preval = gjjgr.getGrgdje(); }else { if(Double.valueOf(gjjgr.getJsxx()) > Double.valueOf(insuredto.getGjjJnjs())) { jishuxxgr = Double.valueOf(gjjgr.getJsxx());//基数下限 }else { jishuxxgr = Double.valueOf(insuredto.getGjjJnjs());//基数下限 } BigDecimal gsbigr = new BigDecimal(gjjgr.getGrbl());//个人比例 BigDecimal bfgr = new BigDecimal(100); double gsh = gsbigr.divide(bfgr).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxxgr)*gsh); } SbgjjAssoDetailed dtd = sbgjjassodetailedmapper.selectOne(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, Integer.valueOf(usernums[f])) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getGjjJnmouth()).eq(SbgjjAssoDetailed::getCbfzmxId, gjjgr.getId()).eq(SbgjjAssoDetailed::getCoverageName, gjjgr.getXz()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); if(dtd!=null) { SbgjjAssoDetailed.builder().id(dtd.getId()).personalAmount(preval).personalProportion(gjjgr.getGrbl()).build().updateById(); } Logoutput("个人-公积金:"+preval); grgsfund += preval; } Logoutput("个人公积金总:"+formatDouble1(grgsfund)); if(!(insuredto.getJnmouth()).equals(insuredto.getGjjJnmouth())) { // sbgjjassoyjzdmapper.deletesbgjjassoyjzd(insuredto.getUsernum(),orgCode,insuredto.getGjjJnmouth()); SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); yjzd.setUserNum(Integer.valueOf(usernums[f]));//用户工号 yjzd.setTotalmoney(String.valueOf(formatDouble1(formatDouble1(gsfund)+formatDouble1(grgsfund))));//合计金额 yjzd.setGsjltotal(String.valueOf(formatDouble1(gsfund)));//公司缴纳合计 yjzd.setGrjltotal(String.valueOf(formatDouble1(grgsfund)));//个人缴纳合计 yjzd.setZdtype(1);//账单类型 1:公司自缴 yjzd.setZymonth(insuredto.getGjjJnmouth());//账单月份 yjzd.setSbfaid(insuredto.getSbfaid());//社保参保方案id yjzd.setGjjfaid(insuredto.getGjjfaid());//公积金参保方案id yjzd.setQyid(userBean.getOrgCode()); yjzd.setSbgshj("0.0");//社保公司合计 yjzd.setSbgrhj("0.0");//社保个人合计 yjzd.setSbhj("0.0");//社保合计 yjzd.setGjjgshj(String.valueOf(formatDouble1(gsfund)));//公积金公司合计 yjzd.setGjjgrhj(String.valueOf(formatDouble1(grgsfund)));//公积金个人合计 yjzd.setGjjhj(String.valueOf(formatDouble1(formatDouble1(gsfund)+formatDouble1(grgsfund))));//公积金合计 yjzd.setCbryid(cbryid); sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); } } //合计金额 社保(个人+公司) + 公积金(个人+公司) //公司缴纳合计 社保(公司) + 公积金(公司) //个人缴纳合计 社保(个人) + 公积金(个人) if((insuredto.getJnmouth()).equals(insuredto.getGjjJnmouth())) { // sbgjjassoyjzdmapper.deletesbgjjassoyjzd(insuredto.getUsernum(),orgCode,insuredto.getGjjJnmouth()); SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); yjzd.setUserNum(Integer.valueOf(usernums[f]));//用户工号 yjzd.setTotalmoney(String.valueOf(formatDouble1((formatDouble1(gsfund)+formatDouble1(grgsfund)+formatDouble1(gssocial)+formatDouble1(grsocial)))));//合计金额 yjzd.setGsjltotal(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(gsfund))));//公司缴纳合计 yjzd.setGrjltotal(String.valueOf(formatDouble1(formatDouble1(grsocial)+formatDouble1(grgsfund))));//个人缴纳合计 yjzd.setZdtype(1);//账单类型 1:公司自缴 yjzd.setZymonth(insuredto.getJnmouth());//账单月份 yjzd.setSbfaid(insuredto.getSbfaid());//社保参保方案id yjzd.setGjjfaid(insuredto.getGjjfaid());//公积金参保方案id yjzd.setQyid(userBean.getOrgCode()); yjzd.setSbgshj(String.valueOf(formatDouble1(gssocial)));//社保公司合计 yjzd.setSbgrhj(String.valueOf(formatDouble1(grsocial)));//社保个人合计 yjzd.setSbhj(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(grsocial))));//社保合计 yjzd.setGjjgshj(String.valueOf(formatDouble1(gsfund)));//公积金公司合计 yjzd.setGjjgrhj(String.valueOf(formatDouble1(grgsfund)));//公积金个人合计 yjzd.setGjjhj(String.valueOf(formatDouble1(formatDouble1(gsfund)+formatDouble1(grgsfund))));//公积金合计 yjzd.setCbryid(cbryid); sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); } } } return new ResponseResult().success("成功", null); } /** * 保留两位小数,四舍五入的一个老土的方法 * @param d * @return */ public static double formatDouble1(double d) { return (double)Math.round(d*100)/100; } @GetMapping(value = "/bjiiali/{id}") @ApiOperation(value = "停保社保公积金初始化", httpMethod = "GET", notes = "接口发布说明") public ResponseResult sbgjjInitialiplan(@PathVariable Integer id) { SbgjjAdminCbry cbry = new LambdaQueryChainWrapper<SbgjjAdminCbry>(sbgjjadmincbrymapper).eq(SbgjjAdminCbry::getState, 1).eq(SbgjjAdminCbry::getUserNum,id).one(); return new ResponseResult().success("成功", cbry); } @PutMapping(value = "/stopimmed") @ApiOperation(value = "停保", httpMethod = "PUT", notes = "接口发布说明") public ResponseResult Stopimmediately(@CurrentUser UserBean userBean,@RequestBody StopimmediatelyDto stopi) { Integer empNum = userBean.getEmpNum(); SbgjjAdminCbry cbry = SbgjjAdminCbry.builder().build(); cbry.setId(stopi.getId()); if(!stopi.getSb()) {// cbry.setSbjlEndtime(stopi.getSblastmouth());//社保缴纳结束月 cbry.setSbcbState(3); } if(!stopi.getGjj()) {// cbry.setGjjjlEndtime(stopi.getGjjlastmouth());//公积金缴纳结束月 cbry.setGjjcbState(3); } cbry.setStopNum(empNum);//停保人员 cbry.setStopTime(new Date().getTime());//停保时间 cbry.updateById(); SbgjjAdminCbry istb = new LambdaQueryChainWrapper<SbgjjAdminCbry>(sbgjjadmincbrymapper).eq(SbgjjAdminCbry::getId,stopi.getId()).one(); if(istb.getSbcbState() == 3 && istb.getGjjcbState() == 3) {//社保和公积金全部“停保”时 SbgjjAdminCbry up = SbgjjAdminCbry.builder().build(); up.setId(stopi.getId()); up.setState(1);//up.setState(0);//状态 1:使用中;0:历史记录 up.updateById(); } return new ResponseResult().success("成功", cbry); } /** * 调整-- */ @PutMapping(value = "/adjustment") @ApiOperation(value = "调整", httpMethod = "PUT", notes = "接口发布说明") public ResponseResult adjustment(@CurrentUser UserBean userBean,@RequestBody InsureDto insuredto) { // SbgjjAdminCbry cbry = SbgjjAdminCbry.builder().build(); // cbry.setUserNum(insuredto.getUsernum()); // if(insuredto.getSb()) { // //cbry.setSbcbState(2);//社保参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 //// cbry.setSbjlStatime(null);//社保缴纳起始月 //// cbry.setSbjljs(null);//社保缴纳基数 // }else { // cbry.setSbcbState(1);//社保参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 // cbry.setSbjlStatime(insuredto.getJnmouth());//社保缴纳起始月 // cbry.setSbjljs(Double.valueOf(insuredto.getJnjs()));//社保缴纳基数 // } // if(insuredto.getGjj()) { // //cbry.setGjjcbState(2);//公积金参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 //// cbry.setGjjjlStatime(null);//公积金缴纳起始月 //// cbry.setGjjjljs(null);//公积金缴纳基数 // }else { // cbry.setGjjcbState(1);//公积金参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 // cbry.setGjjjlStatime(insuredto.getGjjJnmouth());//公积金缴纳起始月 // cbry.setGjjjljs(Double.valueOf(insuredto.getGjjJnjs()));//公积金缴纳基数 // } // cbry.setCbfacs(insuredto.getInsuredcities());//参保城市 // // cbry.setState(1);//状态 1:使用中;0:历史记录 // cbry.setQyid(userBean.getOrgCode()); // // cbry.setSbfaid(insuredto.getSbfaid()); // cbry.setGjjfaid(insuredto.getGjjfaid()); // // cbry.setId(insuredto.getId()); // cbry.updateById(); // int isUse = 1;//是否使用 0:否 1:是 // // SbgjjAdminCbry ascb = SbgjjAdminCbry.builder().id(insuredto.getId()).build().selectById(); // // if(ascb.getSbjlStatime().equals(insuredto.getJnmouth()) || ascb.getGjjjlStatime().equals(insuredto.getGjjJnmouth())) { // isUse = 0; // } SbgjjAdminCbry cbrytwo = SbgjjAdminCbry.builder().build(); cbrytwo.setState(0);//状态 1:使用中;0:历史记录 cbrytwo.setId(insuredto.getId()); cbrytwo.setIsUse(0); cbrytwo.updateById(); SbgjjAdminCbry cbry = SbgjjAdminCbry.builder().build(); cbry.setUserNum(insuredto.getUsernum()); if(insuredto.getSb()) { cbry.setSbcbState(2);//社保参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setSbjlStatime(null);//社保缴纳起始月 cbry.setSbjljs(null);//社保缴纳基数 }else { cbry.setSbcbState(1);//社保参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setSbjlStatime(insuredto.getJnmouth());//社保缴纳起始月 cbry.setSbjljs(Double.valueOf(insuredto.getJnjs()));//社保缴纳基数 } if(insuredto.getGjj()) { cbry.setGjjcbState(2);//公积金参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setGjjjlStatime(null);//公积金缴纳起始月 cbry.setGjjjljs(null);//公积金缴纳基数 }else { cbry.setGjjcbState(1);//公积金参保状态 0:未投保 1:正常在缴 2:暂不办理 3:已停保 cbry.setGjjjlStatime(insuredto.getGjjJnmouth());//公积金缴纳起始月 cbry.setGjjjljs(Double.valueOf(insuredto.getGjjJnjs()));//公积金缴纳基数 } cbry.setJlMode(1);//缴纳方式 1:公司自缴 cbry.setCbfacs(insuredto.getInsuredcities());//参保城市 cbry.setSbjlEndtime(null);//社保缴纳结束月 cbry.setGjjjlEndtime(null);//公积金缴纳结束月 cbry.setInsureNum(userBean.getEmpNum());//投保人员 cbry.setInsureTime(new Date().getTime());//投保时间 // cbry.setStopNum();//停保人员 // cbry.setStopTime();//停保时间 cbry.setState(1);//状态 1:使用中;0:历史记录 cbry.setQyid(userBean.getOrgCode()); cbry.setSbfaid(insuredto.getSbfaid()); cbry.setGjjfaid(insuredto.getGjjfaid()); cbry.setIsUse(1);//是否使用 0:否 1:是 sbgjjadmincbrymapper.insertsbgjjadmincbry(cbry); insuredto.setId(cbry.getId()); List<SbgjjAssoDetailed> detalis = new ArrayList<SbgjjAssoDetailed>(); //*************************************社保****************************************************** double gssocial = 0;//公司社保总 double grsocial = 0;//个人社保总 if(!insuredto.getSb()) { List<SbgjjAssoCbfzmx> shebaolist = new LambdaQueryChainWrapper<SbgjjAssoCbfzmx>(sbgjjassocbfzmxmapper).eq(SbgjjAssoCbfzmx::getCbfaid, insuredto.getSbfaid()) .eq(SbgjjAssoCbfzmx::getType,1).list(); //社保****** //公司 // SbgjjAssoDetailed.builder().build().delete(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, insuredto.getUsernum()).eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode()) // .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getJnmouth())); SbgjjAssoDetailed.builder().build().delete(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, insuredto.getUsernum()).eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); for(SbgjjAssoCbfzmx sbjs:shebaolist) { double jishuxx = 0; double preval = 0; if(sbjs.getGsgdje() > 0) { preval = sbjs.getGsgdje(); }else { if(Double.valueOf(sbjs.getJsxx()) > Double.valueOf(insuredto.getJnjs())) { jishuxx = Double.valueOf(sbjs.getJsxx());//基数下限 }else { jishuxx = Double.valueOf(insuredto.getJnjs());//基数下限 } BigDecimal gsbili = new BigDecimal(sbjs.getGjbl());//公司比例 BigDecimal bfb = new BigDecimal(100); double gsh = gsbili.divide(bfb).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxx)*gsh); } SbgjjAssoDetailed.builder().build().delete(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, insuredto.getUsernum()) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getJnmouth()).eq(SbgjjAssoDetailed::getCbfzmxId, sbjs.getId()).eq(SbgjjAssoDetailed::getCoverageName, sbjs.getXz()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); SbgjjAssoDetailed deta = SbgjjAssoDetailed.builder().build(); deta.setUserId(insuredto.getUsernum()); deta.setAttributionTime(insuredto.getJnmouth());// deta.setCbfzmxId(sbjs.getId()); deta.setCoverageName(sbjs.getXz()); deta.setPersonalAmount(0.0); deta.setPersonalProportion(""); deta.setCompanyAmount(preval);//公司金额 deta.setCompanyProportion(sbjs.getGjbl()); deta.setXzType(1);//险种类型 1:社保;2:公积金 deta.setOrgCode(userBean.getOrgCode()); deta.setAddtime(new Date().getTime()); SbgjjAssoCbfa sbgjjfa = SbgjjAssoCbfa.builder().id(sbjs.getCbfaid()).build().selectById(); deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数 deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数 deta.setCbryid(insuredto.getId());// detalis.add(deta); gssocial += preval; } Logoutput("公司社保总:"+formatDouble1(gssocial)); if(detalis.size()>0){ sbgjjassodetailedmapper.insertsbgjjassodetailedList(detalis); } //个人 for(SbgjjAssoCbfzmx sbjsgr:shebaolist) { double jishuxxgr = 0; double preval = 0; if(sbjsgr.getGrgdje() > 0) { preval = sbjsgr.getGrgdje(); }else { if(Double.valueOf(sbjsgr.getJsxx()) > Double.valueOf(insuredto.getJnjs())) { jishuxxgr = Double.valueOf(sbjsgr.getJsxx());//基数下限 }else { jishuxxgr = Double.valueOf(insuredto.getJnjs());//基数下限 } BigDecimal gsbigr = new BigDecimal(sbjsgr.getGrbl());//个人比例 BigDecimal bfgr = new BigDecimal(100); double gsh = gsbigr.divide(bfgr).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxxgr)*gsh); } SbgjjAssoDetailed dtd = sbgjjassodetailedmapper.selectOne(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, insuredto.getUsernum()) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getJnmouth()).eq(SbgjjAssoDetailed::getCbfzmxId, sbjsgr.getId()).eq(SbgjjAssoDetailed::getCoverageName, sbjsgr.getXz()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); if(dtd != null) { SbgjjAssoDetailed.builder().id(dtd.getId()).personalAmount(preval).personalProportion(sbjsgr.getGrbl()).build().updateById(); } grsocial += preval; } Logoutput("个人社保总:"+formatDouble1(grsocial)); String gjjgshj_ = "0.0"; String gjjgrhj_ = "0.0"; String gjjhj_ = "0.0"; if(!(insuredto.getJnmouth()).equals(insuredto.getGjjJnmouth())) { sbgjjassoyjzdmapper.deletesbgjjassoyjzd(insuredto.getUsernum(),userBean.getOrgCode(),insuredto.getJnmouth(),insuredto.getId()); SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); yjzd.setUserNum(insuredto.getUsernum());//用户工号 yjzd.setTotalmoney(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(grsocial))));//合计金额 yjzd.setGsjltotal(String.valueOf(formatDouble1(gssocial)));//公司缴纳合计 yjzd.setGrjltotal(String.valueOf(formatDouble1(grsocial)));//个人缴纳合计 yjzd.setZdtype(1);//账单类型 1:公司自缴 yjzd.setZymonth(insuredto.getJnmouth());//账单月份 yjzd.setSbfaid(insuredto.getSbfaid());//社保参保方案id yjzd.setGjjfaid(insuredto.getGjjfaid());//公积金参保方案id yjzd.setQyid(userBean.getOrgCode()); yjzd.setSbgshj(String.valueOf(formatDouble1(gssocial)));//社保公司合计 yjzd.setSbgrhj(String.valueOf(formatDouble1(grsocial)));//社保个人合计 yjzd.setSbhj(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(grsocial))));//社保合计 yjzd.setGjjgshj(gjjgshj_);//公积金公司合计 yjzd.setGjjgrhj(gjjgrhj_);//公积金个人合计 yjzd.setGjjhj(gjjhj_);//公积金合计 yjzd.setCbryid(insuredto.getId()); sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); } } //*************************************公积金****************************************************** double gsfund = 0;//公司公积金总 double grgsfund = 0;//个人公积金总 if(!insuredto.getGjj()) { List<SbgjjAssoCbfzmx> gongjjlist = new LambdaQueryChainWrapper<SbgjjAssoCbfzmx>(sbgjjassocbfzmxmapper).eq(SbgjjAssoCbfzmx::getCbfaid, insuredto.getGjjfaid()) .eq(SbgjjAssoCbfzmx::getType,2).list(); //公积金 //公司 for(SbgjjAssoCbfzmx gjjgs:gongjjlist) { double jishuxx = 0; double preval = 0; if(gjjgs.getGsgdje() > 0) {//公司固定金额 preval = gjjgs.getGsgdje(); }else { if(Double.valueOf(gjjgs.getJsxx()) > Double.valueOf(insuredto.getGjjJnjs())) { jishuxx = Double.valueOf(gjjgs.getJsxx());//基数下限 }else { jishuxx = Double.valueOf(insuredto.getGjjJnjs());//基数下限 } BigDecimal gsbili = new BigDecimal(gjjgs.getGjbl());//公司比例 BigDecimal bfb = new BigDecimal(100); double gsh = gsbili.divide(bfb).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxx)*gsh); } SbgjjAssoDetailed.builder().build().delete(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, insuredto.getUsernum()) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getGjjJnmouth()).eq(SbgjjAssoDetailed::getCbfzmxId, gjjgs.getId()).eq(SbgjjAssoDetailed::getCoverageName, gjjgs.getXz()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); SbgjjAssoDetailed deta = SbgjjAssoDetailed.builder().build(); deta.setUserId(insuredto.getUsernum()); deta.setAttributionTime(insuredto.getGjjJnmouth());// deta.setCbfzmxId(gjjgs.getId()); deta.setCoverageName(gjjgs.getXz()); deta.setPersonalAmount(0.0); deta.setPersonalProportion(""); deta.setCompanyAmount(preval);//公司金额 deta.setCompanyProportion(gjjgs.getGjbl()); deta.setXzType(2);//险种类型 1:社保;2:公积金 deta.setOrgCode(userBean.getOrgCode()); deta.setAddtime(new Date().getTime()); SbgjjAssoCbfa sbgjjfa = SbgjjAssoCbfa.builder().id(gjjgs.getCbfaid()).build().selectById(); deta.setCbfns(sbgjjfa.getCbmcName());//参保方案 deta.setSbjss(insuredto.getJnjs());//社保基数 deta.setGjjjss(insuredto.getGjjJnjs());//公积金基数 deta.setCbryid(insuredto.getId());// deta.insert(); gsfund += preval; } Logoutput("公司公积金总:"+formatDouble1(gsfund)); //个人 for(SbgjjAssoCbfzmx gjjgr:gongjjlist) { double jishuxxgr = 0; double preval = 0; if(gjjgr.getGrgdje() > 0) { preval = gjjgr.getGrgdje(); }else { if(Double.valueOf(gjjgr.getJsxx()) > Double.valueOf(insuredto.getGjjJnjs())) { jishuxxgr = Double.valueOf(gjjgr.getJsxx());//基数下限 }else { jishuxxgr = Double.valueOf(insuredto.getGjjJnjs());//基数下限 } BigDecimal gsbigr = new BigDecimal(gjjgr.getGrbl());//个人比例 BigDecimal bfgr = new BigDecimal(100); double gsh = gsbigr.divide(bfgr).doubleValue(); preval = formatDouble1(Double.valueOf(jishuxxgr)*gsh); } SbgjjAssoDetailed dtd = sbgjjassodetailedmapper.selectOne(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, insuredto.getUsernum()) .eq(SbgjjAssoDetailed::getAttributionTime, insuredto.getGjjJnmouth()).eq(SbgjjAssoDetailed::getCbfzmxId, gjjgr.getId()).eq(SbgjjAssoDetailed::getCoverageName, gjjgr.getXz()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode())); if(dtd!=null) { SbgjjAssoDetailed.builder().id(dtd.getId()).personalAmount(preval).personalProportion(gjjgr.getGrbl()).build().updateById(); } grgsfund += preval; } Logoutput("个人公积金总:"+formatDouble1(grgsfund)); String sbgshj_="0.0"; String sbgrhj_="0.0"; String sbhj_="0.0"; if(!(insuredto.getJnmouth()).equals(insuredto.getGjjJnmouth())) { sbgjjassoyjzdmapper.deletesbgjjassoyjzd(insuredto.getUsernum(),userBean.getOrgCode(),insuredto.getGjjJnmouth(),insuredto.getId()); SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); yjzd.setUserNum(insuredto.getUsernum());//用户工号 yjzd.setTotalmoney(String.valueOf(formatDouble1(formatDouble1(gsfund)+formatDouble1(grgsfund))));//合计金额 yjzd.setGsjltotal(String.valueOf(formatDouble1(gsfund)));//公司缴纳合计 yjzd.setGrjltotal(String.valueOf(formatDouble1(grgsfund)));//个人缴纳合计 yjzd.setZdtype(1);//账单类型 1:公司自缴 yjzd.setZymonth(insuredto.getGjjJnmouth());//账单月份 yjzd.setSbfaid(insuredto.getSbfaid());//社保参保方案id yjzd.setGjjfaid(insuredto.getGjjfaid());//公积金参保方案id yjzd.setQyid(userBean.getOrgCode()); yjzd.setSbgshj(sbgshj_);//社保公司合计 yjzd.setSbgrhj(sbgrhj_);//社保个人合计 yjzd.setSbhj(sbhj_);//社保合计 yjzd.setGjjgshj(String.valueOf(formatDouble1(gsfund)));//公积金公司合计 yjzd.setGjjgrhj(String.valueOf(formatDouble1(grgsfund)));//公积金个人合计 yjzd.setGjjhj(String.valueOf(formatDouble1(formatDouble1(gsfund)+formatDouble1(grgsfund))));//公积金合计 yjzd.setCbryid(insuredto.getId()); sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); } } //合计金额 社保(个人+公司) + 公积金(个人+公司) //公司缴纳合计 社保(公司) + 公积金(公司) //个人缴纳合计 社保(个人) + 公积金(个人) SbgjjAssoYjzd yjsb = new LambdaQueryChainWrapper<SbgjjAssoYjzd>(sbgjjassoyjzdmapper).eq(SbgjjAssoYjzd::getUserNum, insuredto.getUsernum()) .eq(SbgjjAssoYjzd::getQyid,userBean.getOrgCode()).eq(SbgjjAssoYjzd::getZymonth,insuredto.getJnmouth()).eq(SbgjjAssoYjzd::getCbryid,insuredto.getId()).one(); SbgjjAssoYjzd yjyg = new LambdaQueryChainWrapper<SbgjjAssoYjzd>(sbgjjassoyjzdmapper).eq(SbgjjAssoYjzd::getUserNum, insuredto.getUsernum()) .eq(SbgjjAssoYjzd::getQyid,userBean.getOrgCode()).eq(SbgjjAssoYjzd::getZymonth,insuredto.getGjjJnmouth()).eq(SbgjjAssoYjzd::getCbryid,insuredto.getId()).one(); if((insuredto.getJnmouth()).equals(insuredto.getGjjJnmouth())) { sbgjjassoyjzdmapper.deletesbgjjassoyjzd(insuredto.getUsernum(),userBean.getOrgCode(),insuredto.getGjjJnmouth(),insuredto.getId()); SbgjjAssoYjzd yjzd = SbgjjAssoYjzd.builder().build(); yjzd.setUserNum(insuredto.getUsernum());//用户工号 // yjzd.setTotalmoney(String.valueOf(formatDouble1((formatDouble1(gsfund)+formatDouble1(grgsfund)+formatDouble1(gssocial)+formatDouble1(grsocial)))));//合计金额 // // yjzd.setGsjltotal(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(gsfund))));//公司缴纳合计 // yjzd.setGrjltotal(String.valueOf(formatDouble1(formatDouble1(grsocial)+formatDouble1(grgsfund))));//个人缴纳合计 yjzd.setZdtype(1);//账单类型 1:公司自缴 yjzd.setZymonth(insuredto.getJnmouth());//账单月份 yjzd.setSbfaid(insuredto.getSbfaid());//社保参保方案id yjzd.setGjjfaid(insuredto.getGjjfaid());//公积金参保方案id yjzd.setQyid(userBean.getOrgCode()); String sbgshj_="0.0"; String sbgrhj_="0.0"; String sbhj_="0.0"; if(insuredto.getSb()) {//为true时 表示当前不用重新计算 if(yjsb != null) { sbgshj_ = yjsb.getSbgshj(); sbgrhj_ = yjsb.getSbgrhj(); sbhj_ = yjsb.getSbhj(); } yjzd.setSbgshj(sbgshj_);//社保公司合计 yjzd.setSbgrhj(sbgrhj_);//社保个人合计 yjzd.setSbhj(sbhj_);//社保合计 }else { yjzd.setSbgshj(String.valueOf(formatDouble1(gssocial)));//社保公司合计 yjzd.setSbgrhj(String.valueOf(formatDouble1(grsocial)));//社保个人合计 yjzd.setSbhj(String.valueOf(formatDouble1(formatDouble1(gssocial)+formatDouble1(grsocial))));//社保合计 } String gjjgshj_ = "0.0"; String gjjgrhj_ = "0.0"; String gjjhj_ = "0.0"; if(insuredto.getGjj()) { if(yjyg!= null) { gjjgshj_ = yjyg.getGjjgshj(); gjjgrhj_ = yjyg.getGjjgrhj(); gjjhj_ = yjyg.getGjjhj(); } yjzd.setGjjgshj(gjjgshj_);//公积金公司合计 yjzd.setGjjgrhj(gjjgrhj_);//公积金个人合计 yjzd.setGjjhj(gjjhj_);//公积金合计 }else { yjzd.setGjjgshj(String.valueOf(formatDouble1(gsfund)));//公积金公司合计 yjzd.setGjjgrhj(String.valueOf(formatDouble1(grgsfund)));//公积金个人合计 yjzd.setGjjhj(String.valueOf(formatDouble1(formatDouble1(gsfund)+formatDouble1(grgsfund))));//公积金合计 } // yjzd.setTotalmoney(String.valueOf(formatDouble1(formatDouble1(Double.valueOf(yjzd.getSbgshj()) + Double.valueOf(yjzd.getGjjgshj())) + formatDouble1(Double.valueOf(yjzd.getSbgrhj()) + Double.valueOf(yjzd.getGjjgrhj())))));//合计金额 yjzd.setGsjltotal(String.valueOf(formatDouble1(Double.valueOf(yjzd.getSbgshj()) + Double.valueOf(yjzd.getGjjgshj()))));//公司缴纳合计 yjzd.setGrjltotal(String.valueOf(formatDouble1(Double.valueOf(yjzd.getSbgrhj()) + Double.valueOf(yjzd.getGjjgrhj()))));//个人缴纳合计 yjzd.setCbryid(insuredto.getId()); sbgjjassoyjzdmapper.insertsbgjjassoyjzd(yjzd); } return new ResponseResult().success("成功", cbry); // return null; } /** * 月结账 */ @PostMapping(value = "/mochshe") @ApiOperation(value = "月结账单", httpMethod = "POST", notes = "接口发布说明") public ResponseResult Monthlycheckoutsheet(@CurrentUser UserBean userBean,@RequestBody MonthlyStatementDto monthly) { monthly.setOrgcode(userBean.getOrgCode()); List<MonthlyCheckoutSheetDto> yjzlist = sbgjjassoyjzdmapper.MonthlycheckoutsheetList(monthly); return new ResponseResult().success("成功", yjzlist); } /** * 月结账明细 */ @PostMapping(value = "/mochshe_detailedSB") @ApiOperation(value = "月结账单信息", httpMethod = "POST", notes = "接口发布说明") public ResponseResult mochshedetailedSB(@CurrentUser UserBean userBean,@RequestBody MonthlyStatementDto monthly) { List<SbgjjAssoDetailed> yjzdmxlist = SbgjjAssoDetailed.builder().build().selectList(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, monthly.getUsernum()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode()).eq(SbgjjAssoDetailed::getAttributionTime, monthly.getMon()).eq(SbgjjAssoDetailed::getXzType, 1)); return new ResponseResult().success("成功", yjzdmxlist); } /** * 月结账明细 */ @PostMapping(value = "/mochshe_detailedGJJ") @ApiOperation(value = "月结账单信息", httpMethod = "POST", notes = "接口发布说明") public ResponseResult mochshedetailedGJJ(@CurrentUser UserBean userBean,@RequestBody MonthlyStatementDto monthly) { List<SbgjjAssoDetailed> yjzdmxlist = SbgjjAssoDetailed.builder().build().selectList(new QueryWrapper<SbgjjAssoDetailed>().lambda().eq(SbgjjAssoDetailed::getUserId, monthly.getUsernum()) .eq(SbgjjAssoDetailed::getOrgCode, userBean.getOrgCode()).eq(SbgjjAssoDetailed::getAttributionTime, monthly.getMon()).eq(SbgjjAssoDetailed::getXzType, 2)); 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, "成功"); } @PostMapping(value = "/verifytheinsured") @ApiOperation(value = "验证参保人员", httpMethod = "POST", notes = "接口发布说明") @ApiOperationSupport(order = 40) public Result<Object> Verifytheinsured(@CurrentUser UserBean userBean,@RequestBody VerifyInsuredDtoListDto verinlist) { int toinsert = 0;//新增 int toupdate = 0;//更新 int failure = 0;//失败 List<Map<String, String>> reasons = Lists.newArrayList(); List<YgglMainEmp> ygs = new ArrayList<YgglMainEmp>(); VerifyInsuredDto[] verin = verinlist.getVerin(); if(verin.length>0){ for(int n=0;n<verin.length;n++){ Map<String, String> map = Maps.newHashMap(); String name = verin[n].getEmpname(); try { YgglMainEmp yg = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getName, verin[n].getEmpname()).eq(YgglMainEmp::getPhone, verin[n].getPhone()) .eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())); if(yg != null) { YgglMainEmp ygl = YgglMainEmp.builder().build(); ygl.setName(yg.getName()); ygl.setEmpNum(yg.getEmpNum()); ygs.add(ygl); toinsert++; }else { failure++; map.put("name", name); map.put("msg", "该员工不存在"); reasons.add(map); } } catch (Exception e) { failure++; map.put("name", name); map.put("msg", StringUtils.isBlank(e.getMessage()) ? "必填数据出现空值" : e.getMessage()); reasons.add(map); } } } ImportDescriptionDto imds = new ImportDescriptionDto(); imds.setSuccess(toinsert + toupdate);//成功 imds.setToinsert(toinsert); imds.setToupdate(toupdate);//更新 imds.setFailure(failure);//失败 imds.setReasons(reasons); // return ResultUtil.data(ygs, "成功"); return ResultUtil.datas(ygs, imds, "成功"); } @Value("${config-8timer.environmental-science}") public String environmental_science; public void Logoutput(String science) { if(!("pro").equals(environmental_science)) { System.out.println(science); }else { System.out.println(""); } } }