using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Data;
using DeiNiu.Utils;
namespace DeiNiu.Wcf
{
///
/// wince 专用
///
[ServiceContract]
public interface IMobile
{
[OperationContract]
[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
UriTemplate = "validuser?userId={userId}&passwd={passwd}")]
int validUser(string userId, string passwd);
[OperationContract]
[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
UriTemplate = "login?userId={userId}&passwd={passwd}")]
string login(string account, string passwd);
[OperationContract]
DataTable getDictionary();
///
///取移动端权限列表
///
///
///
///
[OperationContract]
List getPortAuths(int userId, string token);
///
///取所有线路
///
/// 可为null,取所有线路
///
[OperationContract]
List getLines(string custName);
///
///取所属货区
///
///
///
[OperationContract]
List getPartions(int userId);
[OperationContract]
int validRole(string account,string passwd,string role);
//------------------------- stock location begin ------------------------------------------------------------------------------------------
///
/// get stock goods info by locid
/// for wince
///
///
///
[OperationContract]
DataTable getStockLocation(string locId);
[OperationContract]
DataTable getStockLocationsByBarcode(string barcode);
///
/// update stock goods info
/// on wince stock check
///
///
///
///
///
///
///
[OperationContract]
bool updateStockLocation(string locId, string goodsId, int skuId, string batch, decimal count, string reason, int type, int operId, string token);
[OperationContract]
int initialStockIn(string goodsId,string locId, decimal batchCount, string[] skuKeys, string[] skuValues, int operId, string token);
///
/// clear the location
/// on wince
///
///
///
///
///
///
[OperationContract]
bool clearLocation(string locId, string reason, int operId, string token);
///
/// 更新location status
///
///
///
///
///
///
[OperationContract]
bool upLocationStatus(string locId, int status, int operId, string token);
///
/// 更新商品库容量
///
///
///
///
///
///
///
[OperationContract]
bool updateGoodsLocationVolume(string goodsId, int volType, decimal volume, int operId, string token);
///
/// location info
///
///
///
[OperationContract]
DataTable getLocation(string locId);
///
/// 扫描货位,得到货架上的商品信息,比较该商品在erp和wms库存
///
///
///
[OperationContract]
DataTable getStockCompareErp(string goodsId, string barcode);
///
/// 手持上下架
///
///
///
///
///
///
///
///
///
[OperationContract]
int upDownStockLocation(string locId, string goodsId, int skuId, string batch, decimal count, int type, int operId, string token, int oldRecId);
///
/// 已下架待上架商品
///
///
///
[OperationContract]
DataTable getDownStockList4Up(int operId);
//绑定id
[OperationContract]
int locationEleIdCombine(string locId, int eleId, int operId, string token);
///
/// 补零入库
///
///
///
///
///
///
///
///
///
[OperationContract]
int repItemIn(string locId, string goodsId, int skuId, string batch, decimal count, int portId, int operId, string token);
///
/// 货位分配
///
///
///
///
///
[OperationContract]
DataTable getLocations(int skuId, string skuCode, string goodsId, string batch, decimal count);
///
/// 根据商品找库存货位信息
///
///
///
[OperationContract]
DataTable getGoodsStockLocations(string barcode);
///
/// get erp storage by barcode
///
///
///
[OperationContract]
DataTable getGoodsERPStoreByBarcode(string barcode);
///
/// get pandian orders by ownerid and status
///
///
///
///
[OperationContract]
DataTable getPandianOrders(int ownerId,int status);
[OperationContract]
DataTable getPandianItem(string orderNo, string locationId);
///
/// 盘点采集
///
///
///
[OperationContract]
bool newPandianItem(string orderNo, string locationId, int skuId, string barcode, string prdDate,
string batch, decimal count, int operId, string token);
//-----------------------stock maintain begin --------------------------------------------------------------
[OperationContract]
DataSet getData4Maintain(string locationId = "");
[OperationContract]
DataTable getIssueData(int skuId);
///
/// new maintain record
///
///
[OperationContract]
bool newMaintain(int stockId,decimal mCount,decimal issueCount, string details, int operId,string token);
[OperationContract]
bool fixIssueData(int skuId, int operId, string token);
// -------------------stock In request begin --------------------------------------------------------------------------------------------------
// 根据预到单收货
[OperationContract]
DataTable getPreInDetail(string preInNo,int operId, string token);
// [OperationContract]
// DataTable getPreInInfo(string preInNo, int operId, string token);
[OperationContract]
bool receiveDetail(string preInNo, string goodsId, decimal arriveNumber, decimal receiveNumber, int inType, string inRemark,
decimal temperature, bool isCache, int cachePartion, int operId, string token);
[OperationContract]
DataTable getGoodsPackByBarcode(string barcode);
[OperationContract]
DataTable getReceiveDetailByBarcode(string preInOrder, string barcode);
[OperationContract]
decimal getValidSeedsCnt(string goodsId, decimal batchCount);
[OperationContract]
bool isFlowNoValid(string preInOrder, string flowNo);
[OperationContract]
int validIn(string preInNo, string flowNo, string goodsId, decimal batchCount, decimal seedsCount,
string[] skuKeys, string[] skuValues, bool isPass, bool isIsuLocations, int secondValidUserId, int operId, string token);
[OperationContract]
DataTable getPreValidResult(string preInNo, string flowNo, int operId, string token,bool showAllPartions=false);
[OperationContract]
DataTable getStockInPortDetail(int portId);
[OperationContract]
DataTable getStockInDetails(string flowNo);
[OperationContract]
int finishUpShelfItem(string orderNo, int id, decimal count, string locationId,string reason, int operId, string token);
// -------------------stock OUT request begin --------------------------------------------------------------------------------------------------
///
/// 取待复核订单列表
///
///
[OperationContract]
DataTable getBatchPickOrders4Valid();
///
/// 取待复核订单明细
///
///
///
[OperationContract]
DataTable getPickOrderDetails(string orderNo);
///
/// get batch pick detail by port record id
///
///
///
[OperationContract]
DataTable getPickDetail(int Id);
///
/// 手持捡完一个货位,更新状态
/// 检测到出库单所有整货都已经分拣完毕后将更新订单明细及订单 batchPickStatus,status
///
///
///
///
///
///
[OperationContract]
bool finishPickItem(string flowNo,string waveNo, string pickOrderNo, int id, decimal pickCount, int operId, string token);
///
/// 手持复核一个货位,更新状态
/// 检测到出库单所有整货都已经复核完毕后将更新订单明细及订单 batchPickStatus,status
///
///
///
///
///
///
[OperationContract]
bool finishBatchValidateItem(string pickOrderNo, int id, int operId, int checkBy2, string token);
[OperationContract]
int batchPickCount4Valid(string pickOrderNo);
///
/// 当天待分拣补货明细
///
///
///
[OperationContract]
DataTable repTodayDetails4Pick(int userId=0);
///
/// 待上架补货任务
///
///
[OperationContract]
DataTable repInDetailsByFlowNo(string flowNo,int operId,string token);
[OperationContract]
int regSeedsPlate(string plateId, int partion);
[OperationContract]
DataTable getPlatePickList(string plateId, int partion);
//获取出库下架任务
[OperationContract]
DataTable getTaskAssigned(int operId, int partion , int lineId , bool batchOnly ,int orderType);
[OperationContract]
DataTable taskAssign(int partion, int lineId, bool batchOnly, int orderType, int operId, string token);
[OperationContract]
int taskResign(int partion, int lineId, bool batchOnly, int orderType, int operId, string token);
// ------------------TMS begin --------------------------------------------------------------------------------------------------
///
/// 有打包零货待装车的运输单
///
///
[OperationContract]
DataTable getTransRequestsWithBulks();
///
/// 待装车的运输单打包零货列表
///
///
[OperationContract]
DataTable getTransRequestsBulks(string transNo);
///
///从零库集货区取走零货打包
///
///
[OperationContract]
bool pickBulks(string tranNo, int stockId,int operId, string token);
///
/// 待装车的运输单打包零货列表
///
///
[OperationContract]
DataTable getTransRequestsByStatus(int status);
///
/// 运输单拣货单列表
///
///
[OperationContract]
DataTable getTransRequestsDetail(string transNo,int status);
///
/// 装车
///
///
///
///
///
[OperationContract]
string loadTrucks(string transNo, string pickOrderNo, int tranDetailId, int operId, string token);
//-------------------------box reg---------------------------------
[OperationContract]
int regPartBox(int partion, string boxId, int operId, string token);
[OperationContract]
DataTable getPartionRequests(int partion, int operId, string token);
[OperationContract]
DataTable getLightPartions(int operId, string token);
//------------------------------------------------task centers-------------------------------------
[OperationContract]
DataTable getTasks(int status,int partion,int emId,int operId, string token);
[OperationContract]
DataTable getTaskDetails(string tastNo, int operId, string token);
[OperationContract]
DataTable getFlowDetails(string flowNo, int operId, string token);
[OperationContract]
DataTable getTaskInfo(string taskNo, int operId, string token);
[OperationContract]
enumFlowTaskResult startTask(string taskNo, int operId, string token);
//---亮灯
[OperationContract]
string getLightService();
[OperationContract]
[WebInvoke(
Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "getLabels"
)]
List getLabels();
}
[DataContract]
public class ELabel
{
[DataMember]
public int labelId { get; set; }
[DataMember]
public int address { get; set; }
[DataMember]
public int count { get; set; }
[DataMember]
public int color { get; set; }
[DataMember]
public int port { get; set; }
[DataMember]
public int orderNo { get; set; }
}
}