From b7adb9e5316030aabfb90a8ff1b43c848aa550ec Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 05 六月 2025 12:37:45 +0800 Subject: [PATCH] 小程序查报告接口增加返回检查综述以及医师建议 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 267 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 181 insertions(+), 86 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java index 404743c..def672b 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java @@ -35,6 +35,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.DigestUtils; @@ -45,6 +46,8 @@ import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -58,6 +61,7 @@ @RestController @RequestMapping("/hosp/customer") @Api(tags = "瀹㈡埛绠$悊鎺ュ彛") +@Slf4j public class TjCustomerController extends BaseController { @Resource private ITjCustomerService tjCustomerService; @@ -151,20 +155,19 @@ if (!"".equals(cusIdcard) && cusIdcard != null) { String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); -// String sfjysjh = configService.selectConfigByKey("sfjysjh"); //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ if(sfjysfzh.equalsIgnoreCase("Y")){ if(cusIdcard.length()==18){ - if (! MatchUtils.isIdCard(cusIdcard)) { + if (!MatchUtils.isIdCard(cusIdcard)) { return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); } } - if(cusIdcard.length()==9){ - if (!MatchUtils.cardValidates(cusIdcard)) { - return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); - } - } +// if(cusIdcard.length()==9){ +// if (!MatchUtils.cardValidates(cusIdcard)) { +// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); +// } +// } } @@ -241,7 +244,11 @@ tjCustomer1.setTjType(tjReservation.getTjType()); tjCustomer1.setCusName(tjReservation.getName()); tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer1.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); + try { + tjCustomer1.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard())); + } catch (Exception e) { + return AjaxResult.error("韬唤璇佸彿涓嶆纭�"); + } tjCustomer1.setCusPhone(tjReservation.getPhoe()); tjCustomer1.setCusEmail(tjReservation.getEmail()); tjCustomer1.setCusAddr(tjReservation.getAddress()); @@ -261,7 +268,7 @@ tjCustomer1.setGroupingId(tjReservation.getGroupingId()); // if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId())); -// if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany()); + if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany()); // tjCustomerService.updateById(tjCustomer1); @@ -271,7 +278,11 @@ tjCustomer.setCusIdcard(tjReservation.getIdCard()); tjCustomer.setCusName(tjReservation.getName()); tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); + try { + tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard())); + } catch (Exception e) { + return AjaxResult.error("韬唤璇佸彿涓嶆纭�"); + } tjCustomer.setCusPhone(tjReservation.getPhoe()); tjCustomer.setCusEmail(tjReservation.getEmail()); tjCustomer.setCusAddr(tjReservation.getAddress()); @@ -291,8 +302,8 @@ tjCustomer.setCusPassword(substring); tjCustomer.setTjType(tjReservation.getTjType()); tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),"")); -// if(null !=tjReservation.getCompanyId())tjCustomer.setDictCompId(Long.valueOf(tjReservation.getCompanyId())); -// if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany()); + if(null !=tjReservation.getCompanyId())tjCustomer.setCompId(tjReservation.getCompanyId()); + if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany()); if (null != key && key.equals("Y")) { AjaxResult result = controller.Outpincreateapply(tjCustomer); @@ -483,12 +494,13 @@ b = MatchUtils.isIdCard(cusIdcard); } } - } else { - if(cusIdcard.length()==9){ - b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); - } - } +// else { +// if(cusIdcard.length()==9){ +// b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); +// } +// +// } } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } @@ -504,20 +516,18 @@ wq.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer customer = tjCustomerService.getOne(wq); if (customer != null) { -// BeanUtils.copyBeanProp(tjCustomer, customer); -// String substring = cusIdcard.substring(cusIdcard.length() - 6); -// substring = DigestUtils.md5DigestAsHex(substring.getBytes()); -// customer.setCusPassword(substring); -// customer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); -// return AjaxResult.success(tjCustomerService.updateById(customer)); return AjaxResult.error("璇ヤ汉鍛樺凡瀛樺湪"); } String substring = cusIdcard.substring(cusIdcard.length() - 6); substring = DigestUtils.md5DigestAsHex(substring.getBytes()); tjCustomer.setCusPassword(substring); -// if (tjCustomer.getIdType().equals("1")) { - tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); -// } + if(cusIdcard.length()==18) { + try { + tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard())); + } catch (Exception e) { + return AjaxResult.error("韬唤璇佸彿涓嶆纭�"); + } + } tjCustomer.setCusNumber(0L); tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),"")); String config = sysConfigService.selectConfigByKey("sfkqdyhis"); @@ -558,11 +568,19 @@ return tjCustomer; }else { HashMap<String, Object> map = new HashMap<>(); - map.put("cardId",""); + // 1鏄韩浠借瘉 + // 鏍规嵁鍑屼簯his鎺ュ彛鍙涓嶆槸鍥藉唴韬唤璇佸彿 韬唤璇佸瓧娈典笉浼� 灏嗗彿鐮佷紶閫掑埌鍗″彿瀛楁骞跺崟浣嶇紪鍙峰繀濉� 鍗曚綅缂栧彿闅忎究鍐� + if (!tjCustomer.getIdType().equals("1")){ + map.put("cardId",tjCustomer.getCusIdcard()); + map.put("compId",tjCustomer.getCusIdcard()); + map.put("cusIdCard", ""); + }else { + map.put("cardId",""); + map.put("cusIdCard", tjCustomer.getCusIdcard()); + map.put("compId",""); + } map.put("cusName", tjCustomer.getCusName()); map.put("cusSex", tjCustomer.getCusSex()); - map.put("cusIdCard", tjCustomer.getCusIdcard()); - map.put("compId",""); map.put("cusBrithday", tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : ""); map.put("cusAddr", tjCustomer.getCusAddr()); map.put("cusPhone", tjCustomer.getCusPhone()); @@ -621,86 +639,163 @@ @RepeatSubmit public AjaxResult edit(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄") TjCustomer tjCustomer) { - TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId()); - if(null==customer){ - return AjaxResult.error("璇ヤ汉鍛樹笉瀛樺湪!"); - } + try { + TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId()); + if(null==customer){ + return AjaxResult.error("璇ヤ汉鍛樹笉瀛樺湪!"); + } - String cusPhone = tjCustomer.getCusPhone(); - if (null == cusPhone) { - return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�"); - } - String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); - String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh"); + String cusPhone = tjCustomer.getCusPhone(); + if (null == cusPhone) { + return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�"); + } + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); + String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh"); //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ if(sfjysfzh.equalsIgnoreCase("Y")){ - if(tjCustomer.getCusIdcard().length()==18){ + if(customer.getIdType().equals("1")){ if (!(MatchUtils.isIdCard(tjCustomer.getCusIdcard()))) return AjaxResult.error("韬唤璇佸彿閿欒"); } - if(tjCustomer.getCusIdcard().length()==9){ - if (!MatchUtils.cardValidates(tjCustomer.getCusIdcard())) { - return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); - } - } +// if(tjCustomer.getCusIdcard().length()==9){ +// if (!MatchUtils.cardValidates(tjCustomer.getCusIdcard())) { +// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); +// } +// } } - //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ - if(sfjysjh.equalsIgnoreCase("Y")){ - if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) - return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysjh.equalsIgnoreCase("Y")){ + if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) + return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + } + + tjCustomer.setCusPhone(cusPhone); + tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),"")); + tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard())); + if (tjCustomerService.updateById(tjCustomer)) { + String config = sysConfigService.selectConfigByKey("sfkqdyhis"); + if (null != config && config.equals("Y")) { + AjaxResult result = controller.Outpincreateapply(tjCustomer); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (code.equals("0")) { + return AjaxResult.success(); + } + return AjaxResult.error(object.getStr("ResultContent")); + }else { + String s = sysConfigService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")){ + String apiUrl = sysConfigService.selectConfigByKey("common_api_url"); + String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm"); + HashMap<String, Object> map = new HashMap<>(); + map.put("pationId",customer.getPationId()); + map.put("cardId",customer.getHisJzkh()); + map.put("cusName",tjCustomer.getCusName()); + map.put("cusSex",tjCustomer.getCusSex()); + map.put("cusIdCard",tjCustomer.getCusIdcard()); + map.put("compId",""); + map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : ""); + map.put("cusAddr",tjCustomer.getCusAddr()); + map.put("cusPhone",tjCustomer.getCusPhone()); + map.put("compName",""); + String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/update", map); + JSONObject isCreatjsonObject = JSONUtil.parseObj(isCreat); + if (isCreatjsonObject.getStr("code").equals("200")){ + // JSONObject data = isCreatjsonObject.getJSONObject("data"); + // tjCustomer.setPationId(data.getStr("pationId")); + // tjCustomer.setCardId(data.getStr("cardId")); + // tjCustomer.setHisJzkh(data.getStr("cardId")); + // if (tjCustomerService.updateById(tjCustomer)) { + return AjaxResult.success(tjCustomer); + // } + }else { + return AjaxResult.error(); + } + } + return AjaxResult.success(); + } + } + return AjaxResult.success(); + } catch (Exception e) { + log.error(e.toString()); + throw new RuntimeException(e); + } - tjCustomer.setCusPhone(cusPhone); - tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),"")); - if (tjCustomerService.updateById(tjCustomer)) { + } + + + + @Log(title = "娉ㄥ唽his瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE) + @PostMapping(value = "/zhuceTjCustomer") + @ApiOperation(value = "娉ㄥ唽his瀹㈡埛淇℃伅") + @Transactional + @RepeatSubmit + public AjaxResult zhuceTjCustomer(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄") TjCustomer tjCustomer) { + + try { + TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId()); + if(null==customer){ + return AjaxResult.error("璇ヤ汉鍛樹笉瀛樺湪!"); + } + + if(!customer.getPationId().equals("0")){ + return AjaxResult.error("璇ヤ汉鍛樺凡缁忔敞鍐�!"); + } String config = sysConfigService.selectConfigByKey("sfkqdyhis"); if (null != config && config.equals("Y")) { - AjaxResult result = controller.Outpincreateapply(tjCustomer); + AjaxResult result = controller.Outpincreateapply(customer); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { - return AjaxResult.success(); - } - return AjaxResult.error(object.getStr("ResultContent")); - }else { - String s = sysConfigService.selectConfigByKey("is_request_common_his_api"); - if (null != s && s.equals("Y")){ - String apiUrl = sysConfigService.selectConfigByKey("common_api_url"); - String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm"); - HashMap<String, Object> map = new HashMap<>(); - map.put("pationId",tjCustomer.getPationId()); - map.put("cardId",tjCustomer.getCardId()); - map.put("cusName",tjCustomer.getCusName()); - map.put("cusSex",tjCustomer.getCusSex()); - map.put("cusIdCard",tjCustomer.getCusIdcard()); - map.put("compId",""); - map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : ""); - map.put("cusAddr",tjCustomer.getCusAddr()); - map.put("cusPhone",tjCustomer.getCusPhone()); - map.put("compName",""); - String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/update", map); - JSONObject isCreatjsonObject = JSONUtil.parseObj(isCreat); - if (isCreatjsonObject.getStr("code").equals("200")){ -// JSONObject data = isCreatjsonObject.getJSONObject("data"); -// tjCustomer.setPationId(data.getStr("pationId")); -// tjCustomer.setCardId(data.getStr("cardId")); -// tjCustomer.setHisJzkh(data.getStr("cardId")); -// if (tjCustomerService.updateById(tjCustomer)) { - return AjaxResult.success(tjCustomer); -// } - }else { - return AjaxResult.error(); + JSONArray resultDatass = object.getJSONArray("ResultData"); + Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); + if (null != resultData && !resultData.isEmpty()) { + String pationid = resultData.get("PationId").toString(); + if (null != pationid) { + customer.setPationId(pationid); + //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 + resultData.put("cardId",pationid); + JSONObject object4 = JSONUtil.parseObj(resultData); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + hisApiGetMethodService.save(object4, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer))); + } + } + if (tjCustomerService.updateById(customer)) { + return AjaxResult.success("娉ㄥ唽鎴愬姛"); + } + }else{ + return AjaxResult.error("娉ㄥ唽澶辫触"); } - return AjaxResult.success(); } + + String s = sysConfigService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")){ + TjCustomer requestCommonHisApi = isRequestCommonHisApi(customer); + if (null !=requestCommonHisApi){ + if (tjCustomerService.updateById(customer)) { + return AjaxResult.success("娉ㄥ唽鎴愬姛"); + } + }else { + return AjaxResult.error("娉ㄥ唽澶辫触"); + } + } + return AjaxResult.error("璇峰厛杩炴帴his鏈嶅姟"); + } catch (Exception e) { + log.error(e.toString()); + throw new RuntimeException(e); + } - return AjaxResult.error(); + } /** -- Gitblit v1.8.0