From 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 30 十二月 2024 17:04:09 +0800 Subject: [PATCH] zjh202412030 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 240 +++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 156 insertions(+), 84 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 0ff575c..31009db 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 @@ -31,6 +31,7 @@ import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethod; import com.ltkj.web.controller.his.HisApiMethodService; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -44,10 +45,7 @@ import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @@ -141,19 +139,24 @@ // @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT) public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { + + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); +// String sfjysjh = configService.selectConfigByKey("sfjysjh"); + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ -// if(cusIdcard.length()==18){ -// if (! MatchUtils.isIdCard(cusIdcard)) { -// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); -// } -// } -// if(cusIdcard.length()==9){ -// if (!MatchUtils.cardValidates(cusIdcard)) { -// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); -// } -// } -// Date dates = new Date(); -// final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); + if(sfjysfzh.equalsIgnoreCase("Y")){ + if(cusIdcard.length()==18){ + if (! MatchUtils.isIdCard(cusIdcard)) { + return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); + } + } + if(cusIdcard.length()==9){ + if (!MatchUtils.cardValidates(cusIdcard)) { + return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); + } + } + } + final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData"); if ("Y".equals(getInfoFromSqlData)) { @@ -161,7 +164,7 @@ LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard); if (null != tjPatByIdCard) { String fcardNo = tjPatByIdCard.getFcardNo(); - if (null != fcardNo && !fcardNo.equals("")) { + if (null != fcardNo && !fcardNo.isEmpty()) { fcardNo = fcardNo.trim(); tjPatByIdCard.setFcardNo(fcardNo); } else { @@ -206,16 +209,12 @@ String key = sysConfigService.selectConfigByKey("sfkqdyhis"); - - //end====2023.12.12 LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); wq.eq(TjReservation::getIdCard, cusIdcard); wq.eq(TjReservation::getIsExpire, 2); TjReservation tjReservation = tjReservationService.getOne(wq); if (tjReservation != null) { -// if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) { -// return AjaxResult.error("鏈埌棰勭害鏃堕棿"); -// } + if (null != tjReservation.getReservationTime() && DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(), tjReservation.getYxts())).before(new Date())) { tjReservation.setIsExpire(1); @@ -226,6 +225,9 @@ qw.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer tjCustomer1 = tjCustomerService.getOne(qw); if (tjCustomer1 != null) { + if (null != tjReservation.getCompanyId()) tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId())); + if (null != tjReservation.getCompany()) tjCustomer1.setCompName(tjReservation.getCompany()); + tjCustomerService.updateById(tjCustomer1); tjCustomer1.setTjType(tjReservation.getTjType()); tjCustomer1.setCusName(tjReservation.getName()); tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex())); @@ -241,38 +243,18 @@ tjCustomer1.setAgeUnit(tjReservation.getAgeUnit()); tjCustomer1.setCareer(tjReservation.getCareer()); tjCustomer1.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),"")); -/* if (null != key && key.equals("Y")) - { - AjaxResult result = controller.Outpincreateapply(tjCustomer1); - String result1 = getAjaxResult(result); - JSONObject object = getJSONObject(result1); - String code = object.getStr("ResultCode"); - if (code.equals("0")) { - JSONArray resultDatass = object.getJSONArray("ResultData"); - Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); - if (null != resultData && resultData.size() > 0) { - String pationid = resultData.get("PationId").toString(); - if (null != pationid) { -// tjCustomer1.setPationId(pationid); - tjCustomerService.updateById(tjCustomer1); - //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 - 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(tjCustomer1))); - } - } - } - }else { - tjCustomerService.updateById(tjCustomer1); - }*/ + tjCustomer1.setTeamNo(tjReservation.getTeamNo()); tjCustomer1.setCompId(tjReservation.getCompanyId()); tjCustomer1.setReservationId(tjReservation.getId()); tjCustomer1.setDiscount(tjReservation.getDiscount()); tjCustomer1.setGroupingId(tjReservation.getGroupingId()); + + if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId())); + if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany()); + +// tjCustomerService.updateById(tjCustomer1); + return success(tjCustomer1); }else { TjCustomer tjCustomer = new TjCustomer(); @@ -299,6 +281,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 != key && key.equals("Y")) { AjaxResult result = controller.Outpincreateapply(tjCustomer); @@ -308,7 +292,7 @@ if (code.equals("0")) { JSONArray resultDatass = object.getJSONArray("ResultData"); Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); - if (null != resultData && resultData.size() > 0) { + if (null != resultData && !resultData.isEmpty()) { String pationid = resultData.get("PationId").toString(); if (null != pationid) { tjCustomer.setPationId(pationid); @@ -442,11 +426,11 @@ @ApiOperation(value = "鏂板瀹㈡埛") @Transactional @RepeatSubmit + @Log(title = "鏂板瀹㈡埛淇℃伅", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄淇℃伅") TjCustomer tjCustomer) { if (null == tjCustomer.getCusIdcard() || null == tjCustomer.getCusPhone()) { return AjaxResult.error("璇疯緭鍏ヨ韩浠借瘉鍙锋垨鎵嬫満鍙�"); } - HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -454,21 +438,32 @@ String cusIdcard = tjCustomer.getCusIdcard(); boolean b = true; + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); + String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh"); if (null != tjCustomer.getIdType()) { if (tjCustomer.getIdType().equals("1")) { - b = MatchUtils.isIdCard(cusIdcard); + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysfzh.equalsIgnoreCase("Y")){ + if(cusIdcard.length()==18){ + b = MatchUtils.isIdCard(cusIdcard); + } + } + } else { + if(cusIdcard.length()==9){ + b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); + } + } -// else { -// b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); -// } } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ - if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) - return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + if(sfjysjh.equalsIgnoreCase("Y")){ + if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) + return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + } LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusIdcard, cusIdcard); @@ -495,8 +490,50 @@ AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date); if (tjCustomer1 != null) return tjCustomer1; } else { - if (tjCustomerService.save(tjCustomer)) { - return AjaxResult.success(tjCustomer); + 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> isjd = new HashMap<>(); + isjd.put("cusIdCard",tjCustomer.getCusIdcard()); + isjd.put("compId",""); + String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/isCreat", isjd); + 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.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } + }else { + HashMap<String, Object> map = new HashMap<>(); + map.put("cardId",""); + 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 post = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/creat", map); + JSONObject jsonObject = JSONUtil.parseObj(post); + if (jsonObject.getStr("code").equals("200")){ + JSONObject data = jsonObject.getJSONObject("data"); + tjCustomer.setPationId(data.getStr("pationId")); + tjCustomer.setCardId(data.getStr("cardId")); + tjCustomer.setHisJzkh(data.getStr("cardId")); + if (tjCustomerService.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } + }else return AjaxResult.error(); + } + }else { + if (tjCustomerService.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } } } return AjaxResult.error(); @@ -510,7 +547,7 @@ if (code.equals("0")) { JSONArray resultDatass = object.getJSONArray("ResultData"); Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); - if (null != resultData && resultData.size() > 0) { + if (null != resultData && !resultData.isEmpty()) { String pationid = resultData.get("PationId").toString(); if (null != pationid) { tjCustomer.setPationId(pationid); @@ -536,9 +573,11 @@ * 淇敼瀹㈡埛淇℃伅 */ //@PreAuthorize("@ss.hasPermi('hosp:customer:edit')") - @Log(title = "瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE) + @Log(title = "淇敼瀹㈡埛淇℃伅", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼瀹㈡埛淇℃伅") + @Transactional + @RepeatSubmit public AjaxResult edit(@RequestBody @ApiParam(value = "瀹㈡埛瀵硅薄") TjCustomer tjCustomer) { TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId()); @@ -550,12 +589,30 @@ if (null == cusPhone) { return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�"); } - /*LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); - wq.eq(TjCustomer::getCusPhone, cusPhone); - TjCustomer customer = tjCustomerService.getOne(wq); - if (customer != null) { - return AjaxResult.error("璇ユ墜鏈哄彿宸茶浣跨敤!"); - }*/ + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); + String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh"); + + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysfzh.equalsIgnoreCase("Y")){ + if(tjCustomer.getCusIdcard().length()==18){ + if (!(MatchUtils.isIdCard(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("鎵嬫満鍙烽敊璇�"); + } + tjCustomer.setCusPhone(cusPhone); tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),"")); if (tjCustomerService.updateById(tjCustomer)) { @@ -566,26 +623,41 @@ JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { - /* JSONArray resultDatass = object.getJSONArray("ResultData"); - Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); - if (null != resultData && resultData.size() > 0) { - String pationid = resultData.get("PationId").toString(); - if (null != pationid) { - tjCustomer.setPationId(pationid); - tjCustomerService.updateById(tjCustomer); - } - }*/ - //淇濆瓨淇敼鍏ュ弬鍑哄弬 -// object.putOpt("cardId",customer.getPationId()); -// LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); -// lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply"); -// HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); -// hisApiGetMethodService.save(object, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer))); 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(); + } + } + return AjaxResult.success(); } - return AjaxResult.success(); } return AjaxResult.error(); } @@ -598,6 +670,6 @@ @DeleteMapping("/{cusIds}") @ApiOperation(value = "鍒犻櫎瀹㈡埛") public AjaxResult remove(@PathVariable @ApiParam(value = "鎵�鍒犻櫎瀹㈡埛鐨刬d") Long[] cusIds) { - return toAjax(tjCustomerService.deleteTjCustomerByCusIds(cusIds)); + return toAjax(tjCustomerService.removeByIds(Arrays.asList(cusIds))); } } -- Gitblit v1.8.0