From 92db9e7f8e1f79f5b61266382149843159907157 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 12 八月 2025 18:03:00 +0800 Subject: [PATCH] zjh20250812 --- ltkj-admin/src/main/java/com/ltkj/web/controller/app/ReportController.java | 281 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 165 insertions(+), 116 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 07fe543..f55d1d1 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 @@ -4,33 +4,28 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; -import com.ltkj.common.core.page.TableDataInfo; -import com.ltkj.common.utils.SecurityUtils; -import com.ltkj.common.utils.StringUtils; -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.mall.mallOrderUtils.TjConstants; +import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo; +import com.ltkj.system.service.ISysConfigService; import com.ltkj.web.config.pdfutils.PDFBinaryUtil; +import com.ltkj.web.controller.system.TjReportController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.One; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTJcImpl; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import org.springframework.web.server.session.InMemoryWebSessionStore; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -39,7 +34,6 @@ import java.net.URL; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/lige @@ -54,39 +48,40 @@ @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; +// @Value("${path.filePath}") +// private String value; @Resource private LtkjHybgdService ltkjHybgdService; @Resource private LtkjHysqdService ltkjHysqdService; + @Resource + private LtkjExamJcbgdService jcbgdService; + @Resource + private LtkjExamJcsqdService jcsqdService; + @Autowired + private ISysConfigService configService; + @Autowired + private TjReportController tjReportController; + + /** * 灏忕▼搴忔煡璇綋妫�鎶ュ憡鍒楄〃 */ @@ -101,7 +96,7 @@ LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjCustomer::getCusPhone, cusPhone); List<TjCustomer> list1 = customerService.list(wq1); - if (list1.size() != 0) { + if (null != list1 && !list1.isEmpty()) { for (TjCustomer tjCustomer : list1) { Map<String, Object> map = new HashMap<>(); QueryWrapper<TjOrder> wq2 = new QueryWrapper<>(); @@ -110,7 +105,7 @@ wq2.isNotNull("finish_time"); wq2.orderByDesc("finish_time"); List<TjOrder> list = orderService.list(wq2); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { TjOrder tjOrder = orderService.list(wq2).get(0); map.put("report", tjOrder); map.put("customer", tjCustomer); @@ -131,7 +126,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) { @@ -208,26 +203,27 @@ } 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<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()); @@ -281,9 +277,13 @@ 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) {} @@ -299,14 +299,42 @@ } + + @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("璇ュ鎴峰湪娌℃湁浣撴椤圭洰鏁版嵁锛�"); + } + + + /** * 灏忕▼搴忕偣鍑讳綋妫�鎶ュ憡鏌ヨ璇︽儏,鏄剧ず韬珮浣撻噸浣撻噸鎸囨暟鏀剁缉鍘嬭垝寮犲帇 */ @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); @@ -315,62 +343,38 @@ 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); } @@ -403,20 +407,11 @@ @GetMapping("/preview/{flag}/{TjNumber}") @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡") public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) { - //淇敼order琛ㄤ腑鐨勪笅杞芥姤鍛婃椂闂翠负褰撳墠鏃堕棿 -// LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); -// updateWrapper.eq(TjOrder::getTjNumber, tjNumber); -// updateWrapper.set(TjOrder::getPrintLastTime, new Date()); -// updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); -// updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); -// orderService.update(updateWrapper); - - LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjOrder::getTjNumber, tjNumber); TjOrder tjOrder = orderService.getOne(wq1); - + String value = configService.selectConfigByKey("path_filePath"); LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); TjCustomer tjCustomer = customerService.getOne(wq2); @@ -433,9 +428,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() + File.separator + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"); //String filePath = one.getPath(); - String filePath = value + "\\" + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; + String filePath = value + File.separator + substring + tjNumber + tjCustomer.getCusName() + "_浣撴鎶ュ憡.pdf"; File f = new File(filePath); if (filePath.isEmpty()) { System.out.println("鏂囦欢涓嶅瓨鍦紒"); @@ -520,4 +515,58 @@ } return AjaxResult.success("鎮ㄨ繕娌℃湁浣撴璁板綍锛�"); } + + + @PostMapping("/tijianjilu") + @ApiOperation("灏忕▼搴忎綋妫�璁板綍") + public AjaxResult tijianjilu(@RequestBody String json) { + cn.hutool.json.JSONObject entries = JSONUtil.parseObj(json); + String idCard = entries.getStr("idCard"); + String kssj = entries.getStr("kssj"); + String jssj = entries.getStr("jssj"); + TjCustomer tjCustomer = customerService.getTjCustomerByCusIdCard(idCard); + if (null != tjCustomer) { + List<Map<String, Object>> mapList = new ArrayList<>(); + LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrder::getUserId, tjCustomer.getCusId()); + wq.eq(TjOrder::getCheckStatus, 1); + wq.eq(TjOrder::getHeshouStatus, 1); + wq.isNotNull(TjOrder::getReportTime); + wq.isNotNull(TjOrder::getHeshouTime); + if(StringUtil.isNotBlank(kssj) && StringUtil.isNotBlank(jssj)){ + wq.between(TjOrder::getCreateTime, kssj, jssj); + }else { + DateTime start = DateUtil.beginOfMonth(DateUtil.date()); + DateTime end = DateUtil.beginOfMonth(DateUtil.offsetMonth(DateUtil.date(), 1)); + wq.between(TjOrder::getCreateTime, start, end); + } + List<TjOrder> list = orderService.list(wq); + if (null != list && !list.isEmpty()) { + for (TjOrder order : list) { + Map<String, Object> map = new HashMap<>(); + map.put("tjNumber", order.getTjNumber()); + map.put("status", "宸插畬鎴�"); + map.put("cusName", tjCustomer.getCusName()); + map.put("cusSex", tjCustomer.getCusSex()); + map.put("age", tjCustomer.getAge()); + map.put("tjTime",order.getCreateTime()); + mapList.add(map); + } + return AjaxResult.success(mapList); + } + } + + return AjaxResult.error("鏆傛棤浣撴璁板綍"); + } + + + @PostMapping("/preview") + @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡") + public void preview(HttpServletResponse response,@RequestBody String json) { + cn.hutool.json.JSONObject entries = JSONUtil.parseObj(json); + String tjNumber = entries.getStr("tjNumber"); + tjReportController.preview(response, true, tjNumber); + } + + } -- Gitblit v1.8.0