From a0dde8aa21d8bc2b55ccbb2278fc730f75f7ef8b Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 18 七月 2025 08:55:13 +0800 Subject: [PATCH] zjh20250718 --- ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java | 224 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 215 insertions(+), 9 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java index f321bdd..6018389 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java @@ -1,23 +1,42 @@ package com.ltkj.web.controller.api; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.itextpdf.text.Element; +import com.itextpdf.text.Paragraph; import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.framework.config.MatchUtils; +import com.ltkj.hosp.domain.TjCustomer; +import com.ltkj.hosp.domain.TjOrder; +import com.ltkj.hosp.domain.TjOrderYcxm; import com.ltkj.hosp.mapper.TjCustomerMapper; +import com.ltkj.hosp.service.ITjCustomerService; +import com.ltkj.hosp.service.ITjOrderDetailService; +import com.ltkj.hosp.service.ITjOrderService; +import com.ltkj.hosp.service.TjOrderYcxmService; +import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo; +import com.ltkj.system.service.ISysConfigService; +import com.ltkj.web.config.pdfutils.PdfUtils; import com.ltkj.web.controller.system.TjCheckController; import com.ltkj.web.controller.system.TjReportController; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log; /** * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 @@ -34,6 +53,16 @@ private TjCheckController tjCheckController; @Autowired private TjCustomerMapper tjCustomerMapper; + @Resource + private ITjCustomerService customerService; + @Autowired + private ITjOrderService tjOrderService; + @Autowired + private ITjOrderDetailService detailService; + @Autowired + private ISysConfigService sysConfigService; + @Autowired + private TjOrderYcxmService tjOrderYcxmService; /** * 鎻愪緵缁欎笁鏂硅皟鐢ㄧ殑鎶ュ憡鏌ョ湅鎺ュ彛 @@ -44,7 +73,31 @@ public void viewReport(HttpServletResponse response, @RequestBody String json) throws IOException { JSONObject entries = JSONUtil.parseObj(json); String tjNum = entries.getStr("tjNum"); + LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjOrder::getHeshouStatus,1); + wrapper.eq(TjOrder::getTjNumber,tjNum); + List<TjOrder> list = tjOrderService.list(wrapper); + if (list.isEmpty()){ + return; + } tjReportController.preview(response,true,tjNum); + } + + @PostMapping("/viewReportUrl") + public AjaxResult viewReportUrl(@RequestBody String json){ + JSONObject entries = JSONUtil.parseObj(json); + String tjNum = entries.getStr("tjNum"); + LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjOrder::getHeshouStatus,1); + wrapper.eq(TjOrder::getTjNumber,tjNum); + List<TjOrder> list = tjOrderService.list(wrapper); + if (list.isEmpty()){ + return AjaxResult.error("鎶ュ憡鏈牳鏀�,璇锋牳鏀跺悗鏌ョ湅"); + } + TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNum); + TjCustomer tjCustomer = tjCustomerMapper.selectById( tjOrder.getUserId()); + String filePath = tjCustomer.getCusId() + tjNum + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; + return AjaxResult.success(filePath); } /** @@ -55,7 +108,109 @@ @PostMapping("/reportData") public AjaxResult reportData(@RequestBody String json){ String tjNum = JSONUtil.parseObj(json).getStr("tjNum"); + LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TjOrder::getHeshouStatus,1); + wrapper.eq(TjOrder::getTjNumber,tjNum); + List<TjOrder> list = tjOrderService.list(wrapper); + if (list.isEmpty()){ + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } JSONObject entries = JSONUtil.parseObj(tjCheckController.updateCheckType(tjNum)); + + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, tjNum); + List<TjOrderYcxm> ycxms = tjOrderYcxmService.list(wq); + Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); + int xmXh = 1; + JSONArray jczs = JSONUtil.createArray(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) { + List<TjOrderYcxm> details = entry.getValue(); + String xmmc = entry.getKey(); + boolean isXmWrite = false; + int index = 1; + JSONObject object = JSONUtil.createObj(); + for (TjOrderYcxm detail : details) { + if (!isXmWrite) { + object.putOpt("xh",xmXh); + object.putOpt("xmmc",xmmc); + xmXh++; + } + String result = detail.getJcjg(); + if (StrUtil.isNotBlank(result)) { + result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", ""); + StringBuilder builder = new StringBuilder(); + if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; + builder.append(" (").append(index).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n"); + index++; + result = builder.toString(); + } + object.putOpt("result",result); + } + jczs.add(object); + } + entries.putOpt("jczs",jczs); + + xmXh = 1; + JSONArray ysjy = JSONUtil.createArray(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) { + List<TjOrderYcxm> details = entry.getValue(); + if(null !=details && !details.isEmpty()){ + details= details.stream() + .sorted(Comparator.comparing(TjOrderYcxm::getJcxm)) + .collect(Collectors.toList()); + boolean isXmWrite = false; + int index1 = 1; + for (TjOrderYcxm detail : details) { + JSONObject obj = JSONUtil.createObj(); + String xmmc = entry.getKey().toString(); + if (!isXmWrite) { + isXmWrite = true; + obj.putOpt("xh",xmXh); + obj.putOpt("xmmc",xmmc); + xmXh++; + } + String result = detail.getJcjg(); + if (StrUtil.isNotBlank(result)) { + StringBuilder builder = new StringBuilder(); + if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; + builder.append(" (").append(index1).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n"); + index1++; + result = builder.toString(); + } + if (StrUtil.isNotBlank(result)) { + obj.putOpt("result",result); + } else { + obj.putOpt("result","寤鸿瀹氭湡澶嶆煡"); + } + String str = " "; + List<Map<String, Object>> maps = new ArrayList<>(); + + String jynr = detail.getJynr(); + JSONArray array = JSONUtil.parseArray(jynr); + for (Object object : array) { + Map<String,Object> objectMap=new HashMap<>(); + JSONObject jsonObject = (JSONObject) object; + String bt = jsonObject.getStr("bt"); + String nr = jsonObject.getStr("nr"); + objectMap.put("bt",bt); + objectMap.put("nr",nr); + if(null !=bt || null !=nr) maps.add(objectMap); + } + ArrayList<String> strings = new ArrayList<>(); + List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList()); + for (Map<String, Object> objectMap : collect1) { + String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString(); + if (StrUtil.isBlank(content)) content = " "; + strings.add(content); + } + obj.putOpt("contents",strings); + ysjy.add(obj); + } + } + } + + entries.putOpt("ysjy",ysjy); + removeNullFields(entries); return JSONUtil.toBean(entries, AjaxResult.class); } @@ -71,8 +226,18 @@ JSONObject entries = JSONUtil.parseObj(json); String card = entries.getStr("card"); // TjCustomer customer = tjCustomerMapper.getCusInfo(card); - List<Map<String ,Object>> customer = tjCustomerMapper.getCusInfoList(card); - return AjaxResult.success(customer); + String key = sysConfigService.selectConfigByKey("h5OrXcxQueryDate"); + if (StrUtil.isBlank(key)){ + key = "2025-05-01"; + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date date = sdf.parse(key); + List<Map<String ,Object>> customer = tjCustomerMapper.getCusInfoList(card,date); + return AjaxResult.success(customer); + } catch (ParseException e) { + return AjaxResult.error(); + } } /** @@ -86,6 +251,15 @@ JSONObject entries = JSONUtil.parseObj(json); String card = entries.getStr("card"); String name = entries.getStr("name"); + if (StrUtil.isBlank(name)){ + LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjCustomer::getCusIdcard,card); + wrapper.orderByDesc(TjCustomer::getCusId); + wrapper.last("LIMIT 1"); + TjCustomer customer = tjCustomerMapper.selectOne(wrapper); + if (customer == null) return AjaxResult.error(); + name = customer.getCusName(); + } List<Map<String ,Object>> customer = tjCustomerMapper.getCusInfoListByCardAndName(card,name); return AjaxResult.success(customer); } @@ -126,4 +300,36 @@ } } + + + /** + * 灏忕▼搴忕偣鍑讳綋妫�鎶ュ憡鏌ヨ璇︽儏,鏄剧ず韬珮浣撻噸浣撻噸鎸囨暟鏀剁缉鍘嬭垝寮犲帇 + */ + @GetMapping("/updatePhone") + @ApiOperation(value = "灏忕▼搴�-淇敼鎵嬫満鍙锋帴鍙�") + public AjaxResult updatePhone(@RequestParam @ApiParam(value = "韬唤璇佸彿") String sfzh, + @RequestParam @ApiParam(value = "濮撳悕") String name, + @RequestParam @ApiParam(value = "鎵嬫満鍙�") String phone) { + if(StrUtil.isBlank(sfzh) || StrUtil.isBlank(name) || StrUtil.isBlank(phone)){ + return AjaxResult.error("璇疯緭鍏ユ纭殑淇℃伅!"); + } + if(!MatchUtils.isIdCard(sfzh)){ + return AjaxResult.error("韬唤璇佸彿鏍煎紡閿欒 璇锋牳瀵瑰悗閲嶆柊杈撳叆!"); + } + LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); + wq.eq(TjCustomer::getCusIdcard, sfzh); + wq.like(TjCustomer::getCusName, name); + TjCustomer customer = customerService.getOne(wq); + if(null != customer){ + if(!MatchUtils.isMobileNO( phone)){ + return AjaxResult.error("鎵嬫満鍙蜂笉姝g‘ 璇锋牳瀵瑰悗閲嶆柊杈撳叆!"); + } + customer.setCusPhone( phone); + customerService.updateById(customer); + return AjaxResult.success("淇敼鎴愬姛!"); + } + return AjaxResult.error("鏈煡璇㈠埌璇ヤ汉鍛�!"); + + } + } -- Gitblit v1.8.0