zjh
2024-06-07 a0385d39fd55aaf45f43e2e12e446b9c933efc1c
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,6 +74,22 @@
    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数据库返回新的数据")
@@ -95,7 +121,6 @@
        return AjaxResult.success(maps);
//        return AjaxResult.success(maps);
    }
    /**
@@ -328,6 +353,11 @@
        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;
@@ -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);
        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 AjaxResult.error();
        }
        return null;
    }
    /**