| | |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.utils.Constants; |
| | |
| | | import com.doumee.service.business.ApplyDetailService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | |
| | | return ApiResponse.success(pageData); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("分页查询") |
| | | @PostMapping("/pageForMini") |
| | | @RequiresPermissions("business:applydetail:query") |
| | | public ApiResponse<PageData<ApplyDetail>> pageForMini (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) { |
| | | LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | pageWrap.getModel().setCompanyId(loginUserInfo.getCompanyId()); |
| | | PageData<ApplyDetail> pageData = applyDetailService.findPageForMini(pageWrap); |
| | | return ApiResponse.success(pageData); |
| | | } |
| | | |
| | | @ApiOperation("列表查询") |
| | | @PostMapping("/findList") |
| | | @RequiresPermissions("business:applydetail:query") |
| | |
| | | package com.doumee.config.shiro; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.SerializationUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.SerializationUtils; |
| | | import org.apache.shiro.session.Session; |
| | | import org.apache.shiro.session.UnknownSessionException; |
| | | import org.apache.shiro.session.mgt.SimpleSession; |
| | |
| | | |
| | | @ApiModelProperty(value = "员工主键") |
| | | private Integer memberId; |
| | | @ApiModelProperty(value = "企业主键") |
| | | private Integer companyId; |
| | | |
| | | @ApiModelProperty(value = "员工姓名",hidden = true) |
| | | private String companyName; |
| | |
| | | @TableField(exist = false) |
| | | private Integer insuranceId; |
| | | |
| | | @ApiModelProperty(value = "年龄", example = "1") |
| | | @TableField(exist = false) |
| | | private Long age; |
| | | |
| | | @TableField(exist = false) |
| | | private String dataFirst; |
| | | |
| | |
| | | private Integer applyId; |
| | | |
| | | @ApiModelProperty(value = "实际保险生效止期") |
| | | @ExcelColumn(name="保险生效止期",index = 9,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss") |
| | | private Date endTime; |
| | | |
| | | @ApiModelProperty(value = "实际保险生效起期") |
| | | @ExcelColumn(name="保险生效起期",index = 8,width = 12,dateFormat="yyyy-MM-dd HH:mm:ss") |
| | | private Date startTime; |
| | | |
| | | @ApiModelProperty(value = "身份证号码") |
| | |
| | | private Integer sex; |
| | | |
| | | @ApiModelProperty(value = "保险方案名称") |
| | | @ExcelColumn(name="保险方案",index = 5,width = 10) |
| | | @TableField(exist = false) |
| | | private String solutionName; |
| | | |
| | | @ApiModelProperty(value = "派遣单位名称") |
| | | @ExcelColumn(name="派遣单位",index = 6,width = 10) |
| | | @TableField(exist = false) |
| | | private String duName; |
| | | |
| | | @ApiModelProperty(value = "所属工种名称") |
| | | @ExcelColumn(name="所属工种",index = 7,width = 20) |
| | | @TableField(exist = false) |
| | | private String workTypeName; |
| | | |
| | |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "保险状态:1=保障中;2=不在保") |
| | | @ExcelColumn(name="保险状态",index = 1,valueMapping = "1=保障中;2=不在保;",width = 6) |
| | | @TableField(exist = false) |
| | | private Integer solutionsStatus; |
| | | |
| | |
| | | @TableField(exist = false) |
| | | private BigDecimal detailServerCost; |
| | | |
| | | @ApiModelProperty(value = "已投保单", example = "1") |
| | | @ExcelColumn(name="已投保单",index = 5,width = 8) |
| | | @TableField(exist = false) |
| | | private Integer totalNum; |
| | | |
| | | @ApiModelProperty(value = "保障中", example = "1") |
| | | @ExcelColumn(name="保障中",index = 6,width = 8) |
| | | @TableField(exist = false) |
| | | private Integer validNum; |
| | | |
| | | @ApiModelProperty(value = "不在保", example = "1") |
| | | @ExcelColumn(name="不在保",index = 7,width = 8) |
| | | @TableField(exist = false) |
| | | private Integer invalidNum; |
| | | |
| | | } |
| | |
| | | |
| | | PageData<ApplyDetail> findPageForCompany(PageWrap<ApplyDetailPageDTO> pageWrap); |
| | | |
| | | PageData<ApplyDetail> findPageForMini(PageWrap<ApplyDetailPageDTO> pageWrap); |
| | | |
| | | List<ApplyDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO); |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId()); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getCompanyId()),InsuranceApply::getCompanyId,applyDetailPageDTO.getCompanyId()); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId()); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getUnionApplyId()),ApplyDetail::getUnionApplyId,applyDetailPageDTO.getUnionApplyId()); |
| | | queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); |
| | |
| | | |
| | | |
| | | @Override |
| | | public PageData<ApplyDetail> findPageForMini(PageWrap<ApplyDetailPageDTO> pageWrap) { |
| | | IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | |
| | | MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | queryWrapper.selectAll(ApplyDetail.class); |
| | | queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName); |
| | | queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyDetail::getIdcardNo); |
| | | queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName); |
| | | queryWrapper.selectAs(Solutions::getName,ApplyDetail::getSolutionName); |
| | | queryWrapper.selectAs(Solutions::getType,ApplyDetail::getSolutionType); |
| | | queryWrapper.selectAs(Company::getName,ApplyDetail::getCompanyName); |
| | | queryWrapper.selectAs(InsuranceApply::getStatus,ApplyDetail::getStatus); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyDetail::getMemberId); |
| | | queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId); |
| | | queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId); |
| | | queryWrapper.eq(ApplyDetail::getIsdeleted,Constants.ZERO); |
| | | |
| | | ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel(); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getCompanyId()),InsuranceApply::getCompanyId,applyDetailPageDTO.getCompanyId()); |
| | | queryWrapper.in(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey(),Constants.InsuranceApplyStatus.WTB_DONE.getKey()); |
| | | queryWrapper.and(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),i->i.like(Member::getIdcardNo,applyDetailPageDTO.getMemberName()).or().like(Member::getName,applyDetailPageDTO.getMemberName())); |
| | | |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(pageWrap.getSorts())){ |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(ApplyDetail::getSortnum); |
| | | } |
| | | } |
| | | }else{ |
| | | queryWrapper.orderByAsc(ApplyDetail::getSortnum); |
| | | } |
| | | PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper)); |
| | | if(pageData.getRecords()!=null){ |
| | | int num = 1; |
| | | for (ApplyDetail d : pageData.getRecords()){ |
| | | d.setSortnum(num++); |
| | | if(d.getEndTime().getTime()<System.currentTimeMillis()){ |
| | | d.setStatus(0); |
| | | }else{ |
| | | d.setStatus(1); |
| | | } |
| | | if(StringUtils.isNotBlank(d.getIdcardNo())){ |
| | | d.setAge(Constants.getAgeByIdCard(d.getIdcardNo())); |
| | | } |
| | | } |
| | | } |
| | | return pageData; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<ApplyDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO) { |
| | | MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(ApplyDetail.class); |
| | |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | import com.github.yulichang.query.MPJQueryWrapper; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | memberInsurance.setIsdeleted(Constants.ZERO); |
| | | QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance); |
| | | wrapper.orderByDesc("CREATE_DATE"); |
| | | return memberInsuranceMapper.selectList(wrapper); |
| | | List<MemberInsurance> memberInsuranceList = memberInsuranceMapper.selectList(wrapper); |
| | | for (MemberInsurance memberInsurance1:memberInsuranceList) { |
| | | if(memberInsurance1.getEndTime().getTime() < System.currentTimeMillis() ){ |
| | | memberInsurance1.setIsValid(1); |
| | | }else{ |
| | | memberInsurance1.setIsValid(0); |
| | | } |
| | | |
| | | } |
| | | return memberInsuranceList; |
| | | } |
| | | |
| | | |
| | |
| | | LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | //企业人员查看本企业数据 |
| | | if(loginUserInfo.getType().equals(Constants.ONE)){ |
| | | queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId()); |
| | | queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId()) |
| | | .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id where a.member_id = t.id and b.company_id = "+loginUserInfo.getCompanyId()+" and b.status in (" + |
| | | " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " + |
| | | " and a.end_time >= now() ) ", Member::getValidNum ) |
| | | |
| | | .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id where a.member_id = t.id and b.company_id = "+loginUserInfo.getCompanyId()+" and b.status in (" + |
| | | " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " + |
| | | " and a.end_time < now() ) ", Member::getInvalidNum ); |
| | | }else{ |
| | | if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){ |
| | | queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList()); |
| | | }else{ |
| | | queryWrapper.eq(InsuranceApply::getCompanyId, -1); |
| | | } |
| | | queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,InsuranceApply::getCompanyId, pageWrap.getModel().getCompanyId()); |
| | | queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,InsuranceApply::getCompanyId, pageWrap.getModel().getCompanyId()) |
| | | .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id where a.member_id = t.id and b.status in (" + |
| | | " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " + |
| | | " and a.end_time >= now() ) ", Member::getValidNum ) |
| | | .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id where a.member_id = t.id and b.status in (" + |
| | | " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " + |
| | | " and a.end_time < now() ) ", Member::getInvalidNum ); |
| | | } |
| | | queryWrapper.selectAll(Member.class) |
| | | .selectAs(DispatchUnit::getName,Member::getDuName) |
| | | .selectAs(Worktype::getName,Member::getWorkTypeName) |
| | | .selectAs(Solutions::getName,Member::getSolutionName) |
| | | .selectAs(Company::getName,Member::getCompanyName) |
| | | .select(" case when now() between t.start_time and t.end_time then 1 else 2 end solutionsStatus ") |
| | | .leftJoin(InsuranceApply.class,InsuranceApply::getId,Member::getApplyId) |
| | | .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId) |
| | | .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId) |
| | | .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId) |
| | | .leftJoin(Company.class,Company::getId,Member::getCompanyId) |
| | | .and(StringUtils.isNotBlank(memberQueryDTO.getKeywords()), |
| | | i->i.like(Member::getName, memberQueryDTO.getKeywords()).or().like( |
| | | Member::getIdcardNo,memberQueryDTO.getKeywords() |
| | | )) |
| | | .eq(Member::getIsdeleted, Constants.ZERO) |
| | | // .eq(Member::getCompanyId, memberQueryDTO.getCompanyId()) |
| | | .like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName()) |
| | | .like(StringUtils.isNotBlank(memberQueryDTO.getIdCard()),Member::getIdcardNo, memberQueryDTO.getIdCard()) |
| | | .like(StringUtils.isNotBlank(memberQueryDTO.getIdcardNo()),Member::getIdcardNo, memberQueryDTO.getIdcardNo()) |
| | | .like(StringUtils.isNotBlank(memberQueryDTO.getDuName()),DispatchUnit::getName, memberQueryDTO.getDuName()) |
| | | .eq(!Objects.isNull(memberQueryDTO.getDuId()),Member::getDuId, memberQueryDTO.getDuId()) |
| | | .eq(!Objects.isNull(memberQueryDTO.getSolutionsId()),Solutions::getBaseId, memberQueryDTO.getSolutionsId()) |
| | | .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time") |
| | | .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now() > t.end_time") |
| | | |
| | | .apply(!Objects.isNull(memberQueryDTO.getSolutionsId())," t.id in( select a.member_id from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id " + |
| | | "inner join solutions s on b.solution_id = s.id where s.base_id = '"+memberQueryDTO.getSolutionsId()+"' ) ") |
| | | ; |
| | | queryWrapper.orderByAsc(DispatchUnit::getName); |
| | | queryWrapper.orderByAsc(Member::getName); |
| | | // for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | // if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | // queryWrapper.orderByDesc(sortData.getProperty()); |
| | | // } else { |
| | | // queryWrapper.orderByAsc(sortData.getProperty()); |
| | | // } |
| | | // } |
| | | PageData<Member> pageData = PageData.from(memberJoinMapper.selectJoinPage(page,Member.class, queryWrapper)); |
| | | |
| | | Integer sn = 0; |
| | |
| | | if(StringUtils.isNotBlank(member.getIdcardNo())){ |
| | | member.setAge(Constants.getAgeByIdCard(member.getIdcardNo())); |
| | | } |
| | | member.setTotalNum(member.getInvalidNum()+member.getValidNum()); |
| | | } |
| | | return pageData; |
| | | } |