zhaowenxuan
2025-04-03 378fd68db9a3a0f70bc1df6a6b05d332a8e522d4
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java
@@ -1,23 +1,26 @@
package com.ltkj.web.controller.system;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.unit.DataUnit;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
import com.ltkj.hosp.vodomain.CsProVo;
import com.ltkj.system.service.ISysConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jodd.util.StringUtil;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -53,7 +56,12 @@
    private ITjOrderRemarkService remarkService;
    @Resource
    private ITjProjectService projectService;
    @Resource
    private TjXdtgmdjgService xdtgmdjgService;
    @Resource
    private LtkjExamJcbgdService jcbgdService;
    @Resource
    private LtkjExamJcsqdService jcsqdService;
    /**
     * 查询体检心电图管理列表
     */
@@ -197,7 +205,8 @@
    @GetMapping ("/getYxJcList")
    @ApiOperation (value = "影像检查列表(骨密度和心电图)")//0待1已
    @Transactional
    public AjaxResult getYxJcList(@ApiParam (value = "页码数(默认1)") @RequestParam (defaultValue = "1") Integer page,
    public AjaxResult getYxJcList(@ApiParam (value = "审核状态  0待审核  1已审核") @RequestParam  Integer checkStatus,
                                @ApiParam (value = "页码数(默认1)") @RequestParam (defaultValue = "1") Integer page,
                                @ApiParam (value = "显示条数(默认10)") @RequestParam (defaultValue = "10") Integer pageSize,
                                @ApiParam (value = "体检单号") @RequestParam (required = false) String tjNumber,
                                @ApiParam (value = "单位") @RequestParam (required = false) Long compId,
@@ -289,7 +298,7 @@
        if (beginTime == null) beginTime = "";
        if (endTime == null) endTime = "";
        if (tcm == null) tcm = "";
        return AjaxResult.success(orderService.getYxJcList(tjNumber, page, pageSize, value, beginTime, endTime, name,tcm));
        return AjaxResult.success(orderService.getYxJcList(checkStatus,tjNumber, page, pageSize, value, beginTime, endTime, name,tcm));
    }
    @GetMapping ("/getYxJcXx")
@@ -306,6 +315,7 @@
                                @ApiParam (value = "项目id") @RequestParam String proId,
                                @ApiParam (value = "检查所见") @RequestParam String jcsj,
                                @ApiParam (value = "检查结论") @RequestParam String jcjl) {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        TjOrder order = orderService.getOrderByTjNum(tjNumber);
        if(null !=order){
            TjProject project = projectService.getById(proId);
@@ -326,6 +336,18 @@
                    if(null !=orderRemark){
                        orderRemark.setType(1);
                        remarkService.updateById(orderRemark);
                        xdtgmdjgService.deletedByTJhAndProId(tjNumber, proId);
                        TjXdtgmdjg xdtgmdjg=new TjXdtgmdjg();
                        xdtgmdjg.setTjh(tjNumber);
                        xdtgmdjg.setCardId(order.getCardId());
                        xdtgmdjg.setProId(proId);
                        xdtgmdjg.setProName(project.getProName());
                        xdtgmdjg.setJcsj(jcsj);
                        xdtgmdjg.setJcjl(jcjl);
                        xdtgmdjg.setCreateBy(user.getNickName());
                        xdtgmdjg.setCreateId(user.getUserId().toString());
                        xdtgmdjgService.save(xdtgmdjg);
                        saveTjXdtgmdjgByJcbgd(xdtgmdjg);
                    }
                }
            }
@@ -333,4 +355,53 @@
        }
        return AjaxResult.error("暂无体检记录");
    }
    public void saveTjXdtgmdjgByJcbgd(TjXdtgmdjg xdtgmdjg) {
        int length = xdtgmdjg.getProId().length();
        // 确保字符串长度至少为6
        String last6 = length >= 6 ? xdtgmdjg.getProId().substring(length - 6) : xdtgmdjg.getProId();
        LtkjExamJcbgd jcbgd=new LtkjExamJcbgd();
        jcsqdService.deletedLtkjJcsqdByTjhandtmh(xdtgmdjg.getCardId(),xdtgmdjg.getTjh()+last6);
        jcbgdService.deletedLtkjJcbgdByTjhandtmh(xdtgmdjg.getCardId(),xdtgmdjg.getTjh()+last6);
        jcbgd.setTjh(xdtgmdjg.getCardId());
        jcbgd.setTmh(xdtgmdjg.getTjh()+last6);
        jcbgd.setXmdm(xdtgmdjg.getProId());
        jcbgd.setXmmc(xdtgmdjg.getProName());
        jcbgd.setBgNr(xdtgmdjg.getJcsj());
        jcbgd.setBgUrl("");
        jcbgd.setShysxm(xdtgmdjg.getCreateBy());
        jcbgd.setShysdm(xdtgmdjg.getCreateId());
        jcbgd.setYxzd(xdtgmdjg.getJcjl());
        jcbgd.setYxbx("未见异常");
        jcbgd.setZdsj(DateUtil.format(new Date(),"yyyy-MM-dd"));
        jcbgd.setJcbw("");
        jcbgd.setSqsj(DateUtil.format(new Date(),"yyyy-MM-dd"));
        jcbgd.setCreateTime(new Date());
        jcbgdService.save(jcbgd);
        jcsqdService.saveLtkjExamJcsqd(xdtgmdjg.getCardId());
    }
    @GetMapping ("/getYxJcXxJg")
    @ApiOperation (value = "获取影像检查骨密度心电图结果接口")
    @Transactional
    public AjaxResult getYxJcXxJg(@ApiParam (value = "体检号") @RequestParam String tjNumber,
                                @ApiParam (value = "项目id") @RequestParam String proId) {
        TjOrder order = orderService.getOrderByTjNum(tjNumber);
        if(null !=order){
            LambdaQueryWrapper<TjXdtgmdjg> wq=new LambdaQueryWrapper<>();
            wq.eq(TjXdtgmdjg::getTjh,tjNumber);
            wq.eq(TjXdtgmdjg::getProId,proId);
            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);
            }
            return AjaxResult.success(map);
        }
        return AjaxResult.error("暂无体检记录");
    }
}