package com.huaheng.pc.shipment.shipmentHeader.service; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.mobile.shipment.Shipment; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.shipment.lockingWorkOrder.domain.LockingWorkOrder; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; import com.baomidou.mybatisplus.extension.service.IService; import com.huaheng.pc.task.taskHeader.domain.TaskHeader; import java.lang.reflect.InvocationTargetException; import java.math.BigDecimal; import java.util.Collection; import java.util.List; import java.util.Map; public interface ShipmentHeaderService extends IService<ShipmentHeader>{ //新增出库主单 AjaxResult<Boolean> saveHeader(ShipmentHeader shipmentHeader) ; //根据单据类型建单据号 String createCode(String shipmentType,String warehouseCode); //根据Id更新这个单据的首尾状态 AjaxResult updateShipmentStatus(int shipmentId); AjaxResult addHistory(ShipmentHeader shipmentHeader) throws InvocationTargetException, IllegalAccessException; //审核出库单 AjaxResult review(String ids); List<ShipmentHeader> selectListByCreated(); List<ShipmentHeader> getLatestShipment(); AjaxResult removeShipmentByHeaderId(Integer headerId); AjaxResult postBack(TaskHeader taskHeader,String id, Map<Integer, BigDecimal> detailsQtyMap); ShipmentHeader createShipmentHeader(LockingWorkOrder lockingWorkOrder); List<ShipmentHeader> listByCodes(Collection<String> codes, String warehouseCode); public AjaxResult deleteHeaderAndDetail(String ids); public int cleanDocuments(); }