ldj/WcfService1/IMobile.cs

510 lines
17 KiB
C#
Raw Normal View History

2023-05-23 16:13:17 +08:00
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
{
/// <summary>
/// wince 专用
/// </summary>
[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();
/// <summary>
///取移动端权限列表
/// </summary>
/// <param name="userId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
List<string> getPortAuths(int userId, string token);
/// <summary>
///取所有线路
/// </summary>
/// <param name="custName">可为null,取所有线路</param>
/// <returns></returns>
[OperationContract]
List<string> getLines(string custName);
/// <summary>
///取所属货区
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
[OperationContract]
List<string> getPartions(int userId);
[OperationContract]
int validRole(string account,string passwd,string role);
//------------------------- stock location begin ------------------------------------------------------------------------------------------
/// <summary>
/// get stock goods info by locid
/// for wince
/// </summary>
/// <param name="locId"></param>
/// <returns></returns>
[OperationContract]
DataTable getStockLocation(string locId);
[OperationContract]
DataTable getStockLocationsByBarcode(string barcode);
/// <summary>
/// update stock goods info
/// on wince stock check
/// </summary>
/// <param name="locId"></param>
/// <param name="goodsId"></param>
/// <param name="batch"></param>
/// <param name="count"></param>
/// <param name="oldCount"></param>
/// <param name="reason"></param>
[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);
/// <summary>
/// clear the location
/// on wince
/// </summary>
/// <param name="locId"></param>
/// <param name="reason"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
bool clearLocation(string locId, string reason, int operId, string token);
/// <summary>
/// 更新location status
/// </summary>
/// <param name="locId"></param>
/// <param name="status"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
bool upLocationStatus(string locId, int status, int operId, string token);
/// <summary>
/// 更新商品库容量
/// </summary>
/// <param name="goodsId"></param>
/// <param name="volType"></param>
/// <param name="volume"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
bool updateGoodsLocationVolume(string goodsId, int volType, decimal volume, int operId, string token);
/// <summary>
/// location info
/// </summary>
/// <param name="locId"></param>
/// <returns></returns>
[OperationContract]
DataTable getLocation(string locId);
/// <summary>
/// 扫描货位得到货架上的商品信息比较该商品在erp和wms库存
/// </summary>
/// <param name="goodsId"></param>
/// <returns></returns>
[OperationContract]
DataTable getStockCompareErp(string goodsId, string barcode);
/// <summary>
/// 手持上下架
/// </summary>
/// <param name="locId"></param>
/// <param name="goodsId"></param>
/// <param name="batch"></param>
/// <param name="count"></param>
/// <param name="type"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
int upDownStockLocation(string locId, string goodsId, int skuId, string batch, decimal count, int type, int operId, string token, int oldRecId);
/// <summary>
/// 已下架待上架商品
/// </summary>
/// <param name="goodsId"></param>
/// <returns></returns>
[OperationContract]
DataTable getDownStockList4Up(int operId);
//绑定id
[OperationContract]
int locationEleIdCombine(string locId, int eleId, int operId, string token);
/// <summary>
/// 补零入库
/// </summary>
/// <param name="locId"></param>
/// <param name="goodsId"></param>
/// <param name="batch"></param>
/// <param name="count"></param>
/// <param name="reason"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
int repItemIn(string locId, string goodsId, int skuId, string batch, decimal count, int portId, int operId, string token);
/// <summary>
/// 货位分配
/// </summary>
/// <param name="goodsId"></param>
/// <param name="batch"></param>
/// <param name="count"></param>
/// <returns></returns>
[OperationContract]
DataTable getLocations(int skuId, string skuCode, string goodsId, string batch, decimal count);
/// <summary>
/// 根据商品找库存货位信息
/// </summary>
/// <param name="goodsId"></param>
/// <returns></returns>
[OperationContract]
DataTable getGoodsStockLocations(string barcode);
/// <summary>
/// get erp storage by barcode
/// </summary>
/// <param name="barcode"></param>
/// <returns></returns>
[OperationContract]
DataTable getGoodsERPStoreByBarcode(string barcode);
/// <summary>
/// get pandian orders by ownerid and status
/// </summary>
/// <param name="ownerId"></param>
/// <param name="status"></param>
/// <returns></returns>
[OperationContract]
DataTable getPandianOrders(int ownerId,int status);
[OperationContract]
DataTable getPandianItem(string orderNo, string locationId);
/// <summary>
/// 盘点采集
/// </summary>
/// <param name="orderNo"></param>
/// <returns></returns>
[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);
/// <summary>
/// new maintain record
/// </summary>
/// <returns></returns>
[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 --------------------------------------------------------------------------------------------------
/// <summary>
/// 取待复核订单列表
/// </summary>
/// <returns></returns>
[OperationContract]
DataTable getBatchPickOrders4Valid();
/// <summary>
/// 取待复核订单明细
/// </summary>
/// <param name="orderNo"></param>
/// <returns></returns>
[OperationContract]
DataTable getPickOrderDetails(string orderNo);
/// <summary>
/// get batch pick detail by port record id
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[OperationContract]
DataTable getPickDetail(int Id);
/// <summary>
/// 手持捡完一个货位,更新状态
/// 检测到出库单所有整货都已经分拣完毕后将更新订单明细及订单 batchPickStatus,status
/// </summary>
/// <param name="pickOrderNo"></param>
/// <param name="id"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
bool finishPickItem(string flowNo,string waveNo, string pickOrderNo, int id, decimal pickCount, int operId, string token);
/// <summary>
/// 手持复核一个货位,更新状态
/// 检测到出库单所有整货都已经复核完毕后将更新订单明细及订单 batchPickStatus,status
/// </summary>
/// <param name="pickOrderNo"></param>
/// <param name="id"></param>
/// <param name="operId"></param>
/// <param name="token"></param>
/// <returns></returns>
[OperationContract]
bool finishBatchValidateItem(string pickOrderNo, int id, int operId, int checkBy2, string token);
[OperationContract]
int batchPickCount4Valid(string pickOrderNo);
/// <summary>
/// 当天待分拣补货明细
/// </summary>
/// <param name="pickOrderNo"></param>
/// <returns></returns>
[OperationContract]
DataTable repTodayDetails4Pick(int userId=0);
/// <summary>
/// 待上架补货任务
/// </summary>
/// <returns></returns>
[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 --------------------------------------------------------------------------------------------------
/// <summary>
/// 有打包零货待装车的运输单
/// </summary>
/// <returns></returns>
[OperationContract]
DataTable getTransRequestsWithBulks();
/// <summary>
/// 待装车的运输单打包零货列表
/// </summary>
/// <returns></returns>
[OperationContract]
DataTable getTransRequestsBulks(string transNo);
/// <summary>
///从零库集货区取走零货打包
/// </summary>
/// <returns></returns>
[OperationContract]
bool pickBulks(string tranNo, int stockId,int operId, string token);
/// <summary>
/// 待装车的运输单打包零货列表
/// </summary>
/// <returns></returns>
[OperationContract]
DataTable getTransRequestsByStatus(int status);
/// <summary>
/// 运输单拣货单列表
/// </summary>
/// <returns></returns>
[OperationContract]
DataTable getTransRequestsDetail(string transNo,int status);
/// <summary>
/// 装车
/// </summary>
/// <param name="transNo"></param>
/// <param name="pickOrderNo"></param>
/// <param name="tranDetailId"></param>
/// <returns></returns>
[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<ELabel> 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; }
}
}