LogisticsDomMapper.java 1.53 KB
package com.huaheng.pc.tool.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.huaheng.api.erp.domain.tracedBack.LogisticsDom;
import com.huaheng.api.erp.service.SqlProvider;
import com.huaheng.pc.monitor.job.domain.InventoryDiscrepancy;
import org.apache.ibatis.annotations.*;


import java.util.List;

/**
 * @author Administrator
 */
@Mapper
public interface LogisticsDomMapper extends BaseMapper<LogisticsDom> {

    @Results({
            @Result(column = "customerCode", property = "customerCode"),
            @Result(column = "customerName", property = "customerName"),
            @Result(column = "invoiceNumber", property = "invoiceNumber"),
            @Result(column = "shipmentNote", property = "shipmentNote"),
            @Result(column = "confirmedArrivalTime", property = "confirmedArrivalTime"),
            @Result(column = "driverInformation", property = "driverInformation"),
            @Result(column = "receiptCode", property = "invoiceNumber") // Ensure this mapping
    })
    @SelectProvider(type = SqlProvider.class, method = "selectCustomQuery")
    List<LogisticsDom> selectCustomQuery(@Param("boxCode") String boxCode, @Param("chipCode") String chipCode);

    @Select("SELECT h.id AS headerId, h.totalQty, SUM(d.qty) AS detailQtySum " +
            "FROM inventory_header h " +
            "LEFT JOIN inventory_detail d ON h.id = d.inventoryHeaderId " +
            "GROUP BY h.id, h.totalQty " +
            "HAVING h.totalQty != detailQtySum")
    List<InventoryDiscrepancy> findInventoryDiscrepancies();

}