zjh
2025-06-10 246d78931aa779d0ea2ae6a262cd23494476e80b
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -1,11 +1,14 @@
package com.ltkj.hosp.mapper;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TjOrderRemark;
import com.ltkj.hosp.vodomain.CsProVo;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Param;
/**
 * 医生备注Mapper接口
@@ -58,10 +61,11 @@
            "tj_number,\n" +
            "update_by,\n" +
            "update_time,\n" +
            "update_id\n" +
            "update_id,\n" +
            "type\n" +
            ")\n" +
            "\n" +
            "SELECT b.pro_id,b.dept_id,SYSDATE(),#{userName},#{userId},#{tjNumber},#{userName},SYSDATE(),#{userId} FROM tj_order_detail a " +
            "SELECT b.pro_id,b.dept_id,SYSDATE(),#{userName},#{userId},#{tjNumber},#{userName},SYSDATE(),#{userId},IF(b.need_report<>'Y',1,0) FROM tj_order_detail a " +
            "LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.order_id=#{orderId} AND\n" +
            "b.pro_parent_id=0")
    boolean saveTjOrderRemarkByOrderId(@Param("tjNumber")String tjNumber,@Param("userName") String userName,@Param("userId") String userId,@Param("orderId")String orderId);
@@ -98,36 +102,46 @@
    @Select("SELECT b.pro_id FROM tj_package_project a " +
            "LEFT JOIN tj_order_remark b ON a.pro_id=b.pro_id " +
            "WHERE b.type !=2 AND b.pro_id = a.pro_id AND a.pac_id=#{pacId} AND b.tj_number=#{tjNumber}")
            "WHERE b.deleted=0 and  b.type !=2 AND b.pro_id = a.pro_id AND a.pac_id=#{pacId} AND b.tj_number=#{tjNumber}")
    List<Long> getTjProIdsByTjNumAndPacIc(@Param("tjNumber") String tjNumber,@Param("pacId") String pacId);
    @Select("SELECT b.pro_id FROM tj_package_project a " +
            "LEFT JOIN tj_order_remark b ON a.pro_id=b.pro_id " +
            "WHERE b.type !=2 AND b.pro_id != a.pro_id AND a.pac_id=#{pacId} AND b.tj_number=#{tjNumber}")
            "WHERE b.deleted=0 and  b.type !=2 AND b.pro_id != a.pro_id AND a.pac_id=#{pacId} AND b.tj_number=#{tjNumber}")
    List<Long> getTjProIdsByTjNumAndPacIc1(@Param("tjNumber") String tjNumber,@Param("pacId") String pacId);
    @Select("SELECT\n" +
            "\tdep.dept_name,\n" +
            "\tpro.pro_name,\n" +
            "\tre.type,\n" +
            "\tus.nick_name doctor_name,\n" +
            "\tus.nick_name bcdoctor_name,\n" +
            "\t'统收' sffs,\n" +
            "\t'已收费' is_pay,\n" +
            "\tre.create_time qdcreate_time,\n" +
            "\tre.update_time bcupdate_time,\n" +
            "\tre.update_time zhupdate_time \n" +
            "FROM\n" +
            "\ttj_order_remark re\n" +
            "\tLEFT JOIN sys_dept dep ON re.dept_id = dep.dept_id\n" +
            "\tLEFT JOIN tj_project pro ON re.pro_id = pro.pro_id\n" +
            "\tLEFT JOIN sys_user us ON us.user_id = re.doctor_name \n" +
            "WHERE\n" +
            "\tre.type != 2  \n" +//and pro.need_report='Y'
            "\tAND re.tj_number =#{tjNumber}")
    List<CsProVo> cSWebGetProByTjNumAndOrderId(String tjNumber);
    @Select({"<script>" +
            "SELECT\n" +
            "            pro.pro_id,\n" +
            "            dep.dept_name,\n" +
            "            dep.dept_id,\n" +
            "            pro.pro_name,\n" +
            "            re.type,\n" +
            "            us.nick_name doctor_name,\n" +
            "            us.nick_name bcdoctor_name,\n" +
            "            '统收' sffs,\n" +
            "            '已收费' is_pay,\n" +
            "            re.create_time qdcreate_time,\n" +
            "            re.update_time bcupdate_time,\n" +
            "            re.update_time zhupdate_time\n" +
            "            FROM\n" +
            "            tj_order_remark re\n" +
            "            LEFT JOIN sys_dept dep ON re.dept_id = dep.dept_id\n" +
            "            LEFT JOIN tj_project pro ON re.pro_id = pro.pro_id\n" +
            "            LEFT JOIN sys_user us ON us.user_id = re.doctor_name\n" +
            "            WHERE\n" +
//            "            re.type != 2 AND\n" +
            "            re.deleted=0 and   re.tj_number = #{tjNumber} and pro.need_report='Y'" +
            "            <when test='sfzpacs == true'>   " +
            "               AND dep.org_type = 2"+
            "            </when>"+
            "            <when test='sfzpacs == false'>"+
            "               AND re.dept_id != 532 AND pro.pro_name not like '%费%'"+
            "            </when>"+
            "</script>"})
    List<CsProVo> cSWebGetProByTjNumAndOrderId(@Param("tjNumber") String tjNumber,@Param("sfzpacs") boolean sfzpacs );
    @Select("call pro_lis_sqdbgd(0,#{tjnumber,mode=IN})")
@@ -143,4 +157,171 @@
    @Delete("DELETE  FROM tj_order_remark WHERE jxbz=#{bldh}")
    void deleteTjOrderDetailByjxbz(String bldh);
    @Update("UPDATE tj_order_remark rem\n" +
            "JOIN tj_project a ON a.pro_id=rem.pro_id\n" +
            "  SET rem.type = 1,\n" +
            "  rem.update_time = SYSDATE() \n" +
            "WHERE\n" +
            "  rem.pro_id = a.pro_id \n" +
            "  AND rem.tj_number = #{tjNum} \n" +
            "  AND (a.pro_name LIKE '%心电图%' OR a.pro_name LIKE '%妇查%' OR a.pro_name LIKE '%hpv%' OR a.pro_name LIKE '%tct%' OR a.pro_name LIKE '%妇科五联检%'\n" +
            "  OR  a.pro_name LIKE '%电子阴道镜检查%' OR  a.pro_name LIKE '%C14%' OR  a.pro_name LIKE '%心理检测%' OR  a.pro_name LIKE '%肺功能检查%' OR  a.pro_name LIKE '%静脉%');")
    boolean updateRemark(String tjNum);
//    @Select("SELECT a.* FROM tj_order_remark a LEFT JOIN sys_dept b ON b.dept_id=a.dept_id LEFT JOIN tj_project c ON c.pro_id=a.pro_id\n" +
//            "\n" +
//            "WHERE a.deleted=0 AND b.org_type = 3 AND c.need_report='Y' AND a.tj_number=#{tjnumber}")
    @Select("call notHuaYanData(#{tjnumber,mode=IN})")
    List<TjOrderRemark> notHuaYanData(String tjnumber);
    //    @Select("SELECT a.* FROM tj_order_remark a LEFT JOIN sys_dept b ON b.dept_id=a.dept_id LEFT JOIN tj_project c ON c.pro_id=a.pro_id\n" +
//            "\n" +
//            "WHERE a.deleted=0 AND b.org_type = 2 AND c.need_report='Y' AND a.tj_number=#{tjnumber}")
    @Select("call pacsJianChaData(#{tjnumber,mode=IN})")
    List<TjOrderRemark> pacsJianChaData(String tjnumber);
    @Select("call tj_check_yclist(0,#{tjnumber,mode=IN})")
    List<TjOrderRemark> getzongjianyishengchakanyichangxiangmu(String tjNumber);
    @Select("call tj_check_yclist(3,#{tjNumber,mode=IN})")
    List<TjOrderRemark> getzongjianyishengchakanyichangxiangmu3(@Param("tjNumber") String tjNumber);
    void tjYishengjianchajianyi(Map<String,Object> map);
    @Select("SELECT COUNT(*) a FROM tj_order_remark a WHERE a.deleted=0 AND a.tj_number=#{tjNum} AND a.type =1;")
    int panduaniscunzaiweijian(String tjNum);
    @Select("SELECT COUNT(*) a FROM tj_order_remark a WHERE a.deleted=0 AND a.tj_number=#{tjNum} AND a.type in(0,3);")
    int panduaniswancheng(String tjNum);
    @Update("\n" +
            "UPDATE tj_order_remark a JOIN tj_order b ON b.tj_number=a.tj_number\n" +
            "SET\n" +
            " a.sfbz=#{ls}\n" +
            "WHERE b.order_id=#{orderId} AND a.jxbz=#{jxbz}")
    void updateTjOrderRemarkSfbzByJxbz(@Param("orderId") String orderId,@Param("jxbz") String jxbz,@Param("ls") String ls);
    @Update("\n" +
            "UPDATE tj_order_remark a JOIN tj_order b ON b.tj_number=a.tj_number\n" +
            "SET\n" +
            " a.sfbz=#{ls}\n" +
            "WHERE b.order_id=#{orderId} AND ISNULL(a.jxbz)")
    void updateTjOrderRemarkSfbzByJxbzisnull(@Param("orderId") String orderId,@Param("ls") String ls);
    @Select({"<script>", "SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id ",
             " WHERE a.deleted=0 and  b.need_report='Y' AND c.org_type !=1 AND !ISNULL(a.sfbz) AND a.type !=2 AND a.tj_number=#{tjNumber} and a.dept_id in ",
            "<foreach collection='split' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>" })
    List<TjOrderRemark> yiShengJianChaGetPrentPro(@Param("tjNumber") String tjNumber,@Param("split") Set<Integer> split);
    @Select({"<script>", "SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id ",
            " WHERE a.deleted=0 and  b.need_report='Y' AND c.org_type !=1 AND a.type !=2 AND a.tj_number=#{tjNumber} and a.dept_id in ",
            "<foreach collection='split' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>" })
    List<TjOrderRemark> yiShengJianChaYjGetPrentPro(@Param("tjNumber") String tjNumber,@Param("split") Set<Integer> split);
    @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id\n" +
            "\n" +
            "WHERE a.deleted=0 and b.need_report='Y' AND c.org_type !=1 AND !ISNULL(a.sfbz) AND a.type !=2 AND a.tj_number=#{tjNumber} \n")
    List<TjOrderRemark> yiShengJianChaGetPrentProCJGLY(@Param("tjNumber") String tjNumber);
    @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id JOIN sys_dept c ON c.dept_id=a.dept_id\n" +
            "\n" +
            "WHERE a.deleted=0 and b.need_report='Y' AND c.org_type !=1 AND a.type !=2 AND a.tj_number=#{tjNumber} \n")
    List<TjOrderRemark> yiShengJianChaYjGetPrentProCJGLY(@Param("tjNumber")String tjNumber);
    @Select({"<script>" +
            "SELECT\n" +
            "            pro.pro_id,\n" +
            "            dep.dept_name,\n" +
            "            dep.dept_id,\n" +
            "            pro.pro_name,\n" +
            "            re.type,\n" +
            "            us.nick_name doctor_name,\n" +
            "            us.nick_name bcdoctor_name,\n" +
            "            '统收' sffs,\n" +
            "            '已收费' is_pay,\n" +
            "            re.create_time qdcreate_time,\n" +
            "            re.update_time bcupdate_time,\n" +
            "            re.update_time zhupdate_time\n" +
            "            FROM\n" +
            "            tj_order_remark re\n" +
            "            LEFT JOIN sys_dept dep ON re.dept_id = dep.dept_id\n" +
            "            LEFT JOIN tj_project pro ON re.pro_id = pro.pro_id\n" +
            "            LEFT JOIN sys_user us ON us.user_id = re.doctor_name\n" +
            "            WHERE\n" +
            "             re.deleted=0 and  re.tj_number = #{tjNumber} and re.dept_id !=532 and pro.pro_name not like '%费%' " +
            " AND dep.org_type in (1,2 )"+
            "</script>"})
    List<CsProVo> ysjcGetProByTjNumAndOrderId(@Param("tjNumber") String tjNumber);
    @Select({"<script>" +
            "SELECT\n" +
            "            pro.pro_id,\n" +
            "            dep.dept_name,\n" +
            "            dep.dept_id,\n" +
            "            pro.pro_name,\n" +
            "            re.type,\n" +
            "            us.nick_name doctor_name,\n" +
            "            us.nick_name bcdoctor_name,\n" +
            "            '统收' sffs,\n" +
            "            '已收费' is_pay,\n" +
            "            re.create_time qdcreate_time,\n" +
            "            re.update_time bcupdate_time,\n" +
            "            re.update_time zhupdate_time\n" +
            "            FROM\n" +
            "            tj_order_remark re\n" +
            "            LEFT JOIN sys_dept dep ON re.dept_id = dep.dept_id\n" +
            "            LEFT JOIN tj_project pro ON re.pro_id = pro.pro_id\n" +
            "            LEFT JOIN sys_user us ON us.user_id = re.doctor_name\n" +
            "            WHERE\n" +
//            "            re.type != 2 AND\n" +
            "             re.deleted=0 and  re.tj_number = #{tjNumber} and re.dept_id !=532 and pro.pro_name not like '%费%'" +
            "             AND dep.org_type = 1"+
            "</script>"})
    List<CsProVo> cSWebGetProByTjNumAndOrderIdJy(String tjNumber);
    List<TjOrderRemark> shoufeiyemianyishoufei(@Param("tjNumber") String tjNumber, @Param("jxbz") String jxbz);
    List<TjOrderRemark> shoufeiyemianweishoufei(@Param("tjNumber") String tjNumber, @Param("jxbz") String jxbz);
    @Update("UPDATE tj_order_remark a SET a.deleted=1 WHERE a.remark_id=#{remarkId}")
    void updateTjOrderRemarkdel(@Param("remarkId")String remarkId);
    @Select("call tj_yxjcymxx(#{tjh,mode=IN},#{ks,mode=IN})")
    List<CsProVo> getYxJcXx(@Param("tjh")String tjNumber,@Param("ks")String ks);
    @Update("UPDATE tj_order_remark a " +
            "SET a.type=1 WHERE a.tj_number=#{tjNumber} and a.pro_id=#{proId}")
    int updateTjOrderRemarkByTjzt(@Param("tjNumber") String tjNumber,@Param("proId") String proId);
    @Select("call csymxmxzqtyybcjk(#{tjh,mode=IN},#{xmid,mode=IN},#{yy,mode=IN},#{kslx,mode=IN},#{czy,mode=IN}," +
            "#{czydm,mode=IN}) ")
    void csymxmxzqtyybcjk(@Param("tjh")String tjNum,@Param("xmid") String proId,@Param("yy") String yy,
                          @Param("kslx") String orgType,@Param("czy") String czy,@Param("czydm") String czydm);
}