package com.cim.idm.dao; import com.cim.idm.model.dto.delivery.*; 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, @Param("isBatch") String isBatch); /** * 获取入库详情 */ @MapKey("storeDetail") List> getStoreDetail(@Param("siteName") String siteName, @Param("nameList") List nameList, @Param("typeList") List typeList, @Param("deliveryName") String deliveryName); /** * 获取入库详情 */ @MapKey("materialDetail") List> getMaterialDetail(@Param("siteName") String siteName, @Param("nameList") List nameList, @Param("typeList") List typeList, @Param("deliveryName") String deliveryName); /** * 获取入库批次 */ @MapKey("storeCharge") List> getStoreCharge(@Param("siteName") String siteName, @Param("documentName") String documentName); /** * 根据 key 获取值 */ MaterialDelivery getByKey(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据 key 获取采购单 */ MaterialReceiveRequest getReceiveByKey(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据到库单获取关系 */ List getRelByDelivery(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据到库单获取采购单名称 * @param storeDetailDto 到库单 * @return 采购单名称列表 */ List getReceiveByDelivery(@Param("dto") StoreDetailDto storeDetailDto); /** * 根据单号和物料获取单据详情 * @param documentName 单据 * @param materialSpec 物料 * @return 单据详情 */ List getReceiveByMaterialSpec(@Param("documentName") String documentName, @Param("materialSpec") String materialSpec); /** * 根据单号和物料获取到货单单据详情 * @param documentName 单据 * @param materialSpec 物料 * @return 单据详情 */ List getDeliveryByMaterialSpec(@Param("documentName") String documentName, @Param("materialSpec") String materialSpec); /** * 根据到库单获取采购单名称 * @param nameList 到库单 * @return 采购单名称列表 */ List getReceiveDetail(@Param("nameList") List nameList); /** * 获取到货单 * @param dto 请求 * @return 采购订单 */ List getDeliveryList(@Param("dto") DeliveryListDto dto); /** * 删除到货单 * @param deliveryDelDto 请求 * @return 结果 */ int delDelivery(@Param("dto") DeliveryDelDto deliveryDelDto); /** * 删除到货单关系 * @param deliveryDelDto 请求 * @return 结果 */ int delDeliveryRel(@Param("dto") DeliveryDelDto deliveryDelDto); /** * 更新到货单 * @param deliveryEditDto 请求 * @return 结果 */ int editDelivery(@Param("dto") DeliveryEditDto deliveryEditDto); }