kcw-wx-java/youchain-system/src/main/java/com/youchain/businessdata/service/PickDetailService.java

175 lines
4.4 KiB
Java

/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.youchain.businessdata.service;
import com.youchain.basicdata.domain.AutomaticPlanning;
import com.youchain.basicdata.domain.Box;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.service.dto.BoxDto;
import com.youchain.businessdata.domain.PickDetail;
import com.youchain.businessdata.domain.PickTicket;
import com.youchain.businessdata.returnJson.ZzjlPickList;
import com.youchain.businessdata.service.dto.PickDetailDto;
import com.youchain.businessdata.service.dto.PickDetailQueryCriteria;
import com.youchain.businessdata.service.dto.PickDetailZscDto;
import com.youchain.businessdata.service.dto.jsonDto.CxjlDto;
import org.springframework.data.domain.Pageable;
import java.util.Date;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
/**
* @website https://eladmin.vip
* @description 服务接口
* @author huojin
* @date 2023-08-16
**/
public interface PickDetailService {
/**
* 查询数据分页
* @param criteria 条件
* @param pageable 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(PickDetailQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<PickDetailDto>
*/
List<PickDetailDto> queryAll(PickDetailQueryCriteria criteria);
List<PickDetailZscDto> queryZscAll(PickDetailQueryCriteria criteria);
/**
* 根据ID查询
* @param id ID
* @return PickDetailDto
*/
PickDetailDto findById(Long id);
/**
* 创建
* @param resources /
* @return PickDetailDto
*/
PickDetailDto create(PickDetail resources);
/**
* 编辑
* @param resources /
*/
void update(PickDetail resources);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 删除出库明细更新数据
* @param id
*/
void deletePickDetail(Long id);
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws Exception /
*/
void download(List<PickDetailZscDto> all, HttpServletResponse response) throws Exception, Exception;
/**
* 产线叫料保存
* @param cxjldto
* @return
*/
PickDetail cxjlCreate(CxjlDto cxjldto);
/**
* 分配
*/
void allocate(long id,double quantity,String stockCode,String type);
/**
* 取消分配
*/
void cancelAllocate(long id);
/**
* 统计数量
* @return
*/
long count();
/**
* Dto转实体
* @param pickDetailDto
* @return
*/
PickDetail toEntity(PickDetailDto pickDetailDto);
/**
* 自动生成明细
* @param pt
* @param item
* @param po
* @param qty
* @param supplier
* @return
*/
PickDetail createPickDetail(PickTicket pt, Item item, String po, double qty,String supplier,String type);
/**
* 未分配的出库明细集合
* @param picktickId
* @return
*/
List<PickDetail> queryPickDetailList(long picktickId);
Map<String,Object> queryPickDetailAll(PickDetailQueryCriteria criteria, Pageable pageable);
/**
* 获取补货需求明细
* @return
*/
List<Object[]> getQueryBcbl(Date blDate, Long ckAreaId, String gc);
/**
* 得到组合最大的备货需求数
* @param picktickId
* @param largeClass
* @return
*/
Double getMaxBomQty(long picktickId,String largeClass);
/**
* 得到组合所有叫料明细
* @param picktickId
* @param largeClass
* @return
*/
List<PickDetail> getBomList(long picktickId,String largeClass);
/**查询制造叫料列表*/
List<ZzjlPickList> queryZzjlPickList(String itemCode);
}