From a0385d39fd55aaf45f43e2e12e446b9c933efc1c Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期五, 07 六月 2024 15:01:03 +0800 Subject: [PATCH] zjh 本地 2024/06/07 --1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 168 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 129 insertions(+), 39 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 1be7465..35a03ec 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 @@ -2,22 +2,32 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; + import cn.hutool.core.date.DateUtil; +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.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.TjCustomerBlack; import com.ltkj.hosp.domain.TjReservation; +import com.ltkj.hosp.hisDto.OutpinregapplyDto; import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; import com.ltkj.hosp.sqlDomain.LtkjMiddleHead; import com.ltkj.hosp.sqlDomain.LtkjTjPat; import com.ltkj.system.service.ISysConfigService; +import com.ltkj.web.controller.his.HisApiGetMethodService; +import com.ltkj.web.controller.his.HisApiMethod; +import com.ltkj.web.controller.his.HisApiMethodService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; import com.ltkj.common.core.controller.BaseController; @@ -64,13 +74,29 @@ private ITjOrderService tjOrderService; @Resource private TjCustomerBlackService blackService; + @Autowired + private HisApiMethod hisApiMethod; + @Autowired + private HisApiMethodService controller; + + + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 + public JSONObject getJSONObject(String builder) { + String Response = JSONUtil.parseObj(builder).getStr("Response"); + return JSONUtil.parseObj(Response); + } + + //鑾峰彇鏂规硶杩斿洖鍊间俊鎭� + public String getAjaxResult(AjaxResult result) { + return result.get("data").toString(); + } @GetMapping("/newGetTjPat") @ApiOperation(value = "鏌ヨhis鏁版嵁搴撹繑鍥炴柊鐨勬暟鎹�") - public AjaxResult newGetTjPat(@RequestParam(required = false)String pacCode, - @RequestParam(required = false)String pacName, - @RequestParam(required = false)String pacRemark) { - List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode,pacName,pacRemark); + public AjaxResult newGetTjPat(@RequestParam(required = false) String pacCode, + @RequestParam(required = false) String pacName, + @RequestParam(required = false) String pacRemark) { + List<Map<String, Object>> maps = testMapper.newGetTjPat(pacCode, pacName, pacRemark); DynamicDataSourceContextHolder.clearDataSourceType(); // List<Map<String, Object>> list=new ArrayList<>(); // if(null !=maps && maps.size()>0){ @@ -87,15 +113,14 @@ // } // } List<String> strings = tjOrderService.selectTjOrderByCardId1(); - if(null !=strings && strings.size()>0){ + if (null != strings && strings.size() > 0) { List<Map<String, Object>> collect = maps.stream() - .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); + .filter(item -> !strings.contains(item.get("pacCode").toString())).collect(Collectors.toList()); return AjaxResult.success(collect); } return AjaxResult.success(maps); // return AjaxResult.success(maps); } - /** @@ -119,27 +144,27 @@ // } //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData"); - if ("Y".equals(getInfoFromSqlData)){ + if ("Y".equals(getInfoFromSqlData)) { //鏍规嵁韬唤璇佸彿浠巋is鏌ヤ俊鎭� LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard); - if(null != tjPatByIdCard){ + if (null != tjPatByIdCard) { String fcardNo = tjPatByIdCard.getFcardNo(); - if(null !=fcardNo && !fcardNo.equals("")){ - fcardNo=fcardNo.trim(); + if (null != fcardNo && !fcardNo.equals("")) { + fcardNo = fcardNo.trim(); tjPatByIdCard.setFcardNo(fcardNo); - }else { - fcardNo=cusIdcard.trim(); + } else { + fcardNo = cusIdcard.trim(); tjPatByIdCard.setFcardNo(fcardNo); } //鏍规嵁韬唤璇佸彿浠庢暟鎹簱鎷夸俊鎭� 娌℃湁鐨勮瘽淇濆瓨 LtkjTjPat ltkjTjPat = tjvLtkjvtjpatService.getLtkjTjPatByCusIdCard(cusIdcard); - if(null==ltkjTjPat){ + if (null == ltkjTjPat) { tjvLtkjvtjpatService.save(tjPatByIdCard); } DynamicDataSourceContextHolder.clearDataSourceType(); //鍐嶆牴鎹韩浠借瘉鍙峰啓customer琛� TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjPatByIdCard.getFcardNo()); - if(null == tjCustomer){ + if (null == tjCustomer) { //涓虹┖鐨勮瘽鎺夊瓨鍌ㄨ繃绋嬩繚瀛樺埌瀹㈡埛琛� testMapper.getTjPatByCusId(cusIdcard); LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); @@ -148,11 +173,11 @@ customer.setReservationId(customer.getCardId()); extracted(customer); return success(customer); - }else { + } else { String cardId = tjPatByIdCard.getFcardId(); - if(null !=cardId && !cardId.equals("0")){ + if (null != cardId && !cardId.equals("0")) { int i = tjOrderService.selectTjOrderByCardId(cardId); - if(i>0){ + if (i > 0) { return AjaxResult.error("涓嶅彲閲嶅绛惧埌"); } @@ -242,7 +267,7 @@ LambdaQueryWrapper<TjCustomer> qw = new LambdaQueryWrapper<>(); qw.eq(TjCustomer::getCusIdcard, cusIdcard); TjCustomer tjCustomer = tjCustomerService.getOne(qw); - return AjaxResult.success("鏆傛棤棰勭害淇℃伅",tjCustomer); + return AjaxResult.success("鏆傛棤棰勭害淇℃伅", tjCustomer); } return error("韬唤璇佸彿涓嶅瓨鍦�"); } @@ -251,16 +276,16 @@ //浠巋is琛ㄦ姄鏁版嵁 LtkjMiddleHead pat = testMapper.getMiddleHeadByPartId(customer.getCardId()); if (null != pat) { - LambdaQueryWrapper<LtkjMiddleHead> wq1=new LambdaQueryWrapper<>(); - wq1.eq(LtkjMiddleHead::getFeadId,customer.getCardId()); + LambdaQueryWrapper<LtkjMiddleHead> wq1 = new LambdaQueryWrapper<>(); + wq1.eq(LtkjMiddleHead::getFeadId, customer.getCardId()); headService.remove(wq1); - LambdaQueryWrapper<LtkjMiddleDetail> wq0=new LambdaQueryWrapper<>(); - wq0.eq(LtkjMiddleDetail::getFheadId,pat.getFeadId()); + LambdaQueryWrapper<LtkjMiddleDetail> wq0 = new LambdaQueryWrapper<>(); + wq0.eq(LtkjMiddleDetail::getFheadId, pat.getFeadId()); middleDetailService.remove(wq0); List<LtkjMiddleDetail> list = testMapper.getMiddleDetailByFeadId(pat.getFeadId()); DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); LtkjMiddleHead o = headService.getMiddleHeadByPartId(customer.getCardId()); - if(o==null){ + if (o == null) { headService.save(pat); for (LtkjMiddleDetail ltkjMiddleDetail : list) { middleDetailService.save(ltkjMiddleDetail); @@ -281,16 +306,16 @@ public TableDataInfo list(TjCustomer tjCustomer) { startPage(); List<TjCustomer> list = tjCustomerService.selectTjCustomerList(tjCustomer); - if(null !=list && list.size()>0){ + if (null != list && list.size() > 0) { 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())); - if(null !=tjCustomerBlack){ - customer.setIsBlack("Y"); - }else { - customer.setIsBlack("N"); + if (null != tjCustomerBlack) { + customer.setIsBlack("Y"); + } else { + customer.setIsBlack("N"); } } } @@ -328,20 +353,25 @@ 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"); + String cusIdcard = tjCustomer.getCusIdcard(); - boolean b=true; - if(null !=tjCustomer.getIdType()){ - if(tjCustomer.getIdType().equals("1")){ + boolean b = true; + if (null != tjCustomer.getIdType()) { + if (tjCustomer.getIdType().equals("1")) { b = MatchUtils.isIdCard(cusIdcard); } // else { // b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); // } - }else { + } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } - if(!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); + if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) @@ -362,14 +392,74 @@ 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 (tjCustomer.getIdType().equals("1")) { +// tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd")); +// } tjCustomer.setCusNumber(0L); - if (tjCustomerService.save(tjCustomer)) { - return AjaxResult.success(tjCustomer); + String config = sysConfigService.selectConfigByKey("sfkqdyhis"); + if(null !=config && config.equals("Y")){ + AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date); + if (tjCustomer1 != null) return tjCustomer1; } return AjaxResult.error(); +} + + private AjaxResult suijieHisXinXi(TjCustomer tjCustomer, String date) { + 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) { + 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); + } + } + } + } + } + + } + if (tjCustomerService.save(tjCustomer)) { + return AjaxResult.success(tjCustomer); + } + } + return null; } /** -- Gitblit v1.8.0