package com.cim.idm.dao; import com.cim.idm.model.dto.delivery.DeliveryDto; import com.cim.idm.model.dto.delivery.DeliveryRelationDto; import com.cim.idm.model.dto.delivery.StoreDetailDto; import com.cim.idm.model.po.delivery.MaterialDelivery; import com.cim.idm.model.po.delivery.MaterialDeliveryReceive; import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.dto.PurchaseDto; import com.cim.idm.model.vo.DeliveryReceiveDetailVo; import com.cim.idm.model.vo.MaterialReceiveRequestVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; @Component @Mapper public interface DeliveryDao { /** * 新增到货单 */ int createDelivery(@Param("dto") DeliveryDto dto, @Param("state") String state); /** * 新增到货单关系 */ int createRelation(@Param("receiveList") List receiveList); /** * 获取采购订单 */ List getReceiveList(@Param("dto") PurchaseDto dto, @Param("typeList") List typeList); /** * 获取入库详情 */ @MapKey("storeDetail") List> getStoreDetail(@Param("siteName") String siteName, @Param("nameList") List nameList, @Param("deliveryName") String deliveryName); /** * 获取入库批次 */ @MapKey("storeCharge") List> getStoreCharge(@Param("siteName") String siteName, @Param("nameList") List nameList); /** * 根据 key 获取值 */ MaterialDelivery getByKey(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据 key 获取采购单 */ MaterialReceiveRequest getReceiveByKey(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据到库单获取采购单名称 */ List getReceiveByDelivery(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据到库单获取采购单名称 * @param nameList 到库单 * @return 采购单名称列表 */ List getReceiveDetail(@Param("nameList") List nameList); }