From dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 03 七月 2025 09:12:49 +0800 Subject: [PATCH] 2025-07-03 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 573 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 443 insertions(+), 130 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 35a03ec..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 @@ -3,15 +3,22 @@ import javax.annotation.Resource; 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; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.common.annotation.Log; +import com.ltkj.common.annotation.RepeatSubmit; +import com.ltkj.common.enums.BusinessType; import com.ltkj.common.enums.DataSourceType; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; +import com.ltkj.hosp.domain.HisApiConfig; import com.ltkj.hosp.domain.TjCustomerBlack; import com.ltkj.hosp.domain.TjReservation; import com.ltkj.hosp.hisDto.OutpinregapplyDto; @@ -24,10 +31,13 @@ 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; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; import com.ltkj.common.core.controller.BaseController; @@ -36,10 +46,9 @@ 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.time.LocalDateTime; +import java.time.ZoneId; +import java.util.*; import java.util.stream.Collectors; @@ -52,13 +61,16 @@ @RestController @RequestMapping("/hosp/customer") @Api(tags = "瀹㈡埛绠$悊鎺ュ彛") +@Slf4j public class TjCustomerController extends BaseController { @Resource private ITjCustomerService tjCustomerService; - + @Autowired + private HisApiGetMethodService hisApiGetMethodService; @Resource private ITjReservationService tjReservationService; - + @Autowired + private HisApiConfigService hisApiConfigService; @Resource private ISysConfigService sysConfigService; @@ -113,13 +125,23 @@ // } // } List<String> strings = tjOrderService.selectTjOrderByCardId1(); - if (null != strings && strings.size() > 0) { + if (null != strings && !strings.isEmpty()) { List<Map<String, Object>> collect = maps.stream() .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); return AjaxResult.success(collect); } return AjaxResult.success(maps); // return AjaxResult.success(maps); + } + + + @GetMapping("/vcustomerlist") + @ApiOperation(value = "绛惧埌鐧昏椤甸潰濮撳悕鏍忓脊妗嗘帴鍙�") + public AjaxResult vcustomerlist(@RequestParam(required = false) String name, + @RequestParam(required = false) String sjh, + @RequestParam(required = false) String sfzh) { + List<Map<String, Object>> maps = tjCustomerService.vcustomerlist(name, sjh, sfzh); + return AjaxResult.success(maps); } @@ -131,25 +153,31 @@ // @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT) public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { + + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ -// if(cusIdcard.length()==18){ -// if (! MatchUtils.isIdCard(cusIdcard)) { -// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); + 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("韬唤璇佸彿鐮侀敊璇�"); +// } // } -// } -// if(cusIdcard.length()==9){ -// if (!MatchUtils.cardValidates(cusIdcard)) { -// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); -// } -// } - //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + } + + final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData"); if ("Y".equals(getInfoFromSqlData)) { //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭� 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 { @@ -191,16 +219,17 @@ } } - //end====2023.12.12 + + String key = sysConfigService.selectConfigByKey("sfkqdyhis"); + String s = sysConfigService.selectConfigByKey("is_request_common_his_api"); 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("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�"); @@ -209,10 +238,17 @@ 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()); + 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()); @@ -223,51 +259,116 @@ tjCustomer1.setAge(tjReservation.getAge()); 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())); + 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()); + tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); + tjCustomer.setCusNational(String.valueOf(tjReservation.getNation())); + + tjCustomer.setIdType(tjReservation.getIdType()); + tjCustomer.setAge(tjReservation.getAge()); + tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); + tjCustomer.setCareer(tjReservation.getCareer()); + tjCustomer.setDwPhone(tjReservation.getDwPhone()); +// tjCustomer.setCardId(tjReservation.getCardId()); + tjCustomer.setIndexCard(tjReservation.getIndexCard()); + //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 + String substring = cusIdcard.substring(cusIdcard.length() - 6); + substring = DigestUtils.md5DigestAsHex(substring.getBytes()); + tjCustomer.setCusPassword(substring); + tjCustomer.setTjType(tjReservation.getTjType()); + tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),"")); + 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); + 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.isEmpty()) { + String pationid = resultData.get("PationId").toString(); + if (null != pationid) { + tjCustomer.setPationId(pationid); + tjCustomerService.save(tjCustomer); + //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 + 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))); + } + } + } + } else if(null != s && s.equalsIgnoreCase("Y")) { + TjCustomer requestCommonHisApi = isRequestCommonHisApi(tjCustomer); + if (null !=requestCommonHisApi){ + tjCustomerService.save(requestCommonHisApi); + } + }else { + tjCustomerService.save(tjCustomer); + } + tjCustomer.setTeamNo(tjReservation.getTeamNo()); + tjCustomer.setCompId(tjReservation.getCompanyId()); + tjCustomer.setReservationId(tjReservation.getId()); + tjCustomer.setDiscount(tjReservation.getDiscount()); + tjCustomer.setGroupingId(tjReservation.getGroupingId()); + return success(tjCustomer); } - TjCustomer tjCustomer = new TjCustomer(); - tjCustomer.setCusIdcard(tjReservation.getIdCard()); - tjCustomer.setCusName(tjReservation.getName()); - tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex())); - tjCustomer.setCusBrithday(tjReservation.getBirthday()); - tjCustomer.setCusPhone(tjReservation.getPhoe()); - tjCustomer.setCusEmail(tjReservation.getEmail()); - tjCustomer.setCusAddr(tjReservation.getAddress()); - tjCustomer.setCusMarryStatus(String.valueOf(tjReservation.getMarriage())); - tjCustomer.setCusNational(String.valueOf(tjReservation.getNation())); - tjCustomer.setIdType(tjReservation.getIdType()); - tjCustomer.setAge(tjReservation.getAge()); - tjCustomer.setAgeUnit(tjReservation.getAgeUnit()); - tjCustomer.setCareer(tjReservation.getCareer()); - tjCustomer.setDwPhone(tjReservation.getDwPhone()); - tjCustomer.setCardId(tjReservation.getCardId()); - tjCustomer.setIndexCard(tjReservation.getIndexCard()); - - //鎴彇瀵嗙爜鑷姩鐢熸垚set杩涘幓 - String substring = cusIdcard.substring(cusIdcard.length() - 6); - substring = DigestUtils.md5DigestAsHex(substring.getBytes()); - tjCustomer.setCusPassword(substring); - tjCustomer.setTjType(tjReservation.getTjType()); - tjCustomerService.save(tjCustomer); - tjCustomer.setTeamNo(tjReservation.getTeamNo()); - tjCustomer.setCompId(tjReservation.getCompanyId()); - tjCustomer.setReservationId(tjReservation.getId()); - tjCustomer.setDiscount(tjReservation.getDiscount()); - tjCustomer.setGroupingId(tjReservation.getGroupingId()); - return success(tjCustomer); } - LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); - qw.eq(TjCustomer::getCusIdcard, cusIdcard); - TjCustomer tjCustomer = tjCustomerService.getOne(qw); - return AjaxResult.success("鏆傛棤棰勭害淇℃伅", tjCustomer); + + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + LambdaQueryWrapper<TjCustomer> customerLambdaQueryWrapper = new LambdaQueryWrapper<>(); + customerLambdaQueryWrapper.eq(TjCustomer::getCusIdcard, cusIdcard); + TjCustomer tjCustomerServiceOne = tjCustomerService.getOne(customerLambdaQueryWrapper); + if (null == tjCustomerServiceOne) { + return AjaxResult.error("璇ヤ汉鍛樹俊鎭笉瀛樺湪璇峰厛杩涜鐧昏!!!"); + } +// if (null != key && key.equals("Y")) { + String cardId = tjCustomerServiceOne.getCardId(); + if (null != cardId && !cardId.equals("0")) { +// int i = tjOrderService.selectTjOrderByCardId(cardId); +// if (i > 0) { +// return AjaxResult.error("涓嶅彲閲嶅绛惧埌"); +// } + } + +// } + 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); + } return error("韬唤璇佸彿涓嶅瓨鍦�"); } @@ -297,6 +398,27 @@ } + @GetMapping("/getcusList") + @ApiOperation(value = "妗f绠$悊鎺ュ彛") + public TableDataInfo getcusList(TjCustomer tjCustomer) { + startPage(); + List<TjCustomer> list = tjCustomerService.getcusList(tjCustomer); + if (null != list && !list.isEmpty()) { + for (TjCustomer customer : list) { + customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); + customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); + TjCustomerBlack tjCustomerBlack = blackService.isTjCustomerBlack(String.valueOf(customer.getCusId())); + if (null != tjCustomerBlack) { + customer.setIsBlack("Y"); + } else { + customer.setIsBlack("N"); + } + } + } + return getDataTable(list); + } + + /** * 鏌ヨ瀹㈡埛淇℃伅鍒楄〃 */ @@ -306,9 +428,8 @@ public TableDataInfo list(TjCustomer tjCustomer) { startPage(); List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { for (TjCustomer customer : list) { -// customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); TjCustomerBlack tjCustomerBlack = blackService.isTjCustomerBlack(String.valueOf(customer.getCusId())); @@ -349,11 +470,13 @@ */ @PostMapping @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"); @@ -361,12 +484,22 @@ 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 { -// b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); +// if(cusIdcard.length()==9){ +// b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); +// } +// // } } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); @@ -374,35 +507,96 @@ 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); 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"); - if(null !=config && config.equals("Y")){ + if (null != config && config.equals("Y")) { AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date); if (tjCustomer1 != null) return tjCustomer1; + } else { + String s = sysConfigService.selectConfigByKey("is_request_common_his_api"); + if (null != s && s.equals("Y")){ + TjCustomer requestCommonHisApi = isRequestCommonHisApi(tjCustomer); + if (null !=requestCommonHisApi){ + if (tjCustomerService.save(requestCommonHisApi)) { + return AjaxResult.success(requestCommonHisApi); + } + } + }else { + if (tjCustomerService.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } + } } return AjaxResult.error(); -} + } + + private TjCustomer isRequestCommonHisApi(TjCustomer tjCustomer) { + 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")); + return tjCustomer; + }else { + HashMap<String, Object> map = new HashMap<>(); + // 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("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")); + return tjCustomer; + } + } + return null; + } private AjaxResult suijieHisXinXi(TjCustomer tjCustomer, String date) { AjaxResult result = controller.Outpincreateapply(tjCustomer); @@ -412,77 +606,196 @@ 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) { - OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); - outpinregapplyDto.setPationid(pationid); -// outpinregapplyDto.setHisRegistrationId(pationid); - outpinregapplyDto.setSqysbm(SecurityUtils.getUsername()); - outpinregapplyDto.setMzksbm("0101"); - outpinregapplyDto.setCzybm("00029"); - outpinregapplyDto.setSfjz("0"); - outpinregapplyDto.setGhzlbm("01"); - outpinregapplyDto.setYwckbm("0001"); - outpinregapplyDto.setSflstd("0"); - outpinregapplyDto.setGhrq(date); - //闂ㄨ瘖鎸傚彿 - AjaxResult ajaxResult = controller.Outpinregapply(outpinregapplyDto); - String result2 = getAjaxResult(ajaxResult); - JSONObject object1 = getJSONObject(result2); - String code1 = object1.getStr("ResultCode"); - if (code1.equals("0")) { - JSONArray resultDatas = object1.getJSONArray("ResultData"); - if (null != resultDatas && resultDatas.size() > 0) { - Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0); - String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); - if (null != hisRegistrationId) { - //闂ㄨ瘖鍖荤敓鎺ヨ瘖 - AjaxResult result3 = controller.Outpinconapply(hisRegistrationId, date, SecurityUtils.getUsername()); - String result4 = getAjaxResult(result3); - JSONObject object2 = getJSONObject(result4); - String code2 = object2.getStr("ResultCode"); - if (code2.equals("0")) { - Map<String, Object> data = object2.getJSONObject("ResultData"); - String toString = data.get("his_registration_id").toString(); -// tjCustomer.setPationId(pationid); - tjCustomer.setCardId(toString); -// tjCustomerService.updateById(tjCustomer); - } - } - } - } - } + tjCustomer.setPationId(pationid); +// tjCustomerService.updateById(tjCustomer); + //淇濆瓨娉ㄥ唽鍏ュ弬鍑哄弬 + 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.save(tjCustomer)) { return AjaxResult.success(tjCustomer); } } - return null; + return AjaxResult.error(object.getStr("ResultContent")); } /** * 淇敼瀹㈡埛淇℃伅 */ //@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) { - String cusPhone = tjCustomer.getCusPhone(); - if (null == cusPhone) { - 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"); + + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysfzh.equalsIgnoreCase("Y")){ + 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("韬唤璇佸彿鐮侀敊璇�"); +// } +// } + } + + + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝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); + } - /*LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); - wq.eq(TjCustomer::getCusPhone, cusPhone); - TjCustomer customer = tjCustomerService.getOne(wq); - if (customer != null) { - return AjaxResult.error("璇ユ墜鏈哄彿宸茶浣跨敤!"); - }*/ - tjCustomer.setCusPhone(cusPhone); - return toAjax(tjCustomerService.updateTjCustomer(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(customer); + 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.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("娉ㄥ唽澶辫触"); + } + } + + 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); + + } + } /** @@ -493,6 +806,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