fix(firstleg): execute container customer scope query
This commit is contained in:
@@ -106,7 +106,7 @@ public interface ContainerBookingMapper extends BaseMapper<ContainerBookingEntit
|
|||||||
@Select("SELECT COUNT(*) FROM fl_loading_pick_task t JOIN fl_loading_plan p ON p.id=t.loading_plan_id WHERE p.container_booking_id=#{id}") int hasPickTask(@Param("id") long id);
|
@Select("SELECT COUNT(*) FROM fl_loading_pick_task t JOIN fl_loading_plan p ON p.id=t.loading_plan_id WHERE p.container_booking_id=#{id}") int hasPickTask(@Param("id") long id);
|
||||||
@Select("SELECT COUNT(*) FROM fl_loading_evidence e JOIN fl_loading_plan_item i ON i.inbound_id=e.inbound_id AND i.account_id=e.tenant_id JOIN fl_loading_plan p ON p.id=i.loading_plan_id WHERE p.container_booking_id=#{id} AND i.deleted=0 AND e.status='ACTIVE'") int hasEvidence(@Param("id") long id);
|
@Select("SELECT COUNT(*) FROM fl_loading_evidence e JOIN fl_loading_plan_item i ON i.inbound_id=e.inbound_id AND i.account_id=e.tenant_id JOIN fl_loading_plan p ON p.id=i.loading_plan_id WHERE p.container_booking_id=#{id} AND i.deleted=0 AND e.status='ACTIVE'") int hasEvidence(@Param("id") long id);
|
||||||
@Select("SELECT COUNT(*) FROM fl_container_document WHERE container_booking_id=#{id}") int hasDocuments(@Param("id") long id);
|
@Select("SELECT COUNT(*) FROM fl_container_document WHERE container_booking_id=#{id}") int hasDocuments(@Param("id") long id);
|
||||||
@Select("SELECT COUNT(*) FROM fl_loading_plan_item i JOIN fl_loading_plan p ON p.id=i.loading_plan_id WHERE p.container_booking_id=#{id} AND i.deleted=0 AND i.account_id<>#{customerId}") int hasMismatchedCustomerItems(@Param("id") long id, @Param("customerId") long customerId);
|
@Select("SELECT COUNT(*) FROM fl_loading_plan_item i JOIN fl_loading_plan p ON p.id=i.loading_plan_id WHERE p.container_booking_id=#{id} AND i.deleted=0 AND i.account_id<>#{customerId}") int hasMismatchedCustomerItems(@Param("id") long id, @Param("customerId") long customerId);
|
||||||
|
|
||||||
@Update("""
|
@Update("""
|
||||||
UPDATE fl_container_booking SET container_no=#{containerNo}, voyage_no=#{voyageNo},
|
UPDATE fl_container_booking SET container_no=#{containerNo}, voyage_no=#{voyageNo},
|
||||||
|
|||||||
+9
@@ -48,6 +48,15 @@ class ContainerBookingMapperContractTest {
|
|||||||
.contains("customer_item.account_id = #{query.customerId}");
|
.contains("customer_item.account_id = #{query.customerId}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("首次关联客户隔离查询使用原生不等号")
|
||||||
|
void customerMismatchQueryUsesNativeSqlOperator() throws Exception {
|
||||||
|
String sql = ContainerBookingMapper.class
|
||||||
|
.getDeclaredMethod("hasMismatchedCustomerItems", long.class, long.class)
|
||||||
|
.getAnnotation(Select.class).value()[0];
|
||||||
|
assertThat(sql).contains("i.account_id<>#{customerId}").doesNotContain("<>");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("草稿完整更新和预装运输白名单都带版本与状态门禁")
|
@DisplayName("草稿完整更新和预装运输白名单都带版本与状态门禁")
|
||||||
void guardsUpdatesInSql() {
|
void guardsUpdatesInSql() {
|
||||||
|
|||||||
Reference in New Issue
Block a user