package com.prolog.cs.biz.outbound.dao;

import com.prolog.cs.basic.warehouse.model.BaseWmsWhWorkstation;
import com.prolog.cs.biz.outbound.model.PickTaskD;
import com.prolog.cs.biz.outbound.model.PickTaskH;
import com.prolog.cs.biz.outbound.model.dto.*;
import com.prolog.cs.biz.outbound.model.entity.BarcodeHDO;
import com.prolog.cs.biz.outbound.model.entity.WaveBillDDO;
import com.prolog.cs.biz.outbound.model.vo.TaskCountVo;
import com.prolog.cs.biz.outbound.model.vo.check.InnerCheckBillVO;
import com.prolog.cs.biz.outbound.model.vo.check.InnerCheckTaskDVO;
import com.prolog.eis.core.dto.business.outboundtask.OutboundTaskDetailIssueDto;
import com.prolog.eis.core.dto.business.outboundtask.OutboundTaskIssueDto;
import com.prolog.framework.dao.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface PickTaskHMapper extends BaseMapper<PickTaskH> {

    /**
     * 查询库存预占
     *
     * @param enterpriseId
     * @param warehouseId
     * @param locatorTypes
     * @return
     */
    // 新增参数，是否是功能库房 - by Huanglh 2022-01-20
    List<WaveStorageDTO> getWaveStorageList(@Param("waveId") String waveId,@Param("consignorId") String consignorId,@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId,@Param("warehouseLocatorType") String warehouseLocatorType, @Param("locatorTypes") List<String> locatorTypes,@Param("type")Integer type,@Param("waveType")String waveType,@Param("isFunctionRoom")String isFunctionRoom);
    List<WaveStorageDTO> getAgvStorageList(@Param("waveId") String waveId,@Param("consignorId") String consignorId,@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId,@Param("warehouseLocatorType") String warehouseLocatorType, @Param("locatorTypes") List<String> locatorTypes,@Param("type")Integer type,@Param("waveType")String waveType);

    List<WaveStorageDTO> getWaveStorageDeviceList(@Param("waveId") String waveId,@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("locatorTypes") List<String> locatorTypes,@Param("type")Integer type,@Param("waveType")String waveType);

    List<PickTaskH> getPickTaskHList(@Param("bldgId")String bldgId,@Param("containerCode") String containerCode, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("count") Integer count, @Param("pickTaskTypes") List<Integer> pickTaskTypes, @Param("areaCodes") List<String> areaCodes,@Param("workType")String workType);

    List<PickTaskH> getPickTaskWholeList(
            @Param("bldgId")String bldgId,
            @Param("containerCode") String containerCode,
            @Param("enterpriseId") String enterpriseId,
            @Param("warehouseId") String warehouseId,
            @Param("count") Integer count,
            @Param("pickTaskTypes") List<Integer> pickTaskTypes,
            @Param("areaCodes") List<String> areaCodes,
            @Param("workType")String workType,
            @Param("pickTaskIds")String[] pickTaskIds,
            @Param("containerNos")String[] containerNos
    );

    List<PickTaskH> listPickTaskWholeRF(
            @Param("bldgId")String bldgId,
            @Param("containerCode") String containerCode,
            @Param("enterpriseId") String enterpriseId,
            @Param("warehouseId") String warehouseId,
            @Param("count") Integer count,
            @Param("pickTaskTypes") List<Integer> pickTaskTypes,
            @Param("areaCodes") List<String> areaCodes,
            @Param("workType")String workType,
            @Param("pickTaskIds")String[] pickTaskIds,
            @Param("containerNos")String[] containerNos
    );

    List<PickTaskH> getSpecialPickTaskList(@Param("bldgId")String bldgId,@Param("containerCode") String containerCode, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("count") Integer count, @Param("pickTaskTypes") List<Integer> pickTaskTypes, @Param("areaCodes") List<String> areaCodes,@Param("workType")String workType);

    List<PickTaskH> getPickTaskHListByMove(@Param("bldgId")String bldgId, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("count") Integer count, @Param("areaCodes") List<String> areaCodes,@Param("workType")String workType,@Param("operatorCode")String operatorCode,@Param("pickTaskType")Integer pickTaskType);

    List<PickTaskH> getPickTaskHListByBill(@Param("bldgId")String bldgId, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId,  @Param("areaCodes") List<String> areaCodes,@Param("type")String type);
    List<PickTaskH> getPickTaskHListByBill2(@Param("bldgId")String bldgId, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId,  @Param("areaCodes") List<String> areaCodes,@Param("type")String type, @Param("operatorCode")String operatorCode);

    Integer getUnConfirmCount(@Param("pickTaskDIds") String [] pickTaskDIds,@Param("pickTaskDId") String pickTaskDId, @Param("enterpriseId") String enterpriseId);

    Integer getUnConfirmPickCount(@Param("operatorCode") String operatorCode, @Param("warehouseId") String warehouseId);

    Integer getUnConfirmCountH(@Param("pickTaskId")String pickTaskId,@Param("pickOrderId") String pickOrderId,@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId);

    List<PickTaskH> findCheckingTask(@Param("containerCode") String containerCode);


    Integer getTotalItem(@Param("containerCode") String containerCode);

    Integer getTotalLot(@Param("containerCode") String containerCode);

    Integer getCheckedItem(@Param("containerCode") String containerCode);

    List<InnerCheckBillVO> getContainerInfo(@Param("containerCode") String containerCode, @Param("stationCode") String stationCode);

    String getStatus(@Param("containerCode") String containerCode,@Param("billId") String billId);

    /**
     * 查询拣选任务明细的库位集合
     *
     * @param enterpriseId
     * @param warehouseId
     * @param pickTaskId
     * @return
     */
    List<String> getLocatorIdList(@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("pickTaskId") String pickTaskId);

    List<WaveBillDDO> getBillDList(@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("waveStorageId") String waveStorageId);

    List<WaveBillDDO> getBillDListV2(@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("waveStorageIds") List<String> waveStorageIds);

    List<BaseWmsWhWorkstation> getStationByBillId(@Param("pickTaskId") String pickTaskId,@Param("areaCode") String areaCode,@Param("stationIds") List<String> stationIds);

    List<BaseWmsWhWorkstation> getStationByBill(@Param("billId") String billId,@Param("areaCode") String areaCode);

    List<BaseWmsWhWorkstation> getStationOfWorks(@Param("stationIds") List<String> stationIds, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId);

    List<PickTaskH> getTaskHList(@Param("pickOrderId") String pickOrderId);

    List<PickTaskDDTO> getTaskDList(@Param("pickTaskId") String pickTaskId);

    List<PickTaskDDTO> getPickTaskList(@Param("pickOrderId") String pickOrderId, @Param("itemCode") String itemCode, @Param("containerCode") String containerCode);

    List<PickTaskDDTO> getPickTaskByIds(@Param("pickTaskDIds") List<String> pickTaskDIds);

    List<PickTaskDDTO> getPickTaskAllList(
            @Param("bldgId")String bldgId,
            @Param("type") String type,
            @Param("pickOrderId") String pickOrderId,
            @Param("itemCode") String itemCode,
            @Param("operatorCode") String operatorCode,
            @Param("barcode") String barcode,
            @Param("srcCode") String srcCode,
            @Param("enterpriseId") String enterpriseId,
            @Param("warehouseId") String warehouseId,
            @Param("containerNo")String containerNo,
            @Param("billType")String billType
    );

    List<PickTaskDDTO> getWaitPickTaskList(
            @Param("bldgId")String bldgId,
            @Param("pickTaskType")String pickTaskType,
            @Param("warehouseAreaCode") String warehouseAreaCode,
            @Param("itemCode") String itemCode,
            @Param("srcCode") String srcCode,
            @Param("enterpriseId") String enterpriseId,
            @Param("warehouseId") String warehouseId,
            @Param("tab") String tab,
            @Param("containerCode") String containerCode
    );

    List<InnerCheckTaskDVO> getPickTaskds(@Param("billId") String billId, @Param("containerCode") String containerCode, @Param("itemCode") String itemCode);

    List<PickTaskDDTO> getMixPickTaskAllList(
            @Param("bldgId")String bldgId,
            @Param("pickTaskType")String pickTaskType,
            @Param("pickOrderId")String pickOrderId,
            @Param("itemCode")String itemCode,
            @Param("operatorCode")String operatorCode,
            @Param("srcCode")String srcCode,
            @Param("warehouseId")String warehouseId,
            @Param("enterpriseId")String enterpriseId
    );

    List<String> getMixPickTaskHIds(@Param("pickOrderId")String pickOrderId,@Param("pickTaskType")String pickTaskType,@Param("bldgId")String bldgId,@Param("warehouseId")String warehouseId,@Param("enterpriseId")String enterpriseId);

    /**
     * 查询同来源单号的拣选任务列表（整散合一/功能库房）
     * @param enterpriseId
     * @param warehouseId
     * @return
     */
//    List<PickTaskH> getPickTaskHOfOrder(@Param("bldgId")String bldgId,@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId);

    List<WaveBillDODTO> getPickTaskHOut(@Param("bldgId")String bldgId,@Param("billCode") String billCode,@Param("barcode") String barcode,@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId);

    List<WaveBillDODTO> getOuterCheckH(@Param("srcCode")String srcCode,@Param("barcode")String barcode,@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("operatorCode") String operatorCode);
    List<WaveBillDODTO> getUnOuterCheckH(@Param("barcode")String barcode,@Param("srcCode")String srcCode,@Param("type")Integer type,@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<WaveBillDODTO> getUnOuterCheckH2(@Param("barcode")String barcode,@Param("srcCode")String srcCode,@Param("type")Integer type,@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("partlyRed") String partlyRed,@Param("billtypeGroup") String billtypeGroup,@Param("enterpriseId") String enterpriseId);

    //外复核-草单主表
    List<WaveBillDODTO> getOuterCheckHOrder(@Param("srcCode")String srcCode,@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<BarcodeHDO> getBarcodeHList(@Param("billGroupId") String billGroupId, @Param("warehouseId") String warehouseId,@Param("bldgId")String bldgId);

    List<OuterCheckDDTO> getOuterCheckD(@Param("srcCode") String barcodeId,@Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId,@Param("bldgId")String bldgId);

    List<PickTaskD> getOuterCheckPickTaskD(@Param("srcCodes") List<String> srcCodes,@Param("operatorCode") String operatorCode,@Param("enterpriseId") String enterpriseId);

    List<OuterTaskDDTO> outerCheckUnCheckApp(@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("orderNo") String orderNo,@Param("enterpriseId") String enterpriseId);

    List<OuterTaskDDTO> getUnOuterCheckHApp(@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId,@Param("barcode")String barcode);

    List<OuterTaskDDTO> askByBarcodeApp(@Param("operatorCode")String operatorCode,@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("barcode") String barcode);

    OuterTaskDDTO getItemByPickTaskDId(@Param("warehouseId") String warehouseId,@Param("pickTaskDId") String pickTaskDId);

    List<OuterTaskDDTO> getItemByBarcodeDId(@Param("warehouseId") String warehouseId,@Param("barcodeDId") String barcodeDId);

    int updateBarcodeHStatus(@Param("pickOrderId") String pickOrderId,@Param("warehouseId") String warehouseId);

    List<OuterTaskDDTO> getTotCount(@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId,@Param("barcode") String barcode,@Param("checkStatus") String checkStatus,@Param("billGroupId") String billGroupId);

    List<PickTaskDDTO> getPickTaskDList(
            @Param("pickTaskType")String pickTaskType,
            @Param("bldgId")String bldgId,
            @Param("pickOrderId") String pickOrderId,
            @Param("warehouseId") String warehouseId
    );

    List<PickTaskDDTO> getPickTaskDList2(@Param("pickTaskType")String pickTaskType,@Param("bldgId")String bldgId,@Param("pickOrderId") String pickOrderId,@Param("warehouseId") String warehouseId);

    List<PickTaskDDTO> getTaskHListByPickOrder(
            @Param("bldgId")String bldgId,
            @Param("pickOrderId") String pickOrderId,
            @Param("warehouseId") String warehouseId,
            @Param("operatorCode") String operatorCode
    );

    List<ContainerListDTO> getContainerList(@Param("warehouseId") String warehouseId, @Param("pickOrderId")String pickOrderId, @Param("itemId") String itemId, @Param("locatorCode") String locatorCode, @Param("manufacturerLotNum") String manufacturerLotNum);

    List<InvStockOutDTO> getPickTaskDId(@Param("bldgId")String bldgId,@Param("warehouseId") String warehouseId, @Param("pickTaskId")String pickTaskId, @Param("itemId") String itemId, @Param("locatorCode") String locatorCode, @Param("manufacturerLotNum") String manufacturerLotNum);

    InvStockOutDTO getDataByTaskDId(@Param("warehouseId") String warehouseId, @Param("pickTaskDId")String pickTaskDId);

    List<PickMoveCountDTO> getPickMoveCount(@Param("warehouseId") String warehouseId,@Param("pickTaskType") Integer pickTaskType);

    List<Integer> getPickTaskCount(@Param("warehouseId") String warehouseId,@Param("pickTaskType") Integer pickTaskType);

    String getMoveTaskId(@Param("pickTaskDId") String pickTaskDId,@Param("warehouseId") String warehouseId);

    Long getUnAskPickCount(@Param("pickTaskType") Integer pickTaskType,@Param("warehouseId") String warehouseId,@Param("bldgId")String bldgId,@Param("areaCodes") List<String> areaCodes,@Param("type")Integer type);

    List<HandoverDetailDTO> getBarcodeDList(@Param("billGroupId") String billGroupId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    OutboundHandoverDTO getLclDetail(@Param("billGroupId") String billGroupId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);
    List<OutboundHandoverDTO> getLclDetails(@Param("billGroupId") String billGroupId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<OuterCheckItemDTO> getOuterCheckItem(@Param("srcCode") String srcCode,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    OuterCheckHeadDTO getOuterCheckHead(@Param("srcCode") String srcCode,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<OuterCheckHeadDTO> getOuterCheckHeadH(@Param("srcCode") String srcCode,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<OuterCheckHeadDTO> getDeliveryOuterHeadH(@Param("srcCode") String srcCode,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    Map<String,String> getItemCode(@Param("pickTaskDId") String srcCode,@Param("warehouseId") String warehouseId);

    List<OuterCheckItemDTO> getOuterCheckItemH(@Param("srcCode") String srcCode,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<OuterCheckItemDTO> getDeliveryOuterItemH(@Param("srcCode") String srcCode,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<Map<String,Object>> getWholeLabel(@Param("pickTaskDIds") List<String> pickTaskDIds,@Param("barcodeIds") List<String> barcodeIds,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<Map<String,Object>> getWholeMoveLabel(@Param("pickTaskDIds") List<String> pickTaskDIds,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    //整件拣货标签打印数据查询
    List<Map<String,Object>> wholeLabelRepairPrint(@Param("barcodeDId") List<String> barcodeDId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    //整件补货标签查询
    List<Map<String,Object>> replenishLabelRepairPrint(@Param("barcodeDId") List<String> barcodeDId,@Param("warehouseId") String warehouseId,@Param("enterpriseId") String enterpriseId);

    List<String> getStage(@Param("billGroupId") String billGroupId,@Param("enterpriseId") String enterpriseId);

    int getWholePcs(@Param("pickTaskId") String pickTaskId,@Param("enterpriseId") String enterpriseId);

    List<Integer> getRedCount(@Param("srcId") String srcId, @Param("srcLineId") String srcLineId, @Param("enterpriseId") String enterpriseId);

    int updateFlowStatus(@Param("flowStatus") String flowStatus,@Param("billGroupId") String billGroupId,@Param("warehouseId") String warehouseId);

    int updateFlowStatusApp(@Param("flowStatus") String flowStatus,@Param("barcode") String barcode,@Param("warehouseId") String warehouseId);

    List<PickTaskDDTO> getSpecialBillDList(@Param("srcCode") String billno,@Param("warehouseId") String warehouseId);

    Integer getPickingOrderCount(@Param("warehouseId") String warehouseId,@Param("operatorCode")String operatorCode);

    Integer getNotFinishCount(@Param("warehouseId") String warehouseId,@Param("operatorCode")String operatorCode);

    String getLastMoveBillId(@Param("warehouseId") String warehouseId,@Param("operatorCode")String operatorCode,@Param("pickTaskType")Integer pickTaskType);

    List<PickTaskH> getPickTaskHListByBill3(@Param("bldgId")String bldgId, @Param("billGroupId") String billGroupId, @Param("warehouseId") String warehouseId,  @Param("areaCodes") List<String> areaCodes, @Param("operatorCode")String operatorCode,@Param("pickTaskType")Integer pickTaskType);


    Map<String,Object> getAgvPickTaskH(@Param("pickTaskId") String pickTaskId,@Param("warehouseId") String warehouseId);

    OutboundTaskIssueDto getDevicePickTaskH(@Param("pickTaskId") String pickTaskId, @Param("warehouseId") String warehouseId);

    List<Map<String,Object>> getAgvPickTaskHList(@Param("pickTaskIds") List<String> pickTaskIds,@Param("warehouseId") String warehouseId);

    List<Map<String,Object>> getAgvPickTaskD(@Param("pickTaskId") String pickTaskId,@Param("warehouseId") String warehouseId);

    List<OutboundTaskDetailIssueDto> getDevicePickTaskD(@Param("pickTaskId") String pickTaskId, @Param("warehouseId") String warehouseId);

    Integer getMoveStrogeCount(@Param("billGroupId") String billGroupId,@Param("warehouseId") String warehouseId);

    Integer getMoveItemCount(@Param("billGroupId") String billGroupId,@Param("warehouseId") String warehouseId);

    List<String> getUnPickTaskIds(@Param("itemId") String itemId,@Param("batchNum") String batchNum,@Param("warehouseId") String warehouseId);

    List<WaveStorageDTO> getAgvMoveStorageList(@Param("pickTaskDIds") List<String> pickTaskDIds,@Param("warehouseId") String warehouseId);

    List<Map<String,Object>> getMoveLabel(
            @Param("pickTaskIds") List<String> pickTaskIds,
            @Param("warehouseId") String warehouseId,
            @Param("enterpriseId") String enterpriseId
    );

    List<Map<String,Object>> getPickLabel(
            @Param("pickTaskIds") List<String> pickTaskIds,
            @Param("warehouseId") String warehouseId,
            @Param("enterpriseId") String enterpriseId
    );

    List<TaskCountVo> getTaskCount(
            @Param("warehouseId") String warehouseId,
            @Param("enterpriseId") String enterpriseId,
            @Param("bldgId") String bldgId,
            @Param("areaCodes") List<String> areaCodes
    );


    List<TaskCountVo> getMoveCount(
            @Param("warehouseId") String warehouseId,
            @Param("enterpriseId") String enterpriseId,
            @Param("bldgId") String bldgId,
            @Param("areaCodes") List<String> areaCodes
    );
    List<ContainerListDTO> getContainerListById(
            @Param("warehouseId") String warehouseId,
            @Param("pickOrderId")String pickOrderId,
            @Param("locateId")String locateId,
            @Param("itemId")String itemId,
            @Param("manufacturerLotNum")String manufacturerLotNum,
            @Param("containerCode")String containerCode
    );

    List<Map<String, Object>> countHBySlidWayId(
            @Param("list") List<String> slideIds
    );

    List<PickTaskH> getBillSlideways(
            @Param("pickTaskId") String pickTaskId
    );

    Integer updatePickTaskHSlideWayInfo(
            @Param("slidewayId") String slidewayId,
            @Param("stationId") String stationId,
            @Param("stationCode") String stationCode,
            @Param("stationName") String stationName,
            @Param("pickTaskId") String pickTaskId
    );

    List<PickTaskH> getByTaskDId(@Param("pickTaskDId")String pickTaskDId,  @Param("stationCode") String stationCode,  @Param("containerCode") String containerCode);

    List<PickTaskDDTO> getPickTaskDList3(
            @Param("pickTaskTypes") List<Integer> pickTaskType,
            @Param("bldgId") String bldgId,
            @Param("containerCode") String containerCode,
            @Param("warehouseId") String warehouseId,
            @Param("areaCodes") List<String> areaCodes
    );

    //根据托盘查询MJK/AGVZ库区中指定状态的任务
    List<PickTaskDDTO> getPickTaskDList4(
            @Param("bldgId") String bldgId,
            @Param("containerCode") String containerCode,
            @Param("warehouseId") String warehouseId,
            @Param("areaCodes") List<String> areaCodes,
            @Param("flowStatus") String flowStatus
    );

    String findShipLineId(@Param("pickTaskId") String pickTaskId);

    List<PickTaskH> listHByDetailId(@Param("detailIds") List<String> detailIds);

    Integer countReplenishUnFinishTask(@Param("pickTaskId") String pickTaskId, @Param("detailIds") List<String> detailIds);

    int updateToUnUp(@Param("pickTaskId") String pickTaskId);

    void updateStatusEndByBarcode(
            @Param("barcode") String barcode,
            @Param("warehouseId") String warehouseId,
            @Param("enterpriseId") String enterpriseId
    );

    List<TaskCountVo> getAreaUnAskPickCount(@Param("pickTaskType") Integer pickTaskType,@Param("warehouseId") String warehouseId,@Param("bldgId")String bldgId,@Param("areaCodes") List<String> areaCodes,@Param("type")Integer type);

    List<PickTaskH> getPickTaskByContainerCode(@Param("bldgId")String bldgId,@Param("containerCode") String containerCode, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("pickTaskTypes") List<Integer> pickTaskTypes, @Param("areaCodes") List<String> areaCodes,@Param("workType")String workType,@Param("billId")String billId,@Param("mjkFlag")String mjkFlag);

    List<PickTaskH> getPickTaskWholeListV2(@Param("bldgId")String bldgId,@Param("containerCode") String containerCode, @Param("enterpriseId") String enterpriseId, @Param("warehouseId") String warehouseId, @Param("count") Integer count, @Param("pickTaskTypes") List<Integer> pickTaskTypes, @Param("areaCodes") List<String> areaCodes,@Param("workType")String workType,@Param("billId")String billId,@Param("mjkFlag")String mjkFlag);

    List<PickTaskH> getZtBills();

    List<PickTaskH> getByBarcode(@Param("barcode") String barcode, @Param("billGroupId") String billGroupId, @Param("bldgId")String bldgId, @Param("warehouseId") String warehouseId);

    List<PickTaskH> getTaskHdrsByReplenish(@Param("detailIds") String[] detailIds);

    List<PickTaskH> getTaskHdrsByReplenishV2(@Param("detailIds") String[] detailIds);
}
