zhaowenxuan
昨天 dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -155,20 +155,19 @@
        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("身份证号码错误");
//                    }
//                }
            }
@@ -569,11 +568,19 @@
            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());
@@ -647,16 +654,16 @@
            //判断身份证号格式是否正确
            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("身份证号码错误");
//                    }
//                }
            }
@@ -713,11 +720,82 @@
                    return AjaxResult.success();
                }
            }
            return AjaxResult.error();
            return AjaxResult.success();
        } catch (Exception e) {
            log.error(e.toString());
            throw new RuntimeException(e);
        }
    }
    @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);
        }
    }
    /**