zhaowenxuan
8 天以前 db52209b0d830d00c7ec807e2b66d94079d4aff6
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java
@@ -4,10 +4,12 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.json.JSONUtil;
import com.ltkj.hosp.idutil.IdUtils;
@@ -18,6 +20,7 @@
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.*;
import com.ltkj.system.service.ISysMenuService;
import com.ltkj.web.wxUtils.HttpClientUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -285,7 +288,7 @@
                if(!jcsqdList.isEmpty()){
                    for (LtkjExamJcsqd jcsqd : jcsqdList) {
                        if(StringUtil.isNotBlank(jcsqd.getJgzt())){
                            String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;");
                            String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;|,|,");
                            for (String jg : split) {
                                if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                        && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
@@ -316,6 +319,48 @@
    }
    @GetMapping ("/chaxunjyjcwsxmjg")
    @ApiOperation(value = "查询检验检查项目结果接口")
    public AjaxResult chaxunjyjcwsxmjg(@RequestParam @ApiParam(value = "jy检验 jc检查 jyjc检验和检查") String tblx,
                                       @ApiParam(value = "体检号")@RequestParam String tjh) {
        String hospId = configService.selectConfigByKey("dqyyyqbm");
        log.info("手动查询检验或检查结果开始->{}{}",hospId,DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
        try {
            switch (tblx){
                case "jy":
                    List<Map<String, Object>> hysqdList = testMapper.sysgetCcXZxYyLtkjHysqdByLisVi(tjh,hospId);
                    if (null != hysqdList && !hysqdList.isEmpty()) {
                        for (Map<String, Object> map : hysqdList) {
                            List<Map<String, Object>> hybgdList = testMapper.sysgetCcXZxYyLtkjHybgdByLisVi(map.get("条码号").toString());
                            map.put("jybgd",hybgdList);
                        }
                        DynamicDataSourceContextHolder.clearDataSourceType();
                    }
                    log.info("当前查询的是->{} 结果","检验");
                    return AjaxResult.success(hysqdList);
                case "jc":
                    List<Map<String, Object>> jcsqdList = testMapper.sysgetCcXZxYyPacsLtkjExamJcsqd(tjh,hospId);
                    DynamicDataSourceContextHolder.clearDataSourceType();
                    log.info("当前查询的是->{} 结果","检查");
                    return AjaxResult.success(jcsqdList);
                default:
                    log.info("没有找到所匹配的同步类型");
//                    return AjaxResult.error("没有找到所匹配的同步类型!");
            }
            log.info("手动查询检验或检查结果开始->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
            return AjaxResult.error("没有找到所匹配的同步类型!");
        } catch (Exception e) {
            log.error(String.valueOf(e));
            return AjaxResult.error();
        }
    }
    @GetMapping ("/zxsq")//执行
@@ -323,7 +368,7 @@
    public AjaxResult zx(@RequestParam int day) {
        try {
            List<DictHosp> list = dictHospService.list();
            DateTime dateTime1 = DateUtil.offsetMonth(new Date(), day);
            DateTime dateTime1 = DateUtil.offsetDay(new Date(), day);
            for (DictHosp dictHosp : list) {
                String mallMerchantSecretKey = SecurityUtils.getMallMerchantSecretKey(secret, dictHosp.getHospAreaId(), dictHosp.getHospAreaName(), dateTime1);
                dictHosp.setSecretKey(mallMerchantSecretKey);
@@ -369,33 +414,41 @@
    @GetMapping ("/tjjcycxm")//同步his项目单价信息
//    @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')")
    @ApiOperation (value = "tjjcycxm")
    public AjaxResult tjjcycxm(@RequestParam(required = false)@ApiParam(value = "体检号") String tjh) {
        String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
    public AjaxResult tjjcycxm(@RequestParam(required = false)@ApiParam(value = "体检号") String tjh,
                               @RequestParam(defaultValue = "0",required = false)@ApiParam(value = "0 仅同步未审核人员 1所有人") String lx) {
        String yqbm = configService.selectConfigByKey("dqyyyqbm");
        if(StringUtil.isNotBlank(tjh)){
            zongjianshengchengyichangxiangmu(tjh, yqbm);
            return AjaxResult.success();
        }
        List<String> jc = orderService.getJianChaTjNum();
        if (null != jc && !jc.isEmpty()) {
            for (String s : jc) {
                zongjianshengchengyichangxiangmu(s, yqbm);
        }else {
            List<String> jc =null;
            if(lx.equals("0")){
                jc = orderService.getJianChaTjNumWsh();
            }else {
                jc = orderService.getJianChaTjNum();
            }
            if (null != jc && !jc.isEmpty()) {
                for (String s : jc) {
                    zongjianshengchengyichangxiangmu(s, yqbm);
                }
            }
            return AjaxResult.success();
        }
        return AjaxResult.success();
    }
    public void zongjianshengchengyichangxiangmu(String s, String yqbm) {
        TjOrder order = orderService.getOrderByTjNum(s);
        jcycxmService.deletedByTjh(order.getCardId());
        jcycxmService.deletedByTjh(s);
        List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
        if(null !=list && !list.isEmpty()){
            for (LtkjExamJcsqd jcsqd : list) {
                if(StringUtil.isNotBlank(jcsqd.getJgzt())){
                    String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;");
                    String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;|,|,");
                    for (String jg : split) {
                        if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                && !jg.contains("未见明显异常") && !jg.contains("未见占位")
                                && !jg.contains("未见明显异常") && !jg.contains("未见占位")  && !jg.contains("无异常")
                                && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){
                            TjJcycxm jcycxm=new TjJcycxm();
                            jcycxm.setTjh(s);
@@ -439,4 +492,19 @@
        return AjaxResult.success(numbers);
    }
    @GetMapping("/syncHisData")
    public AjaxResult syncHisData(@RequestParam(value = "tbzd",required = false,defaultValue = "true") Boolean tbzd) {
        if (tbzd) {
            String apiUrl = configService.selectConfigByKey("common_api_url");
            if (StrUtil.isBlank(apiUrl)) {
                return AjaxResult.error("未配置common_api_url");
            }
            HttpClientUtils instance = HttpClientUtils.getInstance();
            String sendHttpGet = instance.sendHttpGet(apiUrl);
            if (!sendHttpGet.equals("success")) return AjaxResult.error("同步失败");
        }
        testMapper.updTbProHisPrice();
        return AjaxResult.success();
    }
}