zjh
2 天以前 14ecea8537d5b29ca64c75aad4ff49265018415d
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
@@ -1,13 +1,14 @@
package com.ltkj.hosp.mapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TjOrderDetail;
import com.ltkj.hosp.domain.TjProject;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.ltkj.hosp.vo.ProFcListVo;
import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
import org.apache.ibatis.annotations.*;
/**
 * 体检项目明细Mapper接口
@@ -57,6 +58,11 @@
     */
    public int deleteTjOrderDetailByOrderDetailId(String orderDetailId);
    @Delete("    delete\n" +
            "        from tj_order_detail\n" +
            "        where order_id = #{orderId}")
    int deleteTjOrderDetailByOrderId(String orderId);
    /**
     * 批量删除体检项目明细
     *
@@ -70,19 +76,37 @@
     * 查询已缴费项目
     */
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId})")
            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 )")
    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNull(String orderId);
    /**
     * 查询已缴费项目
     */
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz = #{jxbz} )")
    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullN(@Param("orderId") String orderId,@Param("jxbz") String jxbz);
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz is null )")
    List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(String orderId);
    /**
     * 查询未缴费项目
     */
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId})")
            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 )")
    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId);
    /**
     * 查询未缴费项目
     */
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz = #{jxbz} )")
    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullN(@Param("orderId") String orderId,@Param("jxbz") String jxbz);
    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz is null )")
    List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(String orderId);
    @Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND !ISNULL(flowing_water_id) AND deleted='0'")
@@ -108,8 +132,8 @@
    List<TjOrderDetail> getTjOrderDetailList(@Param("startDate") String startDate,@Param("endDate") String endDate);
    @Select("\tINSERT INTO tj_order_detail(\n" +
            "\torder_detail_id,\n" +
    @Insert("\tINSERT INTO tj_order_detail(\n" +
//            "\torder_detail_id,\n" +
            "  order_id,\n" +
            "  pro_id,\n" +
            "  pro_result,\n" +
@@ -120,10 +144,163 @@
            "  create_id,\n" +
            "  pro_type) \n" +
            "  \n" +
            "     SELECT a.id,#{orderId},a.pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id  WHERE a.cus_id=#{cusId} \n" +
            "  SELECT #{orderId},a.pro_id,IFNULL(trim(b.pro_default),null),IF(b.need_report<>'Y',1,0),SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0)" +
            " FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id  WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} \n" +
            "\t\t\n" +
            "\tUNION\n" +
            "  \n" +
            "\tSELECT DISTINCT a.parent_pro_id,#{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id  WHERE a.cus_id=#{cusId}")
    List<TjOrderDetail> saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId);
            "\tSELECT #{orderId},a.parent_pro_id,IFNULL(trim(b.pro_default),null),IF(b.need_report<>'Y',1,0),SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) " +
            "FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id  WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id")
     boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId);
    @Insert("\tINSERT INTO tj_order_detail(\n" +
//            "\torder_detail_id,\n" +
            "  order_id,\n" +
            "  pro_id,\n" +
            "  pro_result,\n" +
            "  tj_status,\n" +
            "  create_time,\n" +
            "  create_by,\n" +
            "  is_sampling,\n" +
            "  create_id,\n" +
            "  pro_type," +
            "flowing_water_id) \n" +
            "  \n" +
            "  SELECT #{orderId},a.pro_id,IFNULL(trim(b.pro_default),null),'1',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
            "FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id  WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} \n" +
            "\t\t\n" +
            "\tUNION\n" +
            "  \n" +
            "\tSELECT #{orderId},a.parent_pro_id,IFNULL(trim(b.pro_default),null),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
            " FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id  WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id")
    boolean saveJSYTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,
                                         @Param("cardId") String cardId,@Param("sl") String sl);
    @Insert("INSERT INTO tj_pure_tone_test (\n" +
            "  tj_num,\n" +
            "\tcus_id,\n" +
            "\tcus_name,\n" +
            "\tpro_id,\n" +
            "\tpro_name,\n" +
            "\tcreate_by,\n" +
            "\tcreate_time,\n" +
            "\tcreate_id\n" +
            ")\n" +
            "SELECT #{tjNum},b.cus_id,b.cus_name,'1740177341251154247','纯音听阈'," +
            "#{userName},SYSDATE(),#{userId} FROM tb_transition a LEFT JOIN tj_customer b " +
            "ON a.cus_id=b.cus_idcard WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId}  AND a.parent_pro_id IN('1740177341251154247') GROUP BY a.cus_id")
    boolean saveTjPureToneTesByCusId(@Param("cusId")String cusId,@Param("tjNum")String tjNum,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId);
    @Update("UPDATE tj_order_detail a SET\n" +
            "a.flowing_water_id=#{ls} ,\n" +
            "a.update_time=SYSDATE(),\n" +
            "a.update_by=#{userName},\n" +
            "a.update_id=#{userId}\n" +
            "WHERE a.order_id=#{orderId}")
    boolean updateTjOrderDetailsByOrderId(@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("ls")String ls);
    @Select("SELECT *\n" +
            "FROM `tj_order_detail` \n" +
            "where order_id=#{orderId}\n" +
            "and pro_id IN\n" +
            "(select pro_id from tj_project where pro_parent_id=#{proParentId} and deleted=0 and pro_status=0)")
    public List<TjOrderDetail> getDetailByOrderIdAndParId(@Param("orderId")Long orderId,@Param("proParentId")Long proParentId);
    public List<TjOrderDetail> getDetailByOrderIdAndParIds(@Param("orderId")Long orderId,@Param("proParentIds")List<Long> proParentIds);
    @Select("call pro_lis_sqdbgd(1,#{tjnumber,mode=IN})")
//    @Select("select * from test_detail")
    List<TjOrderDetail> addHuaYanTable(@Param("tjnumber") String tjnumber);
    @Select("call pro_checkhyAndcg(1,#{tjnumber,mode=IN})")
    List<TjOrderDetail> addHuaYanAndCgTable(String tjnumber);
    @Delete("delete\n" +
            " from tj_order_detail\n" +
            " where jxbz = #{jxbz}")
    void deleteTjOrderDetailByjxbz(String jxbz);
    @Select("SELECT\n" +
            "\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%身高%' THEN aa.jg END),'无') shenggao,\n" +
            "\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%体重%' THEN aa.jg END),'无') tizhong,\n" +
            "\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%指数%' THEN aa.jg END),'无') tizhongzhishu,\n" +
            "\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%收缩压%' THEN aa.jg END),'无') shousuoya,\n" +
            "\tIFNULL(SUM(CASE WHEN aa.mc LIKE '%舒张压%' THEN aa.jg END),'无') shuzhangya\n" +
            "FROM\n" +
            "\t(\n" +
            "\tSELECT\n" +
            "\t\tc.pro_name mc,\n" +
            "\t\tb.pro_result jg \n" +
            "\tFROM\n" +
            "\t\ttj_order a\n" +
            "\t\tJOIN tj_order_detail b ON a.order_id = b.order_id\n" +
            "\t\tJOIN tj_project c ON c.pro_id = b.pro_id \n" +
            "\tWHERE\n" +
            "\t\ta.tj_number =#{tjNum} \n" +
            "\t\tAND c.pro_parent_id != 0 \n" +
            "\t\tAND (\n" +
            "\t\t\tc.pro_name LIKE '%身高%' \n" +
            "\t\t\tOR c.pro_name LIKE '%体重%' \n" +
            "\t\t\tOR c.pro_name LIKE '%指数%' \n" +
            "\t\t\tOR c.pro_name LIKE '%收缩压%' \n" +
            "\t\tOR c.pro_name LIKE '%舒张压%' \n" +
            "\t)) aa ")
    List<ShenGaoTiZhongVo> getShenGaoTiZhongList(String tjNum);
//    @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
//            "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
//            " WHERE a.deleted=0 AND !ISNULL(a.flowing_water_id) AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
    @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
            "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
            " WHERE a.deleted=0 AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1")
    List<TjOrderDetail> getCaiYangDengJi(Long orderId);
    @Select("SELECT a.* FROM tj_order_detail a LEFT JOIN tj_project b ON a.pro_id=b.pro_id \n" +
            "LEFT JOIN sys_dept c ON c.dept_id=b.dept_id \n" +
            " WHERE a.deleted=0 AND a.order_id=#{orderId} and b.pro_parent_id = 0 AND c.org_type=1 AND a.jxbz = #{jxbz}")
    List<TjOrderDetail> getCaiYangDengJiJxbz(@Param("orderId") Long orderId,@Param("jxbz") String jxbz);
    @Select("call tj_check_yclist(1,#{tjnumber,mode=IN})")
    List<TjOrderDetail> getzongjianyishengchakanyichangxiangmu(String tjNumber);
    @Select("call tj_check_yclist(4,#{tjNumber,mode=IN})")
    List<TjOrderDetail> getzongjianyishengchakanyichangxiangmu4(@Param("tjNumber") String tjNumber);
    @Update("UPDATE tj_order_detail a SET\n" +
            "a.flowing_water_id=#{ls} ,\n" +
            "a.update_time=SYSDATE()\n" +
            "WHERE a.order_id=#{orderId} and a.jxbz=#{jxbz}")
    void updateTjOrderDetailsFlowingWaterIdByJxbz(@Param("orderId") String orderId, @Param("jxbz")String jxbz,@Param("ls")String ls);
    @Update("UPDATE tj_order_detail a SET\n" +
            "a.flowing_water_id=#{ls} ,\n" +
            "a.update_time=SYSDATE()\n" +
            "WHERE a.order_id=#{orderId} and isnull(a.jxbz)")
    void updateTjOrderDetailsFlowingWaterIdByJxbzisnull(@Param("orderId") String orderId,@Param("ls")String ls);
    @Update("UPDATE tj_order_detail a SET\n" +
            "a.deleted=1 \n" +
            "WHERE a.order_detail_id=#{id}")
    void updateTjOrderDetailDel(@Param("id") String id);
    @Select("SELECT p.pro_id,p.pro_name,p.pro_parent_id,o.order_id,p.sl * p.pro_price as price,d.dept_id,d.dept_name\n" +
            " FROM tj_order_detail o \n" +
            " LEFT JOIN tj_project p ON o.pro_id = p.pro_id\n" +
            " LEFT JOIN sys_dept d ON p.dept_id = d.dept_id\n" +
            "  WHERE order_id = #{orderId} AND p.pro_parent_id <>0 AND o.is_return = #{type}")
    List<ProFcListVo> getFcList(@Param("orderId") Long orderId, @Param("type") Integer type);
}