zjh
2023-10-12 8cde7ee1143bae70eb68d2b75f572d5b4dbadf98
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -3,12 +3,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ltkj.hosp.domain.TbTransition;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@@ -89,4 +87,123 @@
    @Select("SELECT SUM(a.now_price) now_price FROM tb_transition a WHERE cus_id=#{cusId}")
    BigDecimal sumNowPrice(String cusId);
    @Select("SELECT MAX(a.create_time) FROM tb_transition a WHERE a.cus_id=#{cusId} ")
    Date getTbTransitionCreateTimeByCusId(String cusId);
    @Update("UPDATE tb_transition a SET \n" +
            "a.ord_price=a.now_price,\n" +
            "a.now_price=a.ord_price*#{discount}" +
            " WHERE a.cus_id=#{cusId} ")
    boolean updateTbTransitionPriceByCusId(@Param("cusId")String cusId,@Param("discount")BigDecimal discount);
    @Insert("INSERT INTO tb_transition(\n" +
            "   cus_id,\n" +
            "   pac_id,\n" +
            "   pac_name,\n" +
            "   pro_id,\n" +
            "   pro_name,\n" +
            "   parent_pro_id,\n" +
            "   parent_pro_name,\n" +
            "   ord_price,\n" +
            "   now_price,\n" +
            "   create_time,\n" +
            "   pro_check_method,\n" +
            "   pro_type\n" +
            ")\n" +
            "SELECT\n" +
            "\t#{cusId},\n" +
            "\ta.pac_id,\n" +
            "\td.pac_name,\n" +
            "\tc.pro_id,\n" +
            "\tc.pro_name,\n" +
            "\tb.pro_id,\n" +
            "\tb.pro_name,\n" +
            "\tTRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),\n" +
            "\tTRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),\n" +
            "\tSYSDATE(),\n" +
            "\tc.pro_check_method,\n" +
            "\tIFNULL(c.pro_type,'')\n" +
            "FROM\n" +
            "\ttj_package_project a\n" +
            "\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id\n" +
            "\tLEFT JOIN tj_project c ON b.pro_id = c.pro_parent_id\n" +
            "\tLEFT JOIN tj_package d ON a.pac_id=d.pac_id\n" +
            "\t\n" +
            "\tWHERE a.pac_id=#{pacId}")
    void saveRedisTransitionByPacId(@Param("cusId") String cusId,@Param("pacId") Long pacId);
    @Insert("INSERT INTO tb_transition(\n" +
            "   cus_id,\n" +
            "   pro_id,\n" +
            "   pro_name,\n" +
            "   parent_pro_id,\n" +
            "   parent_pro_name,\n" +
            "   ord_price,\n" +
            "   now_price,\n" +
            "   create_time,\n" +
            "   pro_check_method,\n" +
            "   pro_type\n" +
            ")\n" +
            "SELECT\n" +
            "\t#{cusId},\n" +
            "\tb.pro_id,\n" +
            "\tb.pro_name,\n" +
            "\ta.pro_id,\n" +
            "\ta.pro_name,\n" +
            "\tb.pro_price,\n" +
            "\tb.pro_price,\n" +
            "\tSYSDATE(),\n" +
            "\tb.pro_check_method,\n" +
            "\tIFNULL(b.pro_type,'')\n" +
            "FROM\n" +
            "\ttj_project a\n" +
            "\tLEFT JOIN tj_project b ON b.pro_parent_id = a.pro_id \n" +
            "WHERE\n" +
            "\ta.pro_id = #{proId} ")
    void saveRedisTransitionByProId(@Param("cusId")String cusId,@Param("proId") Long proId);
    @Insert("INSERT INTO tb_transition(\n" +
            "   cus_id,\n" +
            "   pro_id,\n" +
            "   pro_name,\n" +
            "   parent_pro_id,\n" +
            "   parent_pro_name,\n" +
            "   ord_price,\n" +
            "   now_price,\n" +
            "   create_time,\n" +
            "   pro_check_method,\n" +
            "   pro_type\n" +
            ")\n" +
            "SELECT\n" +
            "#{cusId},\n" +
            "c.pro_id,\n" +
            "c.pro_name,\n" +
            "b.pro_id,\n" +
            "b.pro_name,\n" +
            "c.pro_price * (a.limits/10),\n" +
            "c.pro_price * (a.limits/10),\n" +
            "SYSDATE(),\n" +
            "c.pro_check_method,\n" +
            "c.pro_type\n" +
            "FROM\n" +
            "\ttj_grouping_pro a\n" +
            "\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id \n" +
            "\tLEFT JOIN tj_project c ON c.pro_parent_id=b.pro_id\n" +
            "WHERE 1=1 AND a.grouping_id =#{groupingId} ")
    boolean saveTemoTransitionByGroupingId(@Param("cusId")String cusId,@Param("groupingId")String groupingId);
    @Select("SELECT b.price_now FROM \n" +
            "(SELECT a.pac_id FROM tb_transition a  WHERE\n" +
            "\ta.cus_id = #{cusId} \n" +
            "GROUP BY\n" +
            "\ta.pac_id) aa \n" +
            "LEFT JOIN tj_package_project b\n" +
            "\tON aa.pac_id=b.pac_id WHERE b.pro_id=#{proId} ")
    BigDecimal getTbTransitionPriceAndOrdPrice(@Param("cusId")String cusId,@Param("proId")Long proId);
}