| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.extra.pinyin.PinyinUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.ltkj.common.core.domain.entity.SysMenu; |
| | | import com.ltkj.hosp.idutil.IdUtils; |
| | | import com.ltkj.common.utils.SecurityUtils; |
| | | import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; |
| | | import com.ltkj.hosp.domain.DictHosp; |
| | | import com.ltkj.hosp.domain.TjJcycxm; |
| | | import com.ltkj.hosp.domain.TjProject; |
| | | import com.ltkj.hosp.domain.*; |
| | | import com.ltkj.hosp.mapper.TestMapper; |
| | | import com.ltkj.hosp.service.*; |
| | | import com.ltkj.hosp.sqlDomain.*; |
| | |
| | | import io.swagger.annotations.ApiParam; |
| | | import jodd.util.StringUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.annotations.Case; |
| | | import org.apache.ibatis.jdbc.Null; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | private TestMapper testMapper; |
| | | @Autowired |
| | | private AwsService awsService; |
| | | @Autowired |
| | | private IdUtils idUtils; |
| | | |
| | | /** |
| | | * 获取参数配置列表 |
| | |
| | | jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s); |
| | | jcsqdService.saveBatch(jcsqdList); |
| | | List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s); |
| | | if(null !=jcsqdList && !jcsqdList.isEmpty()){ |
| | | for (LtkjExamJcsqd jcsqd : jcsqdList) { |
| | | if(StringUtil.isNotBlank(jcsqd.getJgzt())){ |
| | | 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("双侧椎间孔无狭窄")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(s); |
| | | jcycxm.setYqid(dqyyyqbm); |
| | | String[] split1 = jcsqd.getJcxmid().split(";"); |
| | | jcycxm.setProId(split1[0]); |
| | | jcycxm.setProName(jcsqd.getJcxmmc()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | | if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); |
| | | DynamicDataSourceContextHolder.clearDataSourceType(); |
| | |
| | | @GetMapping ("/tjjcycxm")//同步his项目单价信息 |
| | | // @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')") |
| | | @ApiOperation (value = "tjjcycxm") |
| | | public AjaxResult tjjcycxm() { |
| | | public AjaxResult tjjcycxm(@RequestParam(required = false)@ApiParam(value = "体检号") String tjh) { |
| | | String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); |
| | | if(StringUtil.isNotBlank(tjh)){ |
| | | zongjianshengchengyichangxiangmu(tjh, yqbm); |
| | | return AjaxResult.success(); |
| | | } |
| | | List<String> jc = orderService.getJianChaTjNum(); |
| | | if (null != jc && !jc.isEmpty()) { |
| | | for (String s : jc) { |
| | | jcycxmService.deletedByTjh(s); |
| | | List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(s); |
| | | if(null !=list && !list.isEmpty()){ |
| | | for (LtkjExamJcsqd jcsqd : list) { |
| | | if(StringUtil.isNotBlank(jcsqd.getJgzt())){ |
| | | String[] split = jcsqd.getJgzt().split("。"); |
| | | for (String jg : split) { |
| | | if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常") |
| | | && !jg.contains("未见明显异常") && !jg.contains("未见占位") |
| | | && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(s); |
| | | jcycxm.setYqid(yqbm); |
| | | String[] split1 = jcsqd.getJcxmid().split(";"); |
| | | jcycxm.setProId(split1[0]); |
| | | jcycxm.setProName(jcsqd.getJcxmmc()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | zongjianshengchengyichangxiangmu(s, yqbm); |
| | | |
| | | } |
| | | } |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | public void zongjianshengchengyichangxiangmu(String s, String yqbm) { |
| | | TjOrder order = orderService.getOrderByTjNum(s); |
| | | jcycxmService.deletedByTjh(order.getCardId()); |
| | | 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("。|;|;"); |
| | | for (String jg : split) { |
| | | if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常") |
| | | && !jg.contains("未见明显异常") && !jg.contains("未见占位") |
| | | && !jg.contains("未见明显")&& !jg.contains("正常")&& !jg.contains("双侧椎间孔无狭窄")&& !jg.contains("无殊")){ |
| | | TjJcycxm jcycxm=new TjJcycxm(); |
| | | jcycxm.setTjh(s); |
| | | jcycxm.setYqid(yqbm); |
| | | String[] split1 = jcsqd.getJcxmid().split(";"); |
| | | jcycxm.setProId(split1[0]); |
| | | jcycxm.setProName(jcsqd.getJcxmmc()); |
| | | jcycxm.setCreateTime(new Date()); |
| | | jcycxm.setJcjg(jg); |
| | | jcycxmService.save(jcycxm); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @GetMapping ("/ceshitijianhao")//同步his项目单价信息 |
| | | // @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')") |
| | | @ApiOperation (value = "测试体检号") |
| | | public AjaxResult ceshitijianhao() { |
| | | //创建线程池 |
| | | ExecutorService threadPool = Executors.newFixedThreadPool(2000); |
| | | List<String> numbers = new ArrayList<>(); |
| | | for (int i = 0; i < 2000; i++) { |
| | | //获取线程 |
| | | threadPool.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | try { |
| | | String number = idUtils.getNewTjNumberRedisLock(); // 调用获取编号的方法 |
| | | numbers.add(number); // 添加到 Set |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | threadPool.shutdown(); |
| | | return AjaxResult.success(numbers); |
| | | } |
| | | |
| | | } |