From d7d79867f7ccd9b4d13fe7b9e5f5850ebf794639 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 09 七月 2024 13:36:06 +0800 Subject: [PATCH] zjh 2024/07/9-1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java | 229 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 139 insertions(+), 90 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 5951d98..07fe543 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,8 @@ import com.ltkj.framework.config.UserHoder; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjHybgd; +import com.ltkj.hosp.sqlDomain.LtkjHysqd; import com.ltkj.mall.mallOrderUtils.TjConstants; import com.ltkj.web.config.pdfutils.PDFBinaryUtil; import io.swagger.annotations.Api; @@ -32,6 +35,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; @@ -79,18 +83,23 @@ @Value("${path.filePath}") private String value; - + @Resource + private LtkjHybgdService ltkjHybgdService; + @Resource + private LtkjHysqdService ltkjHysqdService; /** * 灏忕▼搴忔煡璇綋妫�鎶ュ憡鍒楄〃 */ @GetMapping("/getReportList") @ApiOperation(value = "灏忕▼搴�-浣撴鎶ュ憡鍒楄〃") - public AjaxResult getReportList(@RequestParam(required = false) @ApiParam(value = "鎵嬫満鍙�") String cusPhone) { + public AjaxResult getReportList(String cusPhone) { // Wxuser wxuser = UserHoder.getWxuser(); - + if (cusPhone == null) { + return AjaxResult.error("璇风粦瀹氭墜鏈哄彿锛�"); + } List<Object> result = new ArrayList<>(); - QueryWrapper<TjCustomer> wq1 = new QueryWrapper<>(); - wq1.eq("cus_phone", cusPhone); + LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(TjCustomer::getCusPhone, cusPhone); List<TjCustomer> list1 = customerService.list(wq1); if (list1.size() != 0) { for (TjCustomer tjCustomer : list1) { @@ -119,7 +128,8 @@ */ @GetMapping("/getRelativeReportList") @ApiOperation(value = "灏忕▼搴�-鏌ヨ浜插弸鏈�鏂版姤鍛�") - public AjaxResult getRelativeReportList(@RequestParam @ApiParam(value = "濮撳悕") String cusName, @RequestParam @ApiParam(value = "韬唤璇佸彿") String cusIdcard) { + public AjaxResult getRelativeReportList(@RequestParam @ApiParam(value = "濮撳悕") String cusName, + @RequestParam @ApiParam(value = "韬唤璇佸彿") String cusIdcard) { LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjCustomer::getCusName, cusName); wq1.eq(TjCustomer::getCusIdcard, cusIdcard); @@ -163,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) { @@ -170,66 +181,63 @@ 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()); + 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)); } - 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("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁"); } - 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); @@ -241,6 +249,54 @@ 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 + " 鈫�"; + } else if (jyjgval.compareTo(max) > 0) { + // jyjg 澶т簬鑼冨洿鏈�澶у�硷紝娣诲姞涓婄澶� + jyjg = jyjg + " 鈫�"; + } + hybgd.setJyjg(jyjg); + } catch (Exception ignored) {} + } + } + } + map.put("sons",hybgdList); + list.add(map); + } + return AjaxResult.success(list); + } + return AjaxResult.success("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁锛�"); + } /** @@ -263,9 +319,9 @@ wq.eq(TjOrderDetail::getOrderId, one.getOrderId()); wq.in(TjOrderDetail::getProId, "1633660948860522524"); final TjOrderDetail one1 = detailService.getOne(wq); - if (one1== null){ + if (one1 == null) { objectMap.put("shenggao", "鏃�"); - }else { + } else { objectMap.put("shenggao", one1.getProResult()); } @@ -274,9 +330,9 @@ wq2.eq(TjOrderDetail::getOrderId, one.getOrderId()); wq2.in(TjOrderDetail::getProId, "1633660948860522525"); final TjOrderDetail one2 = detailService.getOne(wq2); - if (one2==null){ + if (one2 == null) { objectMap.put("tizhong", "鏃�"); - }else { + } else { objectMap.put("tizhong", one2.getProResult()); } @@ -285,33 +341,31 @@ wq3.eq(TjOrderDetail::getOrderId, one.getOrderId()); wq3.in(TjOrderDetail::getProId, "1633660948860522526"); final TjOrderDetail one3 = detailService.getOne(wq3); - if (one3==null){ + if (one3 == null) { objectMap.put("tizhongzhishu", "鏃�"); - }else { + } 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){ + if (one4 == null) { objectMap.put("shousuoya", "鏃�"); - }else { + } 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 { + if (one5 == null) { + objectMap.put("shuzhangya", "鏃�"); + } else { objectMap.put("shuzhangya", one5.getProResult()); } @@ -321,33 +375,29 @@ } - - - /** * 灏忕▼搴忕偣鍑讳笅杞芥姤鍛� */ @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}") @@ -383,9 +433,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("鏂囦欢涓嶅瓨鍦紒"); @@ -407,13 +457,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) { @@ -439,7 +489,6 @@ } } } - /** -- Gitblit v1.8.0