using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; using DeiNiu.wms.Data.Model.Wcf; namespace DeiNiu.Wcf { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IAndroid”。 [ServiceContract] public interface IAndroid { [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "login?account={account}&passwd={passwd}")] FormatedResult login(string account, string passwd); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getPortAuths?userId={userId}&token={token}")] FormatedResult getPortAuths(int userId, string token); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "validuser?userId={userId}&passwd={passwd}")] FormatedResult validUser(string userId, string passwd); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getDictionary")] FormatedResult getDictionary(); /// ///取所有线路 /// /// 可为null,取所有线路 /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getLines?custId={custId}")] FormatedResult getLines(string custId); /// ///取所属货区 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getPartions?userId={userId}")] FormatedResult getPartions(int userId); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "validRole?account={account}&passwd={passwd}&role={role}")] FormatedResult validRole(string account, string passwd, string role); /// /// 取字典项 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "getNodesByflag?flag={flag}")] FormatedResult getNodesByFlag(int flag); //------------------------- stock location begin ------------------------------------------------------------------------------------------ /// /// get stock goods info by locid /// return table data with json format /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Bare , UriTemplate = "stock/getStockLocation?locId={locId}")] FormatedResult getStockLocation(string locId); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getStockLocationsByBarcode?barcode={barcode}")] FormatedResult getStockLocationsByBarcode(string barcode); /// /// update stock goods info /// on wince stock check /// [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/updateStockLocation")] FormatedResult updateStockLocation(string locId, string goodsId, int skuId, string batch, decimal count, string reason, int type); [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/initialStockIn")] FormatedResult initialStockIn(string goodsId, string locId, decimal batchCount, string prodDate, string validDate, string batch); /// /// clear the location /// on wince /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/clearLocation")] FormatedResult clearLocation(string locId, string reason); /// /// 更新location status /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/upLocationStatus")] FormatedResult upLocationStatus(string locId, int status); /// /// 更新商品库容量 /// /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/updateGoodsLocationVolume")] FormatedResult updateGoodsLocationVolume(string goodsId, int volType, decimal volume); /// /// location info /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getLocation?locId={locId}")] FormatedResult getLocation(string locId); /// /// 扫描货位,得到货架上的商品信息,比较该商品在erp和wms库存 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/compareErp?goodsId={goodsId}&barcode={barcode}")] FormatedResult getStockCompareErp(string goodsId, string barcode); /// /// 手持上下架 /// /// /// /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json , BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/upDownLocation")] FormatedResult upDownStockLocation(string locId, string goodsId, int skuId, string batch, decimal count, int type, int oldRecId); /// /// 已下架待上架商品 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getDownStockList4Up?operId={operId}")] FormatedResult getDownStockList4Up(int operId); //绑定id [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "locationEleIdCombine")] FormatedResult locationEleIdCombine(string locId, int eleId); /// /// 补零入库 /// /// /// /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/repItemIn")] FormatedResult repItemIn(string locId, string goodsId, int skuId, string batch, decimal count, int portId); /// /// 货位分配 /// /// /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getLocations?skuId={skuId}&skuCode={skuCode}&goodsId={goodsId}&batch={batch}&count={count}")] FormatedResult getLocations(int skuId, string skuCode, string goodsId, string batch, decimal count); /// /// 根据商品找库存货位信息 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getGoodsStockLocations?barcode={barcode}")] FormatedResult getGoodsStockLocations(string barcode); /// /// get erp storage by barcode /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getGoodsERPStoreByBarcode?barcode={barcode}")] FormatedResult getGoodsERPStoreByBarcode(string barcode); /// /// get pandian orders by ownerid and status /// /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getPandianOrders?ownerId={ownerId}&status={status}")] FormatedResult getPandianOrders(int ownerId, int status); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getPandianItem?orderNo={orderNo}&locationId={locationId}")] FormatedResult getPandianItem(string orderNo, string locationId); /// /// 盘点采集 /// /// /// [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/newPandianItem")] FormatedResult newPandianItem(string orderNo, string locationId, int skuId, string barcode, string prdDate, string batch, decimal count); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getGoodsPackByBarcode?barcode={barcode}")] FormatedResult getGoodsPackByBarcode(string barcode); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stock/getGoodsPacking?goodsId={goodsId}")] FormatedResult getGoodsPacking(string goodsId); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/goodsMaintain")] FormatedResult goodsMaintain(string goodsId, decimal bulkMax, decimal batch1Max, decimal batch2Max, decimal batch3Max, int ABC, int storeType); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stock/goodsPacking")] FormatedResult goodsPacking(int id, string goodsId,string barcode, string manufacturer2, string spec, decimal chang, decimal kuan, decimal gao, decimal weight, int statckLayers, int stackLayNums, bool isDelete); // -------------------stock In request begin -------------------------------------------------------------------------------------------------- // 根据预到单收货 [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getPreInDetail?preInNo={preInNo}")] FormatedResult getPreInDetail(string preInNo); // [OperationContract] // DataTable getPreInInfo(string preInNo); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/receiveDetail")] FormatedResult receiveDetail(string preInNo, string goodsId, decimal arriveNumber, decimal receiveNumber, int inType, string inRemark, decimal temperature, bool isCache, int cachePartion); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getReceiveDetailByBarcode?preInOrder={preInOrder}&barcode={barcode}")] FormatedResult getReceiveDetailByBarcode(string preInOrder, string barcode); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getValidSeedsCnt?goodsId={goodsId}&batchCount={batchCount}")] FormatedResult getValidSeedsCnt(string goodsId, decimal batchCount); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/isFlowNoValid?preInOrder={preInOrder}&flowNo={flowNo}")] FormatedResult isFlowNoValid(string preInOrder, string flowNo); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/validIn")] FormatedResult validIn(string preInNo, string flowNo, string goodsId, decimal batchCount, decimal seedsCount, string prdDate,string validDate,string batch,string entiId, bool isPass, bool isIsuLocations, int secondValidUserId, bool isFlowUni, bool isZhitong = false, string pickOrderNo = null, int zhitongPartion = 0); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getPreValidResult?preInNo={preInNo}&flowNo={flowNo}&showAllUsers={showAllUsers}")] FormatedResult getPreValidResult(string preInNo, string flowNo, bool showAllUsers = false); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getStockInPortDetail?portId={portId}")] FormatedResult getStockInPortDetail(int portId); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getStockInDetails?flowNo={flowNo}")] FormatedResult getStockInDetails(string flowNo); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/finishUpShelfItem")] FormatedResult finishUpShelfItem(string flowNo, int id, decimal count, string locationId, string reason); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/retrieveValidIn")] FormatedResult retrieveValidIn(int jobId); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/retrieveValidByDetailId")] FormatedResult retrieveValidByDetailId(int detailId); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/retrieveValidBySkuId")] FormatedResult retrieveValidBySkuId(string preInNo,int skuId); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getValidInDetail?preInNo={preInNo}&flowNo={flowNo}")] FormatedResult getValidInDetail(string preInNo, string flowNo); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockIn/getZhiTongOrderDetail?flowNo={flowNo}")] FormatedResult getZhiTongOrderDetail( string flowNo); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/zhiTongSeedOut")] FormatedResult zhiTongSeedOut(int outDetailId,int inDetailId,decimal seedCnt); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockIn/newPackBarcode")] FormatedResult newPackBarcode(string goodsId,string barcode, decimal packingQty, decimal chang, decimal kuan, decimal gao, decimal weight); // -------------------stock OUT request begin -------------------------------------------------------------------------------------------------- /// /// 取待复核订单列表 /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/getBatchPickOrders4Valid")] FormatedResult getBatchPickOrders4Valid(); /// /// 取待复核订单明细 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/getPickOrderDetails?orderNo={orderNO}")] FormatedResult getPickOrderDetails(string orderNo); /// /// get batch pick detail by port record id /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/getPickDetail?id={id}")] FormatedResult getPickDetail(int id); /// /// 手持捡完一个货位,更新状态 /// 检测到出库单所有整货都已经分拣完毕后将更新订单明细及订单 batchPickStatus,status /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockOut/finishPickItem")] FormatedResult finishPickItem(string flowNo, string waveNo, string pickOrderNo, int id, decimal pickCount); /// /// 手持复核一个货位,更新状态 /// 检测到出库单所有整货都已经复核完毕后将更新订单明细及订单 batchPickStatus,status /// /// /// /// /// /// [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockOut/finishBatchValidateItem")] FormatedResult finishBatchValidateItem(string pickOrderNo, int id, int operId, int checkBy2, string token); [OperationContract] int batchPickCount4Valid(string pickOrderNo); /// /// 当天待分拣补货明细 /// /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/repTodayDetails4Pick?userId={userId}")] FormatedResult repTodayDetails4Pick(int userId = 0); /// /// 待上架补货任务 /// /// [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/repInDetailsByFlowNo?flowNo={flowNo}")] FormatedResult repInDetailsByFlowNo(string flowNo); //获取出库下架任务 [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/getTaskAssigned?operId={operId}&partion={partion}&lineId={lineId}&batchOnly={batchOnly}&orderType={orderType}")] FormatedResult getTaskAssigned(int operId, int partion, int lineId, bool batchOnly, int orderType); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockOut/taskAssign")] FormatedResult taskAssign(int takeBy,int partion, int lineId, bool batchOnly, int orderType); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockOut/taskResign")] FormatedResult taskResign(int partion, int lineId, bool batchOnly, int orderType); [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "stockOut/getSeedsPickDetail?flowNo={flowNo}&isOrderByCust={isOrderByCust}")] FormatedResult getSeedsPickDetail(string flowNo,bool isOrderByCust); [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "stockOut/seedsPickOut")] FormatedResult seedsPickOut(string flowNo, string batch, int outDetailId,decimal seedCnt, string toFlowNo); } }