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 | 239 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 171 insertions(+), 68 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 4dbdc3a..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 @@ -4,6 +4,7 @@ import javax.servlet.http.HttpServletResponse; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.json.JSONArray; @@ -30,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; @@ -43,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; @@ -140,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)) { @@ -160,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 { @@ -205,17 +209,14 @@ 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(tjReservation.getReservationTime()).before(new Date())) { + + if (null != tjReservation.getReservationTime() && DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(), + tjReservation.getYxts())).before(new Date())) { tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); @@ -224,10 +225,13 @@ 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())); - tjCustomer1.setCusBrithday(tjReservation.getBirthday()); + tjCustomer1.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); tjCustomer1.setCusPhone(tjReservation.getPhoe()); tjCustomer1.setCusEmail(tjReservation.getEmail()); tjCustomer1.setCusAddr(tjReservation.getAddress()); @@ -239,19 +243,25 @@ tjCustomer1.setAgeUnit(tjReservation.getAgeUnit()); tjCustomer1.setCareer(tjReservation.getCareer()); tjCustomer1.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),"")); - 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(); tjCustomer.setCusIdcard(tjReservation.getIdCard()); tjCustomer.setCusName(tjReservation.getName()); tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer.setCusBrithday(tjReservation.getBirthday()); + tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); tjCustomer.setCusPhone(tjReservation.getPhoe()); tjCustomer.setCusEmail(tjReservation.getEmail()); tjCustomer.setCusAddr(tjReservation.getAddress()); @@ -263,7 +273,7 @@ tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); tjCustomer.setCareer(tjReservation.getCareer()); tjCustomer.setDwPhone(tjReservation.getDwPhone()); - tjCustomer.setCardId(tjReservation.getCardId()); +// tjCustomer.setCardId(tjReservation.getCardId()); tjCustomer.setIndexCard(tjReservation.getIndexCard()); //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 String substring = cusIdcard.substring(cusIdcard.length() - 6); @@ -271,7 +281,8 @@ tjCustomer.setCusPassword(substring); tjCustomer.setTjType(tjReservation.getTjType()); tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),"")); - tjCustomerService.save(tjCustomer); + 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); @@ -281,11 +292,11 @@ 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); - tjCustomerService.updateById(tjCustomer); + tjCustomerService.save(tjCustomer); //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 resultData.put("cardId",pationid); JSONObject object4 = JSONUtil.parseObj(resultData); @@ -296,6 +307,8 @@ } } } + }else { + tjCustomerService.save(tjCustomer); } tjCustomer.setTeamNo(tjReservation.getTeamNo()); tjCustomer.setCompId(tjReservation.getCompanyId()); @@ -314,7 +327,7 @@ if (null == tjCustomerServiceOne) { return AjaxResult.error("璇ヤ汉鍛樹俊鎭笉瀛樺湪璇峰厛杩涜鐧昏!!!"); } - if (null != key && key.equals("Y")) { +// if (null != key && key.equals("Y")) { String cardId = tjCustomerServiceOne.getCardId(); if (null != cardId && !cardId.equals("0")) { int i = tjOrderService.selectTjOrderByCardId(cardId); @@ -323,8 +336,11 @@ } } +// } + if(!tjCustomerServiceOne.getAge().equals(String.valueOf(DateUtil.ageOfNow(tjCustomerServiceOne.getCusBrithday())))){ + tjCustomerServiceOne.setAge(String.valueOf(DateUtil.ageOfNow(tjCustomerServiceOne.getCusBrithday()))); + tjCustomerService.updateById(tjCustomerServiceOne); } - return AjaxResult.success(tjCustomerServiceOne); } @@ -410,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"); @@ -422,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); @@ -463,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(); @@ -478,11 +547,11 @@ 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); - tjCustomerService.updateById(tjCustomer); +// tjCustomerService.updateById(tjCustomer); //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 resultData.put("cardId",pationid); JSONObject object4 = JSONUtil.parseObj(resultData); @@ -504,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()); @@ -518,43 +589,75 @@ 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)) { String config = sysConfigService.selectConfigByKey("sfkqdyhis"); if (null != config && config.equals("Y")) { - tjCustomer.setPationId(customer.getPationId()); AjaxResult result = controller.Outpincreateapply(tjCustomer); 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) { - 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(); } @@ -567,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