ShipmentHeaderService.java 1.65 KB
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();
}