From 9155df2aeab5b0d95c89dd928dbaefbfbaeae9d1 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 05 九月 2024 17:10:35 +0800 Subject: [PATCH] zjh 2024-09-05 --- ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java | 345 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 200 insertions(+), 145 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java index 230ecdb..28f5057 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java @@ -3,6 +3,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -14,6 +15,11 @@ import com.ltkj.framework.config.UserHoder; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; +import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; +import com.ltkj.hosp.sqlDomain.LtkjHybgd; +import com.ltkj.hosp.sqlDomain.LtkjHysqd; +import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo; import com.ltkj.mall.mallOrderUtils.TjConstants; import com.ltkj.web.config.pdfutils.PDFBinaryUtil; import io.swagger.annotations.Api; @@ -32,6 +38,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.math.BigDecimal; import java.net.URL; import java.util.*; import java.util.stream.Collectors; @@ -50,35 +57,35 @@ @Resource private ITjReportService reportService; - @Resource private ITjCustomerService customerService; @Autowired private ITjOrderService orderService; - @Autowired private ITjOrderDetailService detailService; - @Resource private ITjProjectService projectService; - @Resource private ITjOrderRemarkService remarkService; - @Resource private ITjStandardService standardService; - @Resource private ITjAdviceService adviceService; - @Resource private IDictCompService compService; - @Resource private ITjReportTemplateService reportTemplateService; - @Value("${path.filePath}") private String value; + @Resource + private LtkjHybgdService ltkjHybgdService; + @Resource + private LtkjHysqdService ltkjHysqdService; + @Resource + private LtkjExamJcbgdService jcbgdService; + @Resource + private LtkjExamJcsqdService jcsqdService; + /** * 灏忕▼搴忔煡璇綋妫�鎶ュ憡鍒楄〃 @@ -87,7 +94,7 @@ @ApiOperation(value = "灏忕▼搴�-浣撴鎶ュ憡鍒楄〃") public AjaxResult getReportList(String cusPhone) { // Wxuser wxuser = UserHoder.getWxuser(); - if (cusPhone==null){ + if (cusPhone == null) { return AjaxResult.error("璇风粦瀹氭墜鏈哄彿锛�"); } List<Object> result = new ArrayList<>(); @@ -124,7 +131,7 @@ public AjaxResult getRelativeReportList(@RequestParam @ApiParam(value = "濮撳悕") String cusName, @RequestParam @ApiParam(value = "韬唤璇佸彿") String cusIdcard) { LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjCustomer::getCusName, cusName); + wq1.like(TjCustomer::getCusName, cusName); wq1.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer customer = customerService.getOne(wq1); if (null != customer) { @@ -166,6 +173,7 @@ TjCustomer customer = customerService.getOne(wq22); LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>(); wqm.eq(TjOrderRemark::getTjNumber, tjNumber); + wqm.in(TjOrderRemark::getDeptId,"100", "240", "253", "254", "255", "257", "258", "259", "269", "270"); List<TjOrderRemark> remarkList = remarkService.list(wqm); List<Map<String, Object>> abnormalList = new ArrayList<>(); if (null != remarkList && remarkList.size() > 0) { @@ -173,66 +181,64 @@ Map<String, Object> parent = new HashMap<>(); Map<String, Object> parent1 = new HashMap<>(); TjProject tjProject = projectService.getById(remark.getProId()); - if (null != tjProject) { + if (null != tjProject && tjProject.getNeedReport().equals("Y")) { parent.put("parent", tjProject.getProName()); parent1.put("parent", tjProject.getProName()); - } else { - parent.put("parent", null); - parent1.put("parent", null); - } - LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>(); - wq2.eq(TjProject::getProParentId, remark.getProId()); - List<Long> sonsTjProjectList = null; - if (null != projectService.list(wq2) && projectService.list(wq2).size() > 0) { - sonsTjProjectList = projectService.list(wq2).stream().map(TjProject::getProId).collect(Collectors.toList()); - } - if (sonsTjProjectList == null) { - log.info("鎴戞姤绌烘寚閽堜簡::::::::::::" + remark.toString()); - continue; - } - LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); - wq.in(TjOrderDetail::getProId, sonsTjProjectList); - List<TjOrderDetail> tjOrderDetails = detailService.list(wq); - if (null != tjOrderDetails && tjOrderDetails.size() > 0) { - List<TjOrderDetail> abnormals = new ArrayList<>(); - for (TjOrderDetail tjOrderDetail : tjOrderDetails) { - if (tjOrderDetail.getExceptionDesc() == 1) { - abnormals.add(tjOrderDetail); - parent1.put("abnormalList", abnormals); - abnormalList.add(parent1); - } - LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>(); - wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId()); - tjOrderDetail.setProject(projectService.getOne(wqqqq)); - LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>(); - wq6.eq(TjStandard::getProId, tjOrderDetail.getProId()); - List<TjStandard> list2 = standardService.list(wq6); - if (list2.size() == 0) { - tjOrderDetail.setStandard(null); - } else if (list2.size() == 1) { - tjOrderDetail.setStandard(list2.get(0)); - } else { - for (TjStandard tjStandard : list2) { - LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); - if (tjStandard.getTjSex() != null) { - wq8.eq(TjStandard::getTjSex, customer.getCusSex()); - } - if (tjStandard.getTjType() != null) { - wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); - } - tjOrderDetail.setStandard(standardService.getOne(wq8)); - } - } + LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>(); + wq2.eq(TjProject::getProParentId, remark.getProId()); + List<Long> sonsTjProjectList = null; + if (null != projectService.list(wq2) && projectService.list(wq2).size() > 0) { + sonsTjProjectList = projectService.list(wq2).stream().map(TjProject::getProId).collect(Collectors.toList()); } - LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>(); - wq3.eq(TjAdvice::getProId, remark.getProId()); - parent.put("sons", tjOrderDetails); - parent.put("parentAdvice", adviceService.list(wq3)); - parent.put("advice", remark.getSummary()); - list.add(parent); - } else { - return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁"); + if (sonsTjProjectList == null) { + log.info("鎴戞姤绌烘寚閽堜簡::::::::::::" + remark.toString()); + continue; + } + LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); + wq.in(TjOrderDetail::getProId, sonsTjProjectList); + List<TjOrderDetail> tjOrderDetails = detailService.list(wq); + if (null != tjOrderDetails && tjOrderDetails.size() > 0) { + List<TjOrderDetail> abnormals = new ArrayList<>(); + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + if (tjOrderDetail.getExceptionDesc() == 1) { + abnormals.add(tjOrderDetail); + parent1.put("abnormalList", abnormals); + abnormalList.add(parent1); + } + LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>(); + wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId()); + wqqqq.eq(TjProject::getNeedReport,"Y"); + tjOrderDetail.setProject(projectService.getOne(wqqqq)); + // LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>(); +// wq6.eq(TjStandard::getProId, tjOrderDetail.getProId()); +// List<TjStandard> list2 = standardService.list(wq6); +// if (list2.size() == 0) { +// tjOrderDetail.setStandard(null); +// } else if (list2.size() == 1) { +// tjOrderDetail.setStandard(list2.get(0)); +// } else { +// for (TjStandard tjStandard : list2) { +// LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); +// if (tjStandard.getTjSex() != null) { +// wq8.eq(TjStandard::getTjSex, customer.getCusSex()); +// } +// if (tjStandard.getTjType() != null) { +// wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); +// } +// tjOrderDetail.setStandard(standardService.getOne(wq8)); +// } +// } + } + LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>(); + wq3.eq(TjAdvice::getProId, remark.getProId()); + parent.put("sons", tjOrderDetails); + parent.put("parentAdvice", adviceService.list(wq3)); + parent.put("advice", remark.getSummary()); + list.add(parent); + } else { + return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁"); + } } } objectMap.put("list", list); @@ -240,6 +246,87 @@ objectMap.put("tjAbnormal", abnormalList); objectMap.put("customter", customer); return AjaxResult.success(objectMap); + } + return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁锛�"); + } + + @GetMapping("/getHyReportByTjNumber") + @ApiOperation(value = "灏忕▼搴�-浣撴鍖栭獙鎶ュ憡鏌ヨ璇︽儏") + public AjaxResult getHyReportByTjNumber(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(TjOrder::getTjNumber, tjNumber); + wq1.eq(TjOrder::getCheckStatus, 1); + TjOrder one = orderService.getOne(wq1); + if (one == null) { + return AjaxResult.success("浣撴鏆傛湭瀹屾垚锛侊紒"); + } + List<LtkjHysqd> hysqdList = ltkjHysqdService.getLtkjHysqdByTjh(one.getCardId()); + if(null !=hysqdList && hysqdList.size()>0){ + List<Map<String, Object>> list = new ArrayList<>(); + + for (LtkjHysqd hysqd : hysqdList) { + Map<String, Object> map = new HashMap<>(); + map.put("parent",hysqd.getXmmc()); + List<LtkjHybgd> hybgdList = ltkjHybgdService.getJianYanBaoGaoDanList(hysqd.getTmh()); + if(null !=hybgdList && hybgdList.size()>0){ + for (LtkjHybgd hybgd : hybgdList) { + String jyjg = hybgd.getJyjg(); + String fwz = hybgd.getFwz(); + if (jyjg != null && StrUtil.isNotBlank(jyjg) && fwz != null && StrUtil.isNotBlank(fwz)){ + try { + String[] fwzs = fwz.split("-"); + BigDecimal min = new BigDecimal(fwzs[0]); + BigDecimal max = new BigDecimal(fwzs[1]); + BigDecimal jyjgval = new BigDecimal(jyjg); + // 姣旇緝妫�楠岀粨鏋滃拰鑼冨洿鍊� + if (jyjgval.compareTo(min) < 0) { + // jyjg 灏忎簬鑼冨洿鏈�灏忓�硷紝娣诲姞涓嬬澶� + jyjg = jyjg + " 鈫�"; + hybgd.setYcbz("1"); + } else if (jyjgval.compareTo(max) > 0) { + // jyjg 澶т簬鑼冨洿鏈�澶у�硷紝娣诲姞涓婄澶� + jyjg = jyjg + " 鈫�"; + hybgd.setYcbz("1"); + }else { + hybgd.setYcbz("0"); + } + hybgd.setJyjg(jyjg); + } catch (Exception ignored) {} + } + } + } + map.put("sons",hybgdList); + list.add(map); + } + return AjaxResult.success(list); + } + return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁锛�"); + } + + + + @GetMapping("/getJcReportByTjNumber") + @ApiOperation(value = "灏忕▼搴�-浣撴妫�鏌ユ姤鍛婃煡璇㈣鎯�") + public AjaxResult getJcReportByTjNumber(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { + LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(TjOrder::getTjNumber, tjNumber); + wq1.eq(TjOrder::getCheckStatus, 1); + TjOrder one = orderService.getOne(wq1); + if (one == null) { + return AjaxResult.success("浣撴鏆傛湭瀹屾垚锛侊紒"); + } + List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(one.getCardId()); + if(null !=jcsqdList && jcsqdList.size()>0){ + List<Map<String, Object>> list = new ArrayList<>(); + for (LtkjExamJcsqd jcsqd : jcsqdList) { + Map<String, Object> map = new HashMap<>(); + map.put("parent",jcsqd.getJcxmmc()); + map.put("jcbx",jcsqd.getJgbx()); + List<LtkjExamJcbgd> jcbgdList = jcbgdService.getJianJcBaoGaoDanList(jcsqd.getTmh()); + map.put("sons",jcbgdList); + list.add(map); + } + return AjaxResult.success(list); } return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁锛�"); } @@ -252,8 +339,7 @@ @GetMapping("/getShenGaoTiZhong") @ApiOperation(value = "灏忕▼搴�-浣撴鎶ュ憡鏌ヨ璇︽儏") public AjaxResult getShenGaoTiZhong(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { - Map<String, Object> objectMap = new HashMap<>(); - List<Map<String, Object>> list = new ArrayList<>(); +// Map<String, Object> objectMap = new HashMap<>(); LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjOrder::getTjNumber, tjNumber); wq1.eq(TjOrder::getCheckStatus, 1); @@ -262,69 +348,40 @@ return AjaxResult.success("浣撴鏆傛湭瀹屾垚锛侊紒"); } - LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); - wq.in(TjOrderDetail::getProId, "1633660948860522524"); - final TjOrderDetail one1 = detailService.getOne(wq); - if (one1== null){ - objectMap.put("shenggao", "鏃�"); - }else { - objectMap.put("shenggao", one1.getProResult()); - } - - - LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>(); - wq2.eq(TjOrderDetail::getOrderId, one.getOrderId()); - wq2.in(TjOrderDetail::getProId, "1633660948860522525"); - final TjOrderDetail one2 = detailService.getOne(wq2); - if (one2==null){ - objectMap.put("tizhong", "鏃�"); - }else { - objectMap.put("tizhong", one2.getProResult()); - } - - - LambdaQueryWrapper<TjOrderDetail> wq3 = new LambdaQueryWrapper<>(); - wq3.eq(TjOrderDetail::getOrderId, one.getOrderId()); - wq3.in(TjOrderDetail::getProId, "1633660948860522526"); - final TjOrderDetail one3 = detailService.getOne(wq3); - if (one3==null){ - objectMap.put("tizhongzhishu", "鏃�"); - }else { - objectMap.put("tizhongzhishu", one3.getProResult()); - } - - - - LambdaQueryWrapper<TjOrderDetail> wq4 = new LambdaQueryWrapper<>(); - wq4.eq(TjOrderDetail::getOrderId, one.getOrderId()); - wq4.in(TjOrderDetail::getProId, "1633660948860522527"); - final TjOrderDetail one4 = detailService.getOne(wq4); - if (one4==null){ - objectMap.put("shousuoya", "鏃�"); - }else { - objectMap.put("shousuoya", one4.getProResult()); - } - - - - LambdaQueryWrapper<TjOrderDetail> wq5 = new LambdaQueryWrapper<>(); - wq5.eq(TjOrderDetail::getOrderId, one.getOrderId()); - wq5.in(TjOrderDetail::getProId, "1633660948860522528"); - final TjOrderDetail one5 = detailService.getOne(wq5); - if (one5==null){ - objectMap.put("shuzhangya","鏃�"); - }else { - objectMap.put("shuzhangya", one5.getProResult()); - } - - - return AjaxResult.success(objectMap); + List<ShenGaoTiZhongVo> maps = detailService.getShenGaoTiZhongList(one.getTjNumber()); +// if(null !=maps && maps.size()>0){ +// for (Map<String, Object> map : maps) { +// if (map.get("") == null) { +// objectMap.put("shenggao", "鏃�"); +// } else { +// objectMap.put("shenggao", one1.getProResult()); +// } +// if (one2 == null) { +// objectMap.put("tizhong", "鏃�"); +// } else { +// objectMap.put("tizhong", one2.getProResult()); +// } +// if (one3 == null) { +// objectMap.put("tizhongzhishu", "鏃�"); +// } else { +// objectMap.put("tizhongzhishu", one3.getProResult()); +// } +// if (one4 == null) { +// objectMap.put("shousuoya", "鏃�"); +// } else { +// objectMap.put("shousuoya", one4.getProResult()); +// } +// if (one5 == null) { +// objectMap.put("shuzhangya", "鏃�"); +// } else { +// objectMap.put("shuzhangya", one5.getProResult()); +// } +// } +// } + log.info("ltkj {}鐨勪綋妫�鎶ュ憡鏌ヨ璇︽儏"+maps,tjNumber); + return AjaxResult.success(maps); } - - - /** @@ -333,24 +390,23 @@ @GetMapping("/downloadReport") @ApiOperation(value = "灏忕▼搴�-涓嬭浇鎶ュ憡") public AjaxResult downloadReport(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { - Map<String,String> res=new HashMap<>(); + Map<String, String> res = new HashMap<>(); LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); we.eq(TjReport::getTjNumber, tjNumber); we.eq(TjReport::getType, "浣撴鎶ュ憡"); TjReport one = reportService.getOne(we); - if ("pdf".equals(one.getPrint())){ - res.put("flag","0"); - res.put("url",one.getPath()); + if ("pdf".equals(one.getPrint())) { + res.put("flag", "0"); + res.put("url", one.getPath()); return AjaxResult.success(res); - }else if ("鎶ヨ〃".equals(one.getPrint())){ - res.put("flag","1"); - res.put("url",one.getPath()); + } else if ("鎶ヨ〃".equals(one.getPrint())) { + res.put("flag", "1"); + res.put("url", one.getPath()); return AjaxResult.success(res); - }else { + } else { return AjaxResult.error("鏆傛棤浣撴鎶ュ憡"); } } - @GetMapping("/preview/{flag}/{TjNumber}") @@ -386,9 +442,9 @@ final String substring = uuid.toString().substring(0, 5); // String userId = SecurityUtils.getLoginUser().getUsername(); - PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" +substring+ tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); + PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); //String filePath = one.getPath(); - String filePath = value + "\\" +substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; + String filePath = value + "\\" + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; File f = new File(filePath); if (filePath.isEmpty()) { System.out.println("鏂囦欢涓嶅瓨鍦紒"); @@ -410,13 +466,13 @@ String contentType = u.openConnection().getContentType(); response.setContentType(contentType); response.setHeader("Content-Disposition", "inline;filename=" - +substring+ tjNumber + ".pdf"); + + substring + tjNumber + ".pdf"); } else { // 绾笅杞芥柟寮� response.setContentType("application/x-msdownload"); response.setContentType("application/pdf;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=" - +substring+ tjNumber + ".pdf"); + + substring + tjNumber + ".pdf"); } out = response.getOutputStream(); while ((len = br.read(bs)) > 0) { @@ -442,7 +498,6 @@ } } } - /** -- Gitblit v1.8.0