This commit is contained in:
2026-08-25 17:54:50 +08:00
parent 25cb3bfa54
commit 62407610cb
6 changed files with 68 additions and 14 deletions
@@ -24,7 +24,7 @@ public interface PdaPalletOperationMapper extends BaseMapper<PdaPalletOperation>
@Param("idempotencyKey") String idempotencyKey);
@Select(CONTENT_SELECT + "WHERE b.overseas_warehouse_id=#{warehouseId} AND p.pallet_id=#{palletId} " +
"AND (p.available_packages+p.hold_packages+p.allocated_packages+p.picked_packages+p.receiving_packages)&gt;0 " +
"AND (p.available_packages+p.hold_packages+p.allocated_packages+p.picked_packages+p.receiving_packages)>0 " +
"ORDER BY b.customer_id,b.inbound_code,p.id")
List<PalletInventoryRow> content(@Param("warehouseId") String warehouseId,
@Param("palletId") long palletId);
@@ -55,7 +55,7 @@ public interface PdaStocktakeItemMapper extends BaseMapper<PdaStocktakeItem> {
int counted(@Param("taskId") long taskId);
@Select("SELECT COUNT(*) FROM ll_pda_stocktake_item WHERE task_id=#{taskId} " +
"AND actual_packages IS NOT NULL AND difference_packages&lt;&gt;0")
"AND actual_packages IS NOT NULL AND difference_packages<>0")
int differences(@Param("taskId") long taskId);
@Select("SELECT id item_id,customer_id,balance_id,position_id,sku_code,product_name,inbound_code," +
@@ -1,5 +1,7 @@
package com.baiyue.lastleg.palletops.controller;
import com.baiyue.lastleg.palletops.mapper.PdaPalletOperationMapper;
import org.apache.ibatis.annotations.Select;
import org.junit.jupiter.api.Test;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping;
@@ -24,4 +26,12 @@ class PdaPalletOperationControllerContractTest {
.flatMap(annotation -> Arrays.stream(annotation.value())).collect(Collectors.toSet());
assertEquals(Set.of("/pallets/resolve", "/assemble", "/disassemble", "/swap", "/unbind"), paths);
}
@Test void palletContentAnnotationUsesNativeGreaterThanOperator() throws Exception {
String sql = String.join("", PdaPalletOperationMapper.class.getMethod("content", String.class, long.class)
.getAnnotation(Select.class).value());
assertTrue(sql.contains("receiving_packages)>0"));
assertFalse(sql.contains("&lt;"));
assertFalse(sql.contains("&gt;"));
}
}
@@ -4,6 +4,8 @@ import com.baiyue.lastleg.pda.move.controller.PdaInventoryMoveController;
import com.baiyue.lastleg.pda.move.dto.PdaInventoryMoveRequest;
import com.baiyue.lastleg.pda.stocktake.controller.PdaStocktakeController;
import com.baiyue.lastleg.pda.stocktake.dto.PdaStocktakeRequests;
import com.baiyue.lastleg.pda.stocktake.mapper.PdaStocktakeItemMapper;
import org.apache.ibatis.annotations.Select;
import org.junit.jupiter.api.Test;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,4 +40,11 @@ class PdaInventoryOperationContractTest {
assertThat(fields).doesNotContainAnyElementsOf(forbidden);
}
}
@Test
void stocktakeAnnotationSqlUsesNativeComparisonOperators() throws Exception {
String sql = String.join("", PdaStocktakeItemMapper.class.getMethod("differences", long.class)
.getAnnotation(Select.class).value());
assertThat(sql).contains("difference_packages<>0").doesNotContain("&lt;", "&gt;");
}
}