zhaowenxuan
2025-04-29 db86fa075e9c9d88e5a74b85696cabfae6bd70b0
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java
@@ -1,5 +1,9 @@
package com.ltkj.web.controller.system;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.security.Security;
import java.util.*;
import java.util.stream.Collectors;
@@ -16,6 +20,7 @@
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
import com.ltkj.hosp.vodomain.CsProVo;
import com.ltkj.system.service.ISysConfigService;
import io.swagger.annotations.Api;
@@ -68,6 +73,8 @@
    private LtkjExamJcbgdService jcbgdService;
    @Resource
    private LtkjExamJcsqdService jcsqdService;
    @Autowired
    private TjJcycxmService jcycxmService;
    /**
     * 查询体检心电图管理列表
     */
@@ -315,6 +322,28 @@
        Long deptId = SecurityUtils.getDeptId();
        log.info("影像检查骨密度心电图页面点击体检人员展示体检项目接口当前登录人科室"+deptId);
        List<CsProVo> list = remarkService.getYxJcXx(tjNumber,deptId.toString());
        if(null !=list && !list.isEmpty()){
            for (CsProVo vo : list) {
                LambdaQueryWrapper<TjXdtgmdjg> wq=new LambdaQueryWrapper<>();
                wq.eq(TjXdtgmdjg::getTjh,tjNumber);
                wq.eq(TjXdtgmdjg::getProId,vo.getProId());
                TjXdtgmdjg xdtgmdjg = xdtgmdjgService.getOne(wq);
                if(null !=xdtgmdjg){
                    if(StringUtil.isNotBlank(xdtgmdjg.getUrl())){
                        Path path = Paths.get(xdtgmdjg.getUrl());
                        byte[] data = null;
                        try {
                            data = Files.readAllBytes(path);
                        } catch (IOException e) {
                            throw new RuntimeException(e);
                        }
                        String base64 = Base64.getEncoder().encodeToString(data);
                        if(StringUtil.isNotBlank(base64)) vo.setImageUrl(base64);
                    }
                }
            }
        }
        return AjaxResult.success(list);
    }
@@ -324,20 +353,21 @@
    public AjaxResult addYxJcXx(@ApiParam (value = "体检号") @RequestParam String tjNumber,
                                @ApiParam (value = "项目id") @RequestParam String proId,
                                @ApiParam (value = "检查所见") @RequestParam String jcsj,
                                @ApiParam (value = "检查结论") @RequestParam String jcjl) {
                                @ApiParam (value = "检查结论") @RequestParam String jcjl,
                                @ApiParam (value = "图片地址") @RequestParam(required = false) String url) {
        try {
            SysUser user = SecurityUtils.getLoginUser().getUser();
            TjOrder order = orderService.getOrderByTjNum(tjNumber);
            if(null !=order){
                TjProject project = projectService.getById(proId);
                if(null !=project){
                    List<TjProject> projects = projectService.getTjProjectListBySoneId(proId);
//                    List<TjProject> projects = projectService.getTjProjectListBySoneId(proId);
                    LambdaQueryWrapper<TjOrderDetail>wq1=new LambdaQueryWrapper<>();
                    wq1.eq(TjOrderDetail::getProId,projects.get(0).getProParentId());
//                    wq1.eq(TjOrderDetail::getProId,projects.get(0).getProParentId());
                    wq1.eq(TjOrderDetail::getOrderId,order.getOrderId());
                    TjOrderDetail detail = detailService.getOne(wq1);
                    if(null !=detail){
                        detail.setProResult(jcjl+"。"+jcsj);
//                        detail.setProResult(jcjl+"。"+jcsj);
                        detail.setTjStatus(1L);
                        detailService.updateById(detail);
                        LambdaQueryWrapper<TjOrderRemark>wq2=new LambdaQueryWrapper<>();
@@ -357,6 +387,7 @@
                            xdtgmdjg.setJcjl(jcjl);
                            xdtgmdjg.setCreateBy(user.getNickName());
                            xdtgmdjg.setCreateId(user.getUserId().toString());
                            if(StringUtil.isNotBlank(url)) xdtgmdjg.setUrl(url);
                            xdtgmdjgService.save(xdtgmdjg);
                            saveTjXdtgmdjgByJcbgd(xdtgmdjg);
                        }
@@ -386,19 +417,21 @@
            jcbgd.setXmdm(xdtgmdjg.getProId());
            jcbgd.setXmmc(xdtgmdjg.getProName());
            jcbgd.setBgNr(xdtgmdjg.getJcsj());
            jcbgd.setBgUrl("");
            if(StringUtil.isNotBlank(xdtgmdjg.getUrl())){
                jcbgd.setBgUrl(xdtgmdjg.getUrl());
            }else {
                jcbgd.setBgUrl("");
            }
            jcbgd.setShysxm(xdtgmdjg.getCreateBy());
            jcbgd.setShysdm(xdtgmdjg.getCreateId());
            jcbgd.setYxzd(xdtgmdjg.getJcjl());
            jcbgd.setYxbx(xdtgmdjg.getJcjl());
            jcbgd.setYxbx("未见异常");
            jcbgd.setZdsj(DateUtil.format(date,"yyyy-MM-dd"));
            jcbgd.setJcbw("");
            jcbgd.setSqsj(DateUtil.format(date,"yyyy-MM-dd"));
            jcbgd.setLx("1");
            jcbgd.setCreateTime(date);
            jcbgdService.save(jcbgd);
            jcsqdService.deletedLtkjJcsqdByTjhandtmh(xdtgmdjg.getCardId());
            jcsqdService.saveLtkjExamJcsqdxdt(xdtgmdjg.getCardId());
            jcsqdService.saveLtkjExamJcsqd(xdtgmdjg.getCardId());
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
@@ -409,7 +442,7 @@
    @ApiOperation (value = "获取影像检查骨密度心电图结果接口")
    @Transactional
    public AjaxResult getYxJcXxJg(@ApiParam (value = "体检号") @RequestParam String tjNumber,
                                @ApiParam (value = "项目id") @RequestParam String proId) {
                                  @ApiParam (value = "项目id") @RequestParam String proId) {
        TjOrder order = orderService.getOrderByTjNum(tjNumber);
        if(null !=order){
            LambdaQueryWrapper<TjXdtgmdjg> wq=new LambdaQueryWrapper<>();
@@ -418,13 +451,27 @@
            TjXdtgmdjg xdtgmdjg = xdtgmdjgService.getOne(wq);
            Map<String,Object>map=new HashMap<>();
            if(null !=xdtgmdjg ){
             map.put("jcsj",xdtgmdjg.getJcsj());
             map.put("jcjl",xdtgmdjg.getJcjl());
             return AjaxResult.success(map);
                map.put("jcsj",xdtgmdjg.getJcsj());
                map.put("jcjl",xdtgmdjg.getJcjl());
                if(StringUtil.isNotBlank(xdtgmdjg.getUrl())){
                    Path path = Paths.get(xdtgmdjg.getUrl());
                    byte[] data = null;
                    try {
                        data = Files.readAllBytes(path);
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                    String base64 = Base64.getEncoder().encodeToString(data);
                    map.put("tp",base64);
                }else {
                    map.put("tp",null);
                }
                return AjaxResult.success(map);
            }else {
                TjProject tjProject = projectService.getById(proId);
                map.put("jcsj","");
                map.put("jcjl",tjProject.getProDefault()==null ? "":tjProject.getProDefault());
                map.put("tp",null);
            }
            return AjaxResult.success(map);
        }