zhaowenxuan
7 天以前 0892d843cd394f383ff50f480f7f22f2ec3829bc
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -46,6 +46,8 @@
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;
@@ -153,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("身份证号码错误");
//                    }
//                }
            }
@@ -244,7 +245,7 @@
                    tjCustomer1.setCusName(tjReservation.getName());
                    tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
                    try {
                        tjCustomer1.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
                        tjCustomer1.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                    } catch (Exception e) {
                        return AjaxResult.error("身份证号不正确");
                    }
@@ -278,7 +279,7 @@
                    tjCustomer.setCusName(tjReservation.getName());
                    tjCustomer.setCusSex(Long.valueOf(tjReservation.getSex()));
                    try {
                        tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
                        tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
                    } catch (Exception e) {
                        return AjaxResult.error("身份证号不正确");
                    }
@@ -522,7 +523,7 @@
        tjCustomer.setCusPassword(substring);
        if(cusIdcard.length()==18) {
            try {
                tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
                tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
            } catch (Exception e) {
                return AjaxResult.error("身份证号不正确");
            }
@@ -567,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());
@@ -645,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("身份证号码错误");
//                    }
//                }
            }
@@ -666,7 +675,7 @@
            tjCustomer.setCusPhone(cusPhone);
            tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),""));
            tjCustomer.setCusBrithday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()), "yyyy-MM-dd"));
            tjCustomer.setCusBrithday(MatchUtils.getBirthDayByIdCard(tjCustomer.getCusIdcard()));
            if (tjCustomerService.updateById(tjCustomer)) {
                String config = sysConfigService.selectConfigByKey("sfkqdyhis");
                if (null != config && config.equals("Y")) {
@@ -684,8 +693,8 @@
                        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("pationId",customer.getPationId());
                        map.put("cardId",customer.getHisJzkh());
                        map.put("cusName",tjCustomer.getCusName());
                        map.put("cusSex",tjCustomer.getCusSex());
                        map.put("cusIdCard",tjCustomer.getCusIdcard());
@@ -711,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);
        }
    }
    /**