zjh
2025-04-18 1630243ed75a92c60d0638e7d14477e4aadcf2b7
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,16 +61,38 @@
            "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);
    @Select("SELECT * FROM tj_order_remark WHERE tj_number=#{tjNumber} AND type =1 AND deleted='0'")
    @Insert("INSERT INTO tj_order_remark(\n" +
            "pro_id,\n" +
            "dept_id,\n" +
            "create_time,\n" +
            "create_by,\n" +
            "create_id,\n" +
            "tj_number,\n" +
            "type,\n" +
            "update_by,\n" +
            "update_time,\n" +
            "update_id\n" +
            ")\n" +
            "\n" +
            "SELECT b.pro_id,b.dept_id,SYSDATE(),#{userName},#{userId},#{tjNumber},1,#{userName},SYSDATE(),#{userId} 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 saveJSYTjOrderRemarkByOrderId(@Param("tjNumber")String tjNumber,@Param("userName") String userName,@Param("userId") String userId,@Param("orderId")String orderId);
    @Select("SELECT * FROM tj_order_remark a LEFT JOIN tj_project b ON a.pro_id=b.pro_id  WHERE a.tj_number=#{tjNumber}" +
            " AND a.type =1 AND a.deleted=0 AND b.need_report='Y' AND b.deleted=0 and a.dept_id in (269,270,253,254,255,257,251,271) ")//and a.dept_id in (269,270,253,254,255,257)
    List<TjOrderRemark> getRemarkListByTjNumAndType(String tjNumber);
@@ -77,38 +102,212 @@
    @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 and pro.need_report='Y' \n" +
            "\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})")
//    @Select("select * from test_remark")
    List<TjOrderRemark> addHuaYanTable(@Param("tjnumber") String tjnumber);
    @Select("call pro_checkhyAndcg(0,#{tjnumber,mode=IN})")
    List<TjOrderRemark> addHuaYanAndCgTable(@Param("tjnumber")String tjnumber);
    @Update("UPDATE tj_order_remark a SET a.type=2 WHERE a.tj_number=#{tjnumber} AND a.pro_id=#{proId}")
    void updateTjOrderRemark(@Param("tjnumber")String tjnumber,@Param("proId")String proId);
    @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}")
    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}")
//    AND c.need_report='Y' guo
    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);
}