fix(firstleg): map PDA query rows to concrete beans

This commit is contained in:
2026-08-12 10:37:50 +08:00
parent b90470af97
commit 91c6ebca5c
3 changed files with 67 additions and 19 deletions
@@ -25,13 +25,26 @@ public interface LoadingPickItemMapper extends BaseMapper<LoadingPickItemEntity>
""") """)
List<CartonLabelRow> selectTaskCartonLabels(@Param("taskId") long taskId); List<CartonLabelRow> selectTaskCartonLabels(@Param("taskId") long taskId);
interface CartonLabelRow { class CartonLabelRow {
Long getPickItemId(); private Long pickItemId;
Long getTenantId(); private Long tenantId;
String getOrderNo(); private String orderNo;
String getInboundCode(); private String inboundCode;
String getCargoName(); private String cargoName;
String getBoxCode(); private String boxCode;
public Long getPickItemId() { return pickItemId; }
public void setPickItemId(Long pickItemId) { this.pickItemId = pickItemId; }
public Long getTenantId() { return tenantId; }
public void setTenantId(Long tenantId) { this.tenantId = tenantId; }
public String getOrderNo() { return orderNo; }
public void setOrderNo(String orderNo) { this.orderNo = orderNo; }
public String getInboundCode() { return inboundCode; }
public void setInboundCode(String inboundCode) { this.inboundCode = inboundCode; }
public String getCargoName() { return cargoName; }
public void setCargoName(String cargoName) { this.cargoName = cargoName; }
public String getBoxCode() { return boxCode; }
public void setBoxCode(String boxCode) { this.boxCode = boxCode; }
} }
@Update("UPDATE fl_loading_plan_item SET package_count=#{pickedCount},updated_by=#{operatorId}," @Update("UPDATE fl_loading_plan_item SET package_count=#{pickedCount},updated_by=#{operatorId},"
@@ -61,17 +61,40 @@ public interface LoadingPickTaskMapper extends BaseMapper<LoadingPickTaskEntity>
List<PendingTaskRow> selectPendingForOperator(@Param("operatorId") long operatorId, List<PendingTaskRow> selectPendingForOperator(@Param("operatorId") long operatorId,
@Param("keyword") String keyword); @Param("keyword") String keyword);
interface PendingTaskRow { class PendingTaskRow {
Long getTaskId(); private Long taskId;
Long getLoadingPlanId(); private Long loadingPlanId;
String getContainerNo(); private String containerNo;
Long getWarehouseId(); private Long warehouseId;
String getWarehouseName(); private String warehouseName;
String getTaskStatus(); private String taskStatus;
String getWorkflowStatus(); private String workflowStatus;
Integer getVersion(); private Integer version;
Integer getAssignmentVersion(); private Integer assignmentVersion;
Integer getItemCount(); private Integer itemCount;
Integer getPendingItemCount(); private Integer pendingItemCount;
public Long getTaskId() { return taskId; }
public void setTaskId(Long taskId) { this.taskId = taskId; }
public Long getLoadingPlanId() { return loadingPlanId; }
public void setLoadingPlanId(Long loadingPlanId) { this.loadingPlanId = loadingPlanId; }
public String getContainerNo() { return containerNo; }
public void setContainerNo(String containerNo) { this.containerNo = containerNo; }
public Long getWarehouseId() { return warehouseId; }
public void setWarehouseId(Long warehouseId) { this.warehouseId = warehouseId; }
public String getWarehouseName() { return warehouseName; }
public void setWarehouseName(String warehouseName) { this.warehouseName = warehouseName; }
public String getTaskStatus() { return taskStatus; }
public void setTaskStatus(String taskStatus) { this.taskStatus = taskStatus; }
public String getWorkflowStatus() { return workflowStatus; }
public void setWorkflowStatus(String workflowStatus) { this.workflowStatus = workflowStatus; }
public Integer getVersion() { return version; }
public void setVersion(Integer version) { this.version = version; }
public Integer getAssignmentVersion() { return assignmentVersion; }
public void setAssignmentVersion(Integer assignmentVersion) { this.assignmentVersion = assignmentVersion; }
public Integer getItemCount() { return itemCount; }
public void setItemCount(Integer itemCount) { this.itemCount = itemCount; }
public Integer getPendingItemCount() { return pendingItemCount; }
public void setPendingItemCount(Integer pendingItemCount) { this.pendingItemCount = pendingItemCount; }
} }
} }
@@ -5,9 +5,21 @@ import com.baiyue.firstleg.mapper.LoadingPickTaskMapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.lang.reflect.Modifier;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
class LoadingPickPdaTaskSqlContractTest { class LoadingPickPdaTaskSqlContractTest {
@Test
void queryRowsAreConcreteBeansThatMyBatisCanInstantiate() throws Exception {
assertThat(LoadingPickTaskMapper.PendingTaskRow.class.isInterface()).isFalse();
assertThat(LoadingPickItemMapper.CartonLabelRow.class.isInterface()).isFalse();
assertThat(Modifier.isPublic(LoadingPickTaskMapper.PendingTaskRow.class.getConstructor().getModifiers()))
.isTrue();
assertThat(Modifier.isPublic(LoadingPickItemMapper.CartonLabelRow.class.getConstructor().getModifiers()))
.isTrue();
}
@Test @Test
void pendingTasksAreLimitedToUnassignedOrCurrentOperatorWithoutCustomerInput() throws Exception { void pendingTasksAreLimitedToUnassignedOrCurrentOperatorWithoutCustomerInput() throws Exception {
String sql = LoadingPickTaskMapper.class String sql = LoadingPickTaskMapper.class