using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using DeiNiu.Utils;
using System.Data;
namespace DeiNiu.Wcf
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“ILocationService”。
[ServiceContract]
public interface IStockLocationService
{
//[OperationContract]
//void setOperId(int operId, string token);
[OperationContract]
void addLocations(Structs locs);
[OperationContract]
bool updateWhLocations(int[] ids, Structs locs);
[OperationContract]
bool updateSizeLocations(int[] ids, Structs locs);
[OperationContract]
bool updateLocationStoreType(int[] ids, Structs locs);
[OperationContract]
bool updateLocationStatus(int[] ids, int status);
[OperationContract]
bool updateLocationTranLines(int[] ids, Structs locs);
[OperationContract]
bool updateLocationLabelId(int[] ids, Structs locs);
[OperationContract]
DataSet Query(string querystr, int rownumStart, int rownumEnd);
[OperationContract]
DataSet QueryNodes(DataTable dic, string query, int rownumStart, int rownumEnd);
[OperationContract]
DataTable getStockRecord(string orderNo);
[OperationContract]
DataSet getStockDiff(string querystr, int rownumStart, int rownumEnd);
[OperationContract]
DataTable getWmsStockDetails(string goodsId, int skuId, string extrQuery);
[OperationContract]
DataTable getStockFreeLocations(string goodsId, int count);
[OperationContract]
void initalSkus(bool isDownOnly,int start);
[OperationContract]
void initalErpSaleSku();
[OperationContract]
int updateJobCross(int[] ids, bool isCross);
///
/// 更新、新增库存
///
///
///
///
///
///
///
///
[OperationContract]
int upDownStockLocation(string locId, string goodsId, int skuId, string batch, string reason, decimal count, int type);
[OperationContract]
DataSet getDataWaiting4Maintain(string query, int start, int end);
///
/// 养护记录
///
///
///
[OperationContract]
DataSet getDataMaintainRecords(string query, int start, int end);
///
/// 临近有效期列表
///
///
///
[OperationContract]
DataSet getDataNearValid(int days, int start, int end);
///
/// 失效药品
///
///
///
[OperationContract]
DataSet getDataInvaild(int start, int end);
///
/// query goods in stock
///
///
///
///
///
[OperationContract]
DataSet queryStockGoods(string queryStr, int start, int end);
///
/// 库存数据汇总
/// 商品名称、批号、存储类型(合格品,其他)
///
///
///
///
///
[OperationContract]
DataSet querySumStockGoods(string queryStr, int start, int end);
///
/// 不考虑批号库存数据汇总
///
///
///
///
///
[OperationContract]
DataSet querySumStockGoodsNoBatch(string querystr, int rownumStart, int rownumEnd);
///
/// 零库库存查询
/// 为零库补货参考
///
///
///
///
///
[OperationContract]
DataSet queryBulkRep(string queryStr, int start, int end);
///
/// 创建补库单
///
///
///
[OperationContract]
bool createGoodsRepOrder(string[] goodsRep);
[OperationContract]
bool updateLocScale(int[] ids, Structs locs);
[OperationContract]
bool updateLocationABC(int[] ids, Structs locs);
[OperationContract]
bool updateLocationOwner(int[] ids, Structs locs);
[OperationContract]
DataTable getLocationsUsedPercent();
///
/// 空货位信息
///
///
///
//[OperationContract]
//DataTable getLocation(string locId);
//[OperationContract]
//DataTable getLocation1(string locId);
[OperationContract]
DataSet queryStockRecords(string querystr, int rownumStart, int rownumEnd);
//-----------------------盘点-------------------------------------------------------
[OperationContract]
bool createPandianOrder(int panType, bool noticeErp, int createBy, string inputValues, string stockCondition);
[OperationContract]
bool startPandianOrder(string orderNo);
[OperationContract]
bool stopPandianPick(string orderNo);
[OperationContract]
DataSet queryPandianOrders(string queryStr, int start, int end);
[OperationContract]
bool delPandianOrder(string orderNo);
[OperationContract]
DataSet queryPandianBanlanceDetail(string orderNo, string goodsId, int start, int end);
[OperationContract]
DataSet getPandianBanlance(string orderNo, int start, int end);
[OperationContract]
DataTable getPandianOrder(string orderNo);
[OperationContract]
bool adjustPandianStock(string orderNo, bool isRollBack);
[OperationContract]
bool finishPandian(string orderNo);
[OperationContract]
void formatLocName();
[OperationContract]
DataTable getPandianTargetItem(string orderNo, string locationId);
[OperationContract]
DataTable getPandianTargetItems(string orderNo);
[OperationContract]
DataSet queryPandianResult(string orderNo, string goodsId, int start, int end);
[OperationContract]
DataSet queryPandianResultSum(string orderNo, string goodsId, int start, int end);
[OperationContract]
bool canStartNewPandian();
[OperationContract]
DataSet queryPlateStock(string querystr, int rownumStart, int rownumEnd);
[OperationContract]
DataTable queryPerformanceKPI(string querystr, bool isSum);
[OperationContract]
DataTable getElbPartStks(string locationId);
}
}