| | |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.io.FileUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | import com.itextpdf.text.*; |
| | | import com.itextpdf.text.pdf.*; |
| | | import com.itextpdf.text.pdf.draw.LineSeparator; |
| | | import com.ltkj.common.core.domain.entity.SysDictData; |
| | | import com.ltkj.common.utils.DateUtils; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.common.utils.StringUtils; |
| | |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.mall.mallOrderUtils.TjConstants; |
| | | import com.ltkj.system.service.ISysConfigService; |
| | | import com.ltkj.system.service.ISysDictDataService; |
| | | import com.ltkj.system.service.ISysUserService; |
| | | import com.ltkj.web.config.pdfutils.MergePdf; |
| | | import com.ltkj.web.config.pdfutils.MyHeaderFooter; |
| | |
| | | @Autowired |
| | | private ISysConfigService configService; |
| | | |
| | | @Autowired |
| | | private ISysDictDataService dictDataService; |
| | | |
| | | |
| | | // /* *//** |
| | | // /* *//** |
| | | // * 查询体检报告存储列表 |
| | | // *//* |
| | | // @PreAuthorize("@ss.hasPermi('system:report:list')") |
| | |
| | | |
| | | |
| | | int num = tjOrderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); |
| | | if(num >0) return AjaxResult.error("有延期项目暂不能生成报告!!!"); |
| | | |
| | | LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | TjReportTemplate one1 = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | String template = one1.getTemplate(); |
| | | |
| | | String userId = SecurityUtils.getLoginUser().getUsername(); |
| | | PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "体检报告封面模板.pdf"); |
| | | // --------以上------- 根据数据库中的模板二进制文件 转pdf 创建文件夹 将pdf放进本地文件夹 |
| | | |
| | | //判断表中有没有该体检报告 不能重复生成 |
| | | LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>(); |
| | | wqa.eq(TjReport::getTjNumber, tjNumber); |
| | | wqa.eq(TjReport::getType,"体检报告"); |
| | | List<TjReport> list2 = tjReportService.list(wqa); |
| | | if (list2.size() != 0) { |
| | | return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!"); |
| | | } |
| | | if (num > 0) return AjaxResult.error("有延期项目暂不能生成报告!!!"); |
| | | |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrder::getTjNumber, tjNumber); |
| | | TjOrder tjOrder = tjOrderService.getOne(wq); |
| | | |
| | | if (null != tjOrder) { |
| | | LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | if (tjOrder.getTjCategory()!=null){ |
| | | //查询字典 |
| | | LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.eq(SysDictData::getDictType, "dict_tjtype"); |
| | | wqq.eq(SysDictData::getDictValue, tjOrder.getTjCategory()); |
| | | SysDictData one = dictDataService.getOne(wqq); |
| | | if (one!=null){ |
| | | //查询字典 |
| | | LambdaQueryWrapper<SysDictData> wqq1 = new LambdaQueryWrapper<>(); |
| | | wqq1.eq(SysDictData::getDictType, "report_template_type"); |
| | | wqq1.eq(SysDictData::getDictLabel, one.getDictLabel()); |
| | | SysDictData one1 = dictDataService.getOne(wqq1); |
| | | if (one1!=null){ |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, one1.getDictValue()); |
| | | }else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | } |
| | | }else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | } |
| | | } |
| | | |
| | | |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | TjReportTemplate one1 = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | String template = one1.getTemplate(); |
| | | |
| | | String userId = SecurityUtils.getLoginUser().getUsername(); |
| | | PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "体检报告封面模板.pdf"); |
| | | // --------以上------- 根据数据库中的模板二进制文件 转pdf 创建文件夹 将pdf放进本地文件夹 |
| | | |
| | | //判断表中有没有该体检报告 不能重复生成 |
| | | LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>(); |
| | | wqa.eq(TjReport::getTjNumber, tjNumber); |
| | | wqa.eq(TjReport::getType, "体检报告"); |
| | | List<TjReport> list2 = tjReportService.list(wqa); |
| | | if (list2.size() != 0) { |
| | | return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!"); |
| | | } |
| | | |
| | | |
| | | Integer checkStatus = tjOrder.getCheckStatus(); |
| | | if (checkStatus == 1) { |
| | | LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); |
| | |
| | | String tjtype; |
| | | if (cusSex == 0) { |
| | | sex = "男"; |
| | | name1=tjCustomer.getCusName()+"先生"; |
| | | name1 = tjCustomer.getCusName() + "先生"; |
| | | } else { |
| | | sex = "女"; |
| | | name1=tjCustomer.getCusName()+"女士"; |
| | | name1 = tjCustomer.getCusName() + "女士"; |
| | | } |
| | | data.put("name",tjCustomer.getCusName()); |
| | | data.put("cusId",tjCustomer.getCusId()); |
| | | data.put("name1",name1); |
| | | data.put("name", tjCustomer.getCusName()); |
| | | data.put("cusId", tjCustomer.getCusId()); |
| | | data.put("name1", name1); |
| | | if ("1".equals(tjOrder.getTjType())) { |
| | | tjtype = "团队"; |
| | | data.put("tjtype",tjtype); |
| | | data.put("tjtype", tjtype); |
| | | } else { |
| | | tjtype = "个人"; |
| | | data.put("tjtype",tjtype); |
| | | data.put("tjtype", tjtype); |
| | | } |
| | | data.put("dstype","统一"); |
| | | data.put("dstype", "统一"); |
| | | data.put("sex", sex); |
| | | data.put("age", DateUtil.ageOfNow(tjCustomer.getCusBrithday())); |
| | | data.put("tjnumber", tjNumber); |
| | | data.put("tjdate", DateUtils.parseDateToStr("yyyy/MM/dd", tjOrder.getCreateTime())); |
| | | data.put("phone", tjCustomer.getCusPhone()); |
| | | data.put("idcard", MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); |
| | | data.put("num1",list.size()); |
| | | data.put("num2",0); |
| | | data.put("num3",4); |
| | | data.put("num1", list.size()); |
| | | data.put("num2", 0); |
| | | data.put("num3", 4); |
| | | if (dictComp == null) { |
| | | data.put("work", "无"); |
| | | } else { |
| | |
| | | |
| | | document.open(); |
| | | |
| | | document.add(new Header("健康体检结果","健康体检结果")); |
| | | document.add(new Header("健康体检结果", "健康体检结果")); |
| | | |
| | | |
| | | Map<TjOrderRemark, List<TjPdfVO>> tjOrderRemarkObjectMap = addTable(tjNumber); |
| | |
| | | LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); |
| | | wqqq.eq(TjProject::getProId, entry.getKey().getProId()); |
| | | TjProject one11 = projectService.getOne(wqqq); |
| | | if("1".equals(one11.getProCheckMethod())){ |
| | | if ("1".equals(one11.getProCheckMethod())) { |
| | | String titleName = one11.getProName(); |
| | | // 设置标题字体样式 |
| | | Font titleFonts = PdfUtils.setFont(9); |
| | |
| | | } |
| | | |
| | | String remark = "备注:" + entry.getKey().getRemark(); |
| | | if (entry.getKey().getRemark().length()>50){ |
| | | int j=0; |
| | | for (int i = 0; i < remark.length()/50; i++) { |
| | | String substring = remark.substring(j, j+50); |
| | | if (entry.getKey().getRemark().length() > 50) { |
| | | int j = 0; |
| | | for (int i = 0; i < remark.length() / 50; i++) { |
| | | String substring = remark.substring(j, j + 50); |
| | | Font remarkFonts = PdfUtils.setFont(9); |
| | | Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); |
| | | document.add(pp); |
| | | j=j+50; |
| | | j = j + 50; |
| | | } |
| | | if (remark.length()%50!=0){ |
| | | String substring = remark.substring((remark.length()/50)*50, remark.length()-1); |
| | | if (remark.length() % 50 != 0) { |
| | | String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); |
| | | Font remarkFonts = PdfUtils.setFont(9); |
| | | Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); |
| | | document.add(pp); |
| | | } |
| | | }else { |
| | | } else { |
| | | Font remarkFonts = PdfUtils.setFont(9); |
| | | Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); |
| | | document.add(pp); |
| | | } |
| | | |
| | | //判断主检医师是否为空 空不能显示null |
| | | if (null !=entry.getKey().getDoctorName() && null !=userService.getById(entry.getKey().getDoctorName())) { |
| | | if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) { |
| | | //主检医师 |
| | | String doctorName = "主检医师:" + userService.getById(entry.getKey().getDoctorName()).getNickName(); |
| | | Font doctorFonts = PdfUtils.setFont(9); |
| | | Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); |
| | | df.setAlignment(Element.ALIGN_RIGHT); |
| | | document.add(df); |
| | | }else { |
| | | } else { |
| | | String doctorName = "主检医师:" + "无"; |
| | | Font doctorFonts = PdfUtils.setFont(9); |
| | | Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); |
| | |
| | | //分割线 |
| | | LineSeparator objectName = new LineSeparator(); |
| | | document.add(objectName); |
| | | }else { |
| | | } else { |
| | | String titleName = one11.getProName(); |
| | | // 设置标题字体样式 |
| | | Font titleFonts = PdfUtils.setFont(9); |
| | |
| | | } |
| | | |
| | | String remark = "备注:" + entry.getKey().getRemark(); |
| | | if (entry.getKey().getRemark().length()>50){ |
| | | int j=0; |
| | | for (int i = 0; i < remark.length()/50; i++) { |
| | | String substring = remark.substring(j, j+50); |
| | | if (entry.getKey().getRemark().length() > 50) { |
| | | int j = 0; |
| | | for (int i = 0; i < remark.length() / 50; i++) { |
| | | String substring = remark.substring(j, j + 50); |
| | | Font remarkFonts = PdfUtils.setFont(9); |
| | | Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); |
| | | document.add(pp); |
| | | j=j+50; |
| | | j = j + 50; |
| | | } |
| | | if (remark.length()%50!=0){ |
| | | String substring = remark.substring((remark.length()/50)*50, remark.length()-1); |
| | | if (remark.length() % 50 != 0) { |
| | | String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); |
| | | Font remarkFonts = PdfUtils.setFont(9); |
| | | Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); |
| | | document.add(pp); |
| | | } |
| | | }else { |
| | | } else { |
| | | Font remarkFonts = PdfUtils.setFont(9); |
| | | Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); |
| | | document.add(pp); |
| | | } |
| | | |
| | | //判断主检医师是否为空 空不能显示null |
| | | if (null !=entry.getKey().getDoctorName() && null !=userService.getById(entry.getKey().getDoctorName())) { |
| | | if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) { |
| | | //主检医师 |
| | | String doctorName = "主检医师:" + userService.getById(entry.getKey().getDoctorName()).getNickName(); |
| | | Font doctorFonts = PdfUtils.setFont(9); |
| | | Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); |
| | | df.setAlignment(Element.ALIGN_RIGHT); |
| | | document.add(df); |
| | | }else { |
| | | } else { |
| | | String doctorName = "主检医师:" + "无"; |
| | | Font doctorFonts = PdfUtils.setFont(9); |
| | | Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); |
| | |
| | | rtwq1.eq(TjReport::getType, "医学名词"); |
| | | // rtwq1.eq(TjReport::getTjNumber, tjNumber); |
| | | TjReport one11111 = tjReportService.getOne(rtwq1); |
| | | String report1 = one11111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "医学名词.pdf"); |
| | | if(null !=one11111){ |
| | | String report1 = one11111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "医学名词.pdf"); |
| | | } |
| | | |
| | | LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>(); |
| | | rtwq.eq(TjReport::getType, "心电图"); |
| | | // rtwq.eq(TjReport::getTjNumber, tjNumber); |
| | | TjReport one1111 = tjReportService.getOne(rtwq); |
| | | String report = one1111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + userId + "心电图.pdf"); |
| | | if(null !=one1111){ |
| | | String report = one1111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + userId + "心电图.pdf"); |
| | | } |
| | | |
| | | LambdaQueryWrapper<TjReport> rtwq12 = new LambdaQueryWrapper<>(); |
| | | rtwq12.eq(TjReport::getType, "附件"); |
| | | // rtwq12.eq(TjReport::getTjNumber, tjNumber); |
| | | TjReport one111112 = tjReportService.getOne(rtwq12); |
| | | String report12 = one111112.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + userId + "附件.pdf"); |
| | | |
| | | |
| | | if(null !=one111112){ |
| | | String report12 = one111112.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + userId + "附件.pdf"); |
| | | } |
| | | //合并 |
| | | String[] files1 = {value + "\\" + userId + "体检报告封面页.pdf", value + "\\" + userId + "体检报告项目详情页.pdf",value + "\\" + userId + "医学名词.pdf",value + "\\" + userId + "附件.pdf",value + "\\" + userId + "心电图.pdf"}; |
| | | String[] files1 = {value + "\\" + userId + "体检报告封面页.pdf", value + "\\" + userId + "体检报告项目详情页.pdf", value + "\\" + userId + "医学名词.pdf", value + "\\" + userId + "附件.pdf", value + "\\" + userId + "心电图.pdf"}; |
| | | String outputPath1 = value + "\\"; |
| | | String outputFileName1 = userId+tjNumber +tjCustomer.getCusName()+ "_体检报告.pdf"; |
| | | String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf"; |
| | | |
| | | File file1 = new File(outputPath1 + outputFileName1); |
| | | List<File> f = new ArrayList<>(); |
| | |
| | | LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); |
| | | //20230323判断项目已检 |
| | | wq.ne(TjOrderDetail::getTjStatus,0); |
| | | wq.ne(TjOrderDetail::getTjStatus, 0); |
| | | List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.list(wq); |
| | | |
| | | //遍历体检记录 将项目的具体信息 |
| | | //遍历客户所选的项目(包含子项父项) |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); |
| | | if(null !=tjProject){ |
| | | if (null != tjProject) { |
| | | tjOrderDetail.setProject(tjProject); |
| | | } |
| | | } |
| | |
| | | for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { |
| | | List<TjPdfVO> tjPdfVOS = new ArrayList<>(); |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | | if(null==tjOrderDetail.getProject()){ |
| | | System.out.println("'''''''''''''''''''''''''''''''''''"+tjOrderDetail.getOrderDetailId()); |
| | | if (null == tjOrderDetail.getProject()) { |
| | | System.out.println("'''''''''''''''''''''''''''''''''''" + tjOrderDetail.getOrderDetailId()); |
| | | } |
| | | |
| | | if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) { |
| | |
| | | wq6.eq(TjStandard::getProId, tjOrderDetail.getProId()); |
| | | List<TjStandard> list2 = tjStandardService.list(wq6); |
| | | if (list2.size() == 0) { |
| | | TjStandard s=new TjStandard(); |
| | | TjStandard s = new TjStandard(); |
| | | s.setCompany(" "); |
| | | s.setTjStandardLtValue(" "); |
| | | s.setTjStandardGtValue(" "); |
| | |
| | | tjPdfVO.setExc(tjOrderDetail.getExceptionDesc()); |
| | | if (tjOrderDetail.getStandard() != null) { |
| | | //单位 |
| | | if (tjOrderDetail.getStandard().getCompany()==null){ |
| | | if (tjOrderDetail.getStandard().getCompany() == null) { |
| | | tjPdfVO.setCompany(" "); |
| | | }else { |
| | | } else { |
| | | tjPdfVO.setCompany(tjOrderDetail.getStandard().getCompany()); |
| | | } |
| | | //最大值和最小值 |
| | | String tjStandardGtValue = tjOrderDetail.getStandard().getTjStandardGtValue(); |
| | | String tjStandardLtValue = tjOrderDetail.getStandard().getTjStandardLtValue(); |
| | | if (tjStandardGtValue==null){ |
| | | tjStandardGtValue=" "; |
| | | if (tjStandardGtValue == null) { |
| | | tjStandardGtValue = " "; |
| | | } |
| | | if (tjStandardLtValue==null){ |
| | | tjStandardLtValue=" "; |
| | | if (tjStandardLtValue == null) { |
| | | tjStandardLtValue = " "; |
| | | } |
| | | tjPdfVO.setStandardValue(tjStandardLtValue + "-" + tjStandardGtValue); |
| | | } |
| | |
| | | |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrder::getTjNumber,tjNumber); |
| | | wq1.eq(TjOrder::getTjNumber, tjNumber); |
| | | TjOrder tjOrder = tjOrderService.getOne(wq1); |
| | | |
| | | |
| | |
| | | |
| | | LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); |
| | | we.eq(TjReport::getTjNumber, tjNumber); |
| | | we.eq(TjReport::getType,"体检报告"); |
| | | we.eq(TjReport::getType, "体检报告"); |
| | | TjReport one = tjReportService.getOne(we); |
| | | if (one == null) { |
| | | return; |
| | | } |
| | | String userId = SecurityUtils.getLoginUser().getUsername(); |
| | | PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + userId+tjNumber +tjCustomer.getCusName()+ "_体检报告.pdf"); |
| | | PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf"); |
| | | //String filePath = one.getPath(); |
| | | String filePath = value+ "\\" + userId+tjNumber +tjCustomer.getCusName()+ "_体检报告.pdf"; |
| | | String filePath = value + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf"; |
| | | File f = new File(filePath); |
| | | if (filePath.isEmpty()){ |
| | | if (filePath.isEmpty()) { |
| | | System.out.println("文件不存在!"); |
| | | return; |
| | | } |
| | |
| | | String contentType = u.openConnection().getContentType(); |
| | | response.setContentType(contentType); |
| | | response.setHeader("Content-Disposition", "inline;filename=" |
| | | + userId+tjNumber + ".pdf"); |
| | | + userId + tjNumber + ".pdf"); |
| | | } else { |
| | | // 纯下载方式 |
| | | response.setContentType("application/x-msdownload"); |
| | | response.setContentType("application/pdf;charset=utf-8"); |
| | | response.setHeader("Content-Disposition", "attachment;filename=" |
| | | + userId+tjNumber + ".pdf"); |
| | | + userId + tjNumber + ".pdf"); |
| | | } |
| | | out = response.getOutputStream(); |
| | | while ((len = br.read(bs)) > 0) { |
| | |
| | | QueryWrapper<TjReport> wq1 = new QueryWrapper<>(); |
| | | wq1.eq("tj_number", tjNumber); |
| | | wq1.eq("type", "体检报告"); |
| | | if (null!=tjReportService.getOne(wq1)){ |
| | | if (null != tjReportService.getOne(wq1)) { |
| | | if (!tjReportService.remove(wq1)) { |
| | | return AjaxResult.error("撤回失败!"); |
| | | } |
| | |
| | | String config = configService.selectConfigByKey("tj_confirm"); |
| | | if ("Y".equals(config)) { |
| | | one.setStatus(TjConstants.TJ_CHECK); |
| | | }else { |
| | | } else { |
| | | one.setStatus(TjConstants.TJ_CONFIRM); |
| | | } |
| | | //将状态改为未审核 |
| | |
| | | |
| | | @GetMapping("/tuanDuiReport") |
| | | @ApiOperation(value = "生成团队体检报告——年龄统计") |
| | | public Map<String,List<Map<String, Object>>> tuanDuiReport(@ApiParam(value = "单位") @RequestParam String firmId, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptId){ |
| | | Map<String,List<Map<String, Object>>> all=new HashMap<>(); |
| | | List<Map<String, Object>> res1=new ArrayList<>(); |
| | | public Map<String, List<Map<String, Object>>> tuanDuiReport(@ApiParam(value = "单位") @RequestParam String firmId, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptId) { |
| | | Map<String, List<Map<String, Object>>> all = new HashMap<>(); |
| | | List<Map<String, Object>> res1 = new ArrayList<>(); |
| | | |
| | | int a=0; |
| | | Map<String, Object> resMap1=new HashMap<>(); |
| | | resMap1.put("name","0-19岁"); |
| | | resMap1.put("value",a); |
| | | int a = 0; |
| | | Map<String, Object> resMap1 = new HashMap<>(); |
| | | resMap1.put("name", "0-19岁"); |
| | | resMap1.put("value", a); |
| | | res1.add(resMap1); |
| | | Map<String, Object> resMap2=new HashMap<>(); |
| | | resMap2.put("name","20-29岁"); |
| | | resMap2.put("value",a); |
| | | Map<String, Object> resMap2 = new HashMap<>(); |
| | | resMap2.put("name", "20-29岁"); |
| | | resMap2.put("value", a); |
| | | res1.add(resMap2); |
| | | Map<String, Object> resMap3=new HashMap<>(); |
| | | resMap3.put("name","30-39岁"); |
| | | resMap3.put("value",a); |
| | | Map<String, Object> resMap3 = new HashMap<>(); |
| | | resMap3.put("name", "30-39岁"); |
| | | resMap3.put("value", a); |
| | | res1.add(resMap3); |
| | | Map<String, Object> resMap4=new HashMap<>(); |
| | | resMap4.put("name","40-49岁"); |
| | | resMap4.put("value",a); |
| | | Map<String, Object> resMap4 = new HashMap<>(); |
| | | resMap4.put("name", "40-49岁"); |
| | | resMap4.put("value", a); |
| | | res1.add(resMap4); |
| | | Map<String, Object> resMap5=new HashMap<>(); |
| | | resMap5.put("name","50-59岁"); |
| | | resMap5.put("value",a); |
| | | Map<String, Object> resMap5 = new HashMap<>(); |
| | | resMap5.put("name", "50-59岁"); |
| | | resMap5.put("value", a); |
| | | res1.add(resMap5); |
| | | Map<String, Object> resMap6=new HashMap<>(); |
| | | resMap6.put("name","60-69岁"); |
| | | resMap6.put("value",a); |
| | | Map<String, Object> resMap6 = new HashMap<>(); |
| | | resMap6.put("name", "60-69岁"); |
| | | resMap6.put("value", a); |
| | | res1.add(resMap6); |
| | | Map<String, Object> resMap7=new HashMap<>(); |
| | | resMap7.put("name","70-79岁"); |
| | | resMap7.put("value",a); |
| | | Map<String, Object> resMap7 = new HashMap<>(); |
| | | resMap7.put("name", "70-79岁"); |
| | | resMap7.put("value", a); |
| | | res1.add(resMap7); |
| | | Map<String, Object> resMap8=new HashMap<>(); |
| | | resMap8.put("name","80岁+"); |
| | | resMap8.put("value",a); |
| | | Map<String, Object> resMap8 = new HashMap<>(); |
| | | resMap8.put("name", "80岁+"); |
| | | resMap8.put("value", a); |
| | | res1.add(resMap8); |
| | | |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId,firmId); |
| | | wq2.eq(TjOrder::getFirmDeptId,firmDeptId); |
| | | wq2.eq(TjOrder::getTjType,"1"); |
| | | wq2.in(TjOrder::getStatus,401,402); |
| | | LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId, firmId); |
| | | wq2.eq(TjOrder::getFirmDeptId, firmDeptId); |
| | | wq2.eq(TjOrder::getTjType, "1"); |
| | | wq2.in(TjOrder::getStatus, 401, 402); |
| | | final List<TjOrder> list = tjOrderService.list(wq2); |
| | | |
| | | for (TjOrder tjOrder : list) { |
| | | a=0; |
| | | a = 0; |
| | | final TjCustomer byId = tjCustomerService.getById(tjOrder.getUserId()); |
| | | final int ageByIdCard = MatchUtils.getAgeByIdCard(byId.getCusIdcard()); |
| | | |
| | | |
| | | if (0<=ageByIdCard && ageByIdCard<=19){ |
| | | if (0 <= ageByIdCard && ageByIdCard <= 19) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("0-19岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("0-19岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else if (20<=ageByIdCard && ageByIdCard<=29){ |
| | | } else if (20 <= ageByIdCard && ageByIdCard <= 29) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("20-29岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("20-29岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else if (30<=ageByIdCard && ageByIdCard<=39){ |
| | | } else if (30 <= ageByIdCard && ageByIdCard <= 39) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("30-39岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("30-39岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else if (40<=ageByIdCard && ageByIdCard<=49){ |
| | | } else if (40 <= ageByIdCard && ageByIdCard <= 49) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("40-49岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("40-49岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else if (50<=ageByIdCard && ageByIdCard<=59){ |
| | | } else if (50 <= ageByIdCard && ageByIdCard <= 59) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("50-59岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("50-59岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else if (60<=ageByIdCard && ageByIdCard<=69){ |
| | | } else if (60 <= ageByIdCard && ageByIdCard <= 69) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("60-69岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("60-69岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else if (70<=ageByIdCard && ageByIdCard<=79){ |
| | | } else if (70 <= ageByIdCard && ageByIdCard <= 79) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("70-79岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("70-79岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | }else { |
| | | } else { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("80岁+".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if ("80岁+".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | all.put("data",res1); |
| | | all.put("data", res1); |
| | | return all; |
| | | |
| | | } |
| | | |
| | | @GetMapping("/tuanDuiReportBySex") |
| | | @ApiOperation(value = "生成团队体检报告——年龄性别统计") |
| | | public Map<String,List<Map<String, Object>>> tuanDuiReportBySex(@ApiParam(value = "单位") @RequestParam String firmIds, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptIds){ |
| | | Map<String,List<Map<String, Object>>> all=new HashMap<>(); |
| | | List<Map<String, Object>> res1=new ArrayList<>(); |
| | | public Map<String, List<Map<String, Object>>> tuanDuiReportBySex(@ApiParam(value = "单位") @RequestParam String firmIds, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptIds) { |
| | | Map<String, List<Map<String, Object>>> all = new HashMap<>(); |
| | | List<Map<String, Object>> res1 = new ArrayList<>(); |
| | | |
| | | int a=0; |
| | | int b=0; |
| | | int c=0; |
| | | Map<String, Object> resMap1=new HashMap<>(); |
| | | resMap1.put("name","0-19岁"); |
| | | resMap1.put("value",a); |
| | | resMap1.put("boy",b); |
| | | resMap1.put("girl",c); |
| | | resMap1.put("value1",0); |
| | | resMap1.put("boy1",0); |
| | | resMap1.put("girl1",0); |
| | | int a = 0; |
| | | int b = 0; |
| | | int c = 0; |
| | | Map<String, Object> resMap1 = new HashMap<>(); |
| | | resMap1.put("name", "0-19岁"); |
| | | resMap1.put("value", a); |
| | | resMap1.put("boy", b); |
| | | resMap1.put("girl", c); |
| | | resMap1.put("value1", 0); |
| | | resMap1.put("boy1", 0); |
| | | resMap1.put("girl1", 0); |
| | | res1.add(resMap1); |
| | | Map<String, Object> resMap2=new HashMap<>(); |
| | | resMap2.put("name","20-29岁"); |
| | | resMap2.put("value",a); |
| | | resMap2.put("boy",b); |
| | | resMap2.put("girl",c); |
| | | resMap2.put("value1",0); |
| | | resMap2.put("boy1",0); |
| | | resMap2.put("girl1",0); |
| | | Map<String, Object> resMap2 = new HashMap<>(); |
| | | resMap2.put("name", "20-29岁"); |
| | | resMap2.put("value", a); |
| | | resMap2.put("boy", b); |
| | | resMap2.put("girl", c); |
| | | resMap2.put("value1", 0); |
| | | resMap2.put("boy1", 0); |
| | | resMap2.put("girl1", 0); |
| | | res1.add(resMap2); |
| | | Map<String, Object> resMap3=new HashMap<>(); |
| | | resMap3.put("name","30-39岁"); |
| | | resMap3.put("value",a); |
| | | resMap3.put("boy",b); |
| | | resMap3.put("girl",c); |
| | | resMap3.put("value1",0); |
| | | resMap3.put("boy1",0); |
| | | resMap3.put("girl1",0); |
| | | Map<String, Object> resMap3 = new HashMap<>(); |
| | | resMap3.put("name", "30-39岁"); |
| | | resMap3.put("value", a); |
| | | resMap3.put("boy", b); |
| | | resMap3.put("girl", c); |
| | | resMap3.put("value1", 0); |
| | | resMap3.put("boy1", 0); |
| | | resMap3.put("girl1", 0); |
| | | res1.add(resMap3); |
| | | Map<String, Object> resMap4=new HashMap<>(); |
| | | resMap4.put("name","40-49岁"); |
| | | resMap4.put("value",a); |
| | | resMap4.put("boy",b); |
| | | resMap4.put("girl",c); |
| | | resMap4.put("value1",0); |
| | | resMap4.put("boy1",0); |
| | | resMap4.put("girl1",0); |
| | | Map<String, Object> resMap4 = new HashMap<>(); |
| | | resMap4.put("name", "40-49岁"); |
| | | resMap4.put("value", a); |
| | | resMap4.put("boy", b); |
| | | resMap4.put("girl", c); |
| | | resMap4.put("value1", 0); |
| | | resMap4.put("boy1", 0); |
| | | resMap4.put("girl1", 0); |
| | | res1.add(resMap4); |
| | | Map<String, Object> resMap5=new HashMap<>(); |
| | | resMap5.put("name","50-59岁"); |
| | | resMap5.put("value",a); |
| | | resMap5.put("boy",b); |
| | | resMap5.put("girl",c); |
| | | resMap5.put("value1",0); |
| | | resMap5.put("boy1",0); |
| | | resMap5.put("girl1",0); |
| | | Map<String, Object> resMap5 = new HashMap<>(); |
| | | resMap5.put("name", "50-59岁"); |
| | | resMap5.put("value", a); |
| | | resMap5.put("boy", b); |
| | | resMap5.put("girl", c); |
| | | resMap5.put("value1", 0); |
| | | resMap5.put("boy1", 0); |
| | | resMap5.put("girl1", 0); |
| | | res1.add(resMap5); |
| | | Map<String, Object> resMap6=new HashMap<>(); |
| | | resMap6.put("name","60-69岁"); |
| | | resMap6.put("value",a); |
| | | resMap6.put("boy",b); |
| | | resMap6.put("girl",c); |
| | | resMap6.put("value1",0); |
| | | resMap6.put("boy1",0); |
| | | resMap6.put("girl1",0); |
| | | Map<String, Object> resMap6 = new HashMap<>(); |
| | | resMap6.put("name", "60-69岁"); |
| | | resMap6.put("value", a); |
| | | resMap6.put("boy", b); |
| | | resMap6.put("girl", c); |
| | | resMap6.put("value1", 0); |
| | | resMap6.put("boy1", 0); |
| | | resMap6.put("girl1", 0); |
| | | res1.add(resMap6); |
| | | Map<String, Object> resMap7=new HashMap<>(); |
| | | resMap7.put("name","70-79岁"); |
| | | resMap7.put("value",a); |
| | | resMap7.put("boy",b); |
| | | resMap7.put("girl",c); |
| | | resMap7.put("value1",0); |
| | | resMap7.put("boy1",0); |
| | | resMap7.put("girl1",0); |
| | | Map<String, Object> resMap7 = new HashMap<>(); |
| | | resMap7.put("name", "70-79岁"); |
| | | resMap7.put("value", a); |
| | | resMap7.put("boy", b); |
| | | resMap7.put("girl", c); |
| | | resMap7.put("value1", 0); |
| | | resMap7.put("boy1", 0); |
| | | resMap7.put("girl1", 0); |
| | | res1.add(resMap7); |
| | | Map<String, Object> resMap8=new HashMap<>(); |
| | | resMap8.put("name","80岁+"); |
| | | resMap8.put("value",a); |
| | | resMap8.put("boy",b); |
| | | resMap8.put("girl",c); |
| | | resMap8.put("value1",0); |
| | | resMap8.put("boy1",0); |
| | | resMap8.put("girl1",0); |
| | | Map<String, Object> resMap8 = new HashMap<>(); |
| | | resMap8.put("name", "80岁+"); |
| | | resMap8.put("value", a); |
| | | resMap8.put("boy", b); |
| | | resMap8.put("girl", c); |
| | | resMap8.put("value1", 0); |
| | | resMap8.put("boy1", 0); |
| | | resMap8.put("girl1", 0); |
| | | res1.add(resMap8); |
| | | |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId,firmIds); |
| | | wq2.eq(TjOrder::getFirmDeptId,firmDeptIds); |
| | | wq2.eq(TjOrder::getTjType,"1"); |
| | | wq2.in(TjOrder::getStatus,401,402); |
| | | LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId, firmIds); |
| | | wq2.eq(TjOrder::getFirmDeptId, firmDeptIds); |
| | | wq2.eq(TjOrder::getTjType, "1"); |
| | | wq2.in(TjOrder::getStatus, 401, 402); |
| | | final List<TjOrder> list = tjOrderService.list(wq2); |
| | | |
| | | for (TjOrder tjOrder : list) { |
| | | a=0; |
| | | b=0; |
| | | c=0; |
| | | a = 0; |
| | | b = 0; |
| | | c = 0; |
| | | final TjCustomer byId = tjCustomerService.getById(tjOrder.getUserId()); |
| | | final int ageByIdCard = MatchUtils.getAgeByIdCard(byId.getCusIdcard()); |
| | | |
| | | if (0<=ageByIdCard && ageByIdCard<=19){ |
| | | if (0 <= ageByIdCard && ageByIdCard <= 19) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("0-19岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("0-19岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else if (20<=ageByIdCard && ageByIdCard<=29){ |
| | | } else if (20 <= ageByIdCard && ageByIdCard <= 29) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("20-29岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("20-29岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else if (30<=ageByIdCard && ageByIdCard<=39){ |
| | | } else if (30 <= ageByIdCard && ageByIdCard <= 39) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("30-39岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("30-39岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else if (40<=ageByIdCard && ageByIdCard<=49){ |
| | | } else if (40 <= ageByIdCard && ageByIdCard <= 49) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("40-49岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("40-49岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else if (50<=ageByIdCard && ageByIdCard<=59){ |
| | | } else if (50 <= ageByIdCard && ageByIdCard <= 59) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("50-59岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("50-59岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else if (60<=ageByIdCard && ageByIdCard<=69){ |
| | | } else if (60 <= ageByIdCard && ageByIdCard <= 69) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("60-69岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("60-69岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else if (70<=ageByIdCard && ageByIdCard<=79){ |
| | | } else if (70 <= ageByIdCard && ageByIdCard <= 79) { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("70-79岁".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("70-79岁".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | }else { |
| | | } else { |
| | | for (int i = 0; i < res1.size(); i++) { |
| | | if ("80岁+".equals(res1.get(i).get("name"))){ |
| | | a+=1; |
| | | res1.get(i).put("value",a); |
| | | if (byId.getCusSex()==0){ |
| | | b+=1; |
| | | }else if (byId.getCusSex()==1){ |
| | | c+=1; |
| | | if ("80岁+".equals(res1.get(i).get("name"))) { |
| | | a += 1; |
| | | res1.get(i).put("value", a); |
| | | if (byId.getCusSex() == 0) { |
| | | b += 1; |
| | | } else if (byId.getCusSex() == 1) { |
| | | c += 1; |
| | | } |
| | | res1.get(i).put("boy",b); |
| | | res1.get(i).put("girl",c); |
| | | res1.get(i).put("boy", b); |
| | | res1.get(i).put("girl", c); |
| | | } |
| | | } |
| | | } |
| | |
| | | final int value1 = (int) res1.get(i).get("boy"); |
| | | final int value2 = (int) res1.get(i).get("girl"); |
| | | final int value = (int) res1.get(i).get("value"); |
| | | if (value!=0){ |
| | | if (value != 0) { |
| | | double percentage = (value1 * 1.0 / value) * 100; |
| | | NumberFormat nf = NumberFormat.getPercentInstance(); |
| | | nf.setMinimumFractionDigits(2); |
| | |
| | | NumberFormat numberFormat = NumberFormat.getInstance(); |
| | | numberFormat.setMaximumFractionDigits(2); |
| | | String result = numberFormat.format((float) value1 / (float) value2 * 100); |
| | | res1.get(i).put("boy1",percent1); |
| | | res1.get(i).put("girl1",percent2); |
| | | res1.get(i).put("value1",result); |
| | | res1.get(i).put("boy1", percent1); |
| | | res1.get(i).put("girl1", percent2); |
| | | res1.get(i).put("value1", result); |
| | | |
| | | } |
| | | |
| | | } |
| | | all.put("data",res1); |
| | | all.put("data", res1); |
| | | return all; |
| | | |
| | | } |
| | |
| | | |
| | | @GetMapping("/tuanDuiYiChang") |
| | | @ApiOperation(value = "生成团队体检报告——异常结果统计") |
| | | public Map<String,List<Map<String, Object>>> tuanDuiYiChang(@ApiParam(value = "单位") @RequestParam String firmId, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptId){ |
| | | public Map<String, List<Map<String, Object>>> tuanDuiYiChang(@ApiParam(value = "单位") @RequestParam String firmId, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptId) { |
| | | |
| | | Map<String,List<Map<String, Object>>> all=new HashMap<>(); |
| | | Map<String, List<Map<String, Object>>> all = new HashMap<>(); |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId,firmId); |
| | | wq2.eq(TjOrder::getFirmDeptId,firmDeptId); |
| | | wq2.eq(TjOrder::getTjType,"1"); |
| | | wq2.in(TjOrder::getStatus,401,402); |
| | | LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId, firmId); |
| | | wq2.eq(TjOrder::getFirmDeptId, firmDeptId); |
| | | wq2.eq(TjOrder::getTjType, "1"); |
| | | wq2.in(TjOrder::getStatus, 401, 402); |
| | | final List<TjOrder> list = tjOrderService.list(wq2); |
| | | |
| | | List<TjOrderDetailRules> res11=new ArrayList<>(); |
| | | List<TjOrderDetailRules> res11 = new ArrayList<>(); |
| | | for (TjOrder tjOrder : list) { |
| | | LambdaQueryWrapper<TjOrderDetailRules> wq1=new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrderDetailRules::getTjNumber,tjOrder.getTjNumber()); |
| | | LambdaQueryWrapper<TjOrderDetailRules> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrderDetailRules::getTjNumber, tjOrder.getTjNumber()); |
| | | final List<TjOrderDetailRules> list1 = detailRulesService.list(wq1); |
| | | //放进集合 |
| | | res11.addAll(list1); |
| | | } |
| | | //去重收集 |
| | | Map<String, Long> columnCountMap = res11.stream().collect(Collectors.groupingBy(TjOrderDetailRules::getAid, Collectors.counting())); |
| | | List<Map<String, Object>> aaa=new ArrayList<>(); |
| | | if (columnCountMap!=null){ |
| | | for(Map.Entry<String, Long> entry:columnCountMap.entrySet()){ |
| | | Map<String, Object> resMap=new HashMap<>(); |
| | | List<Map<String, Object>> aaa = new ArrayList<>(); |
| | | if (columnCountMap != null) { |
| | | for (Map.Entry<String, Long> entry : columnCountMap.entrySet()) { |
| | | Map<String, Object> resMap = new HashMap<>(); |
| | | final TjRules byId = rulesService.getById(entry.getKey()); |
| | | if (byId!=null){ |
| | | if (byId != null) { |
| | | resMap.put("name", byId.getBingzhong()); |
| | | resMap.put("value", String.valueOf(entry.getValue())); |
| | | aaa.add(resMap); |
| | | } |
| | | } |
| | | } |
| | | all.put("data",aaa); |
| | | all.put("data", aaa); |
| | | return all; |
| | | |
| | | } |
| | | |
| | | @GetMapping("/tuanDuiYiChangBySex") |
| | | @ApiOperation(value = "生成团队体检报告——男女异常结果统计") |
| | | public Map<String,List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "单位") @RequestParam String firmId, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptId){ |
| | | public Map<String, List<Map<String, Object>>> tuanDuiYiChangBySex(@ApiParam(value = "单位") @RequestParam String firmId, |
| | | @ApiParam(value = "部门") @RequestParam String firmDeptId) { |
| | | |
| | | Map<String,List<Map<String, Object>>> all=new HashMap<>(); |
| | | Map<String, List<Map<String, Object>>> all = new HashMap<>(); |
| | | |
| | | LambdaQueryWrapper<TjOrder> wq2=new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId,firmId); |
| | | wq2.eq(TjOrder::getFirmDeptId,firmDeptId); |
| | | wq2.eq(TjOrder::getTjType,"1"); |
| | | wq2.in(TjOrder::getStatus,401,402); |
| | | LambdaQueryWrapper<TjOrder> wq2 = new LambdaQueryWrapper<>(); |
| | | wq2.eq(TjOrder::getFirmId, firmId); |
| | | wq2.eq(TjOrder::getFirmDeptId, firmDeptId); |
| | | wq2.eq(TjOrder::getTjType, "1"); |
| | | wq2.in(TjOrder::getStatus, 401, 402); |
| | | final List<TjOrder> list = tjOrderService.list(wq2); |
| | | |
| | | List<String> tjNumberList=list.stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); |
| | | List<String> tjNumberList = list.stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); |
| | | |
| | | List<TjOrderDetailRules> res11=new ArrayList<>(); |
| | | List<TjOrderDetailRules> res11 = new ArrayList<>(); |
| | | for (TjOrder tjOrder : list) { |
| | | LambdaQueryWrapper<TjOrderDetailRules> wq1=new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrderDetailRules::getTjNumber,tjOrder.getTjNumber()); |
| | | LambdaQueryWrapper<TjOrderDetailRules> wq1 = new LambdaQueryWrapper<>(); |
| | | wq1.eq(TjOrderDetailRules::getTjNumber, tjOrder.getTjNumber()); |
| | | final List<TjOrderDetailRules> list1 = detailRulesService.list(wq1); |
| | | //放进集合 |
| | | res11.addAll(list1); |
| | |
| | | //去重收集 |
| | | Map<String, Long> columnCountMap = res11.stream().collect(Collectors.groupingBy(TjOrderDetailRules::getAid, Collectors.counting())); |
| | | |
| | | List<Map<String, Object>> aaa=new ArrayList<>(); |
| | | if (columnCountMap!=null){ |
| | | List<Map<String, Object>> aaa = new ArrayList<>(); |
| | | if (columnCountMap != null) { |
| | | |
| | | for(Map.Entry<String, Long> entry:columnCountMap.entrySet()){ |
| | | int a=0; |
| | | int b=0; |
| | | Map<String, Object> resMap=new HashMap<>(); |
| | | for (Map.Entry<String, Long> entry : columnCountMap.entrySet()) { |
| | | int a = 0; |
| | | int b = 0; |
| | | Map<String, Object> resMap = new HashMap<>(); |
| | | final TjRules byId = rulesService.getById(entry.getKey()); |
| | | if (byId!=null){ |
| | | if (byId != null) { |
| | | resMap.put("name", byId.getBingzhong()); |
| | | resMap.put("value", entry.getValue().intValue()); |
| | | resMap.put("boy",a); |
| | | resMap.put("girl",b); |
| | | resMap.put("value1",0); |
| | | resMap.put("boy1",0); |
| | | resMap.put("girl1",0); |
| | | resMap.put("boy", a); |
| | | resMap.put("girl", b); |
| | | resMap.put("value1", 0); |
| | | resMap.put("boy1", 0); |
| | | resMap.put("girl1", 0); |
| | | |
| | | // |
| | | LambdaQueryWrapper<TjOrderDetailRules> wq11=new LambdaQueryWrapper<>(); |
| | | wq11.eq(TjOrderDetailRules::getAid,entry.getKey()); |
| | | wq11.in(TjOrderDetailRules::getTjNumber,tjNumberList); |
| | | LambdaQueryWrapper<TjOrderDetailRules> wq11 = new LambdaQueryWrapper<>(); |
| | | wq11.eq(TjOrderDetailRules::getAid, entry.getKey()); |
| | | wq11.in(TjOrderDetailRules::getTjNumber, tjNumberList); |
| | | final List<TjOrderDetailRules> list1 = detailRulesService.list(wq11); |
| | | for (TjOrderDetailRules orderDetailRules : list1) { |
| | | resMap.put("name", orderDetailRules.getBingzhong()); |
| | | if ("0".equals(orderDetailRules.getCusSex())){ |
| | | a+=1; |
| | | resMap.put("boy",a); |
| | | }else if ("1".equals(orderDetailRules.getCusSex())){ |
| | | b+=1; |
| | | resMap.put("girl",b); |
| | | if ("0".equals(orderDetailRules.getCusSex())) { |
| | | a += 1; |
| | | resMap.put("boy", a); |
| | | } else if ("1".equals(orderDetailRules.getCusSex())) { |
| | | b += 1; |
| | | resMap.put("girl", b); |
| | | } |
| | | } |
| | | aaa.add(resMap); |
| | |
| | | final Integer value1 = (Integer) aaa.get(i).get("boy"); |
| | | final Integer value2 = (Integer) aaa.get(i).get("girl"); |
| | | final Integer value = (Integer) aaa.get(i).get("value"); |
| | | if (value!=0){ |
| | | if (value != 0) { |
| | | double percentage = (value1 * 1.0 / value) * 100; |
| | | NumberFormat nf = NumberFormat.getPercentInstance(); |
| | | nf.setMinimumFractionDigits(2); |
| | |
| | | NumberFormat numberFormat = NumberFormat.getInstance(); |
| | | numberFormat.setMaximumFractionDigits(2); |
| | | String result = numberFormat.format((float) value1 / (float) value2 * 100); |
| | | aaa.get(i).put("boy1",percent1); |
| | | aaa.get(i).put("girl1",percent2); |
| | | aaa.get(i).put("value1",result); |
| | | aaa.get(i).put("boy1", percent1); |
| | | aaa.get(i).put("girl1", percent2); |
| | | aaa.get(i).put("value1", result); |
| | | |
| | | } |
| | | } |
| | | all.put("data",aaa); |
| | | all.put("data", aaa); |
| | | return all; |
| | | |
| | | } |
| | | |
| | | @GetMapping("/reportHistory") |
| | | @ApiOperation(value = "历史报告") |
| | | public AjaxResult reportHistory(Long cusId) { |
| | | List<TjReport> res=new ArrayList<>(); |
| | | LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); |
| | | wqq.like(TjOrder::getUserId, cusId); |
| | | List<TjOrder> orderList = tjOrderService.list(wqq); |
| | | if (orderList!=null){ |
| | | for (TjOrder tjOrder : orderList) { |
| | | if (tjOrder!=null){ |
| | | LambdaQueryWrapper<TjReport> wq = new LambdaQueryWrapper<>(); |
| | | wq.eq(TjReport::getTjNumber, tjOrder.getTjNumber()); |
| | | wq.eq(TjReport::getType,"体检报告"); |
| | | res.add(tjReportService.getOne(wq)); |
| | | } |
| | | } |
| | | return AjaxResult.success(res); |
| | | } |
| | | return AjaxResult.error("暂无历史报告"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |