| | |
| | | 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 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; |
| | | |
| | |
| | | @RestController |
| | | @RequestMapping("/hosp/customer") |
| | | @Api(tags = "客户管理接口") |
| | | @Slf4j |
| | | public class TjCustomerController extends BaseController { |
| | | @Resource |
| | | private ITjCustomerService tjCustomerService; |
| | |
| | | if (!"".equals(cusIdcard) && cusIdcard != null) { |
| | | |
| | | String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); |
| | | // String sfjysjh = configService.selectConfigByKey("sfjysjh"); |
| | | |
| | | //判断身份证号格式是否正确 |
| | | 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("身份证号码错误"); |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | |
| | |
| | | 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()); |
| | |
| | | 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); |
| | | |
| | |
| | | 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()); |
| | |
| | | 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); |
| | |
| | | String substring = cusIdcard.substring(cusIdcard.length() - 6); |
| | | substring = DigestUtils.md5DigestAsHex(substring.getBytes()); |
| | | tjCustomer.setCusPassword(substring); |
| | | if(cusIdcard.length()==18)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"); |
| | |
| | | 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()); |
| | |
| | | @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"); |
| | | |
| | | //判断身份证号格式是否正确 |
| | | 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("身份证号码错误"); |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | |
| | | //判断身份证号格式是否正确 |
| | | if(sfjysjh.equalsIgnoreCase("Y")){ |
| | | if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) |
| | | return AjaxResult.error("手机号错误"); |
| | | //判断身份证号格式是否正确 |
| | | 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(); |
| | | |
| | | } |
| | | |
| | | /** |