PageRenderTime 45ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/UniwareServices/src/main/java/com/uniware/dao/shipping/IShippingDao.java

https://bitbucket.org/piyushgd10/bhumi
Java | 373 lines | 127 code | 98 blank | 148 comment | 0 complexity | 46df3ff8c65789d9487868ce7330399b MD5 | raw file
  1. /*
  2. * Copyright 2011 Unicommerce eSolutions (P) Limited All Rights Reserved.
  3. * UNICOMMERCE ESOLUTIONS PROPRIETARYARY/CONFIDENTIAL. Use is subject to license terms.
  4. *
  5. * @version 1.0, Dec 18, 2011
  6. * @author singla
  7. */
  8. package com.uniware.dao.shipping;
  9. import com.unifier.core.entity.User;
  10. import com.unifier.core.utils.DateUtils.DateRange;
  11. import com.uniware.core.api.catalog.SearchShippingProviderLocationRequest;
  12. import com.uniware.core.api.saleorder.PageRequest;
  13. import com.uniware.core.api.shipping.GetShippingPackagesRequest;
  14. import com.uniware.core.api.shipping.SearchManifestRequest;
  15. import com.uniware.core.api.shipping.SearchShippingPackageRequest;
  16. import com.uniware.core.entity.Channel;
  17. import com.uniware.core.entity.ReturnManifestItem;
  18. import com.uniware.core.entity.SaleOrderItem;
  19. import com.uniware.core.entity.ShipmentBatch;
  20. import com.uniware.core.entity.ShipmentTracking;
  21. import com.uniware.core.entity.ShipmentTrackingStatus;
  22. import com.uniware.core.entity.ShippingManifest;
  23. import com.uniware.core.entity.ShippingManifestItem;
  24. import com.uniware.core.entity.ShippingManifestStatus;
  25. import com.uniware.core.entity.ShippingMethod;
  26. import com.uniware.core.entity.ShippingPackage;
  27. import com.uniware.core.entity.ShippingPackageStatus;
  28. import com.uniware.core.entity.ShippingPackageType;
  29. import com.uniware.core.entity.ShippingProvider;
  30. import com.uniware.core.entity.ShippingProviderAllocationRule;
  31. import com.uniware.core.entity.ShippingProviderLocation;
  32. import com.uniware.core.entity.ShippingProviderMethod;
  33. import com.uniware.core.entity.ShippingProviderTrackingNumber;
  34. import java.util.Date;
  35. import java.util.List;
  36. import java.util.Set;
  37. /**
  38. * @author singla
  39. */
  40. public interface IShippingDao {
  41. /**
  42. * @param code
  43. * @return
  44. */
  45. ShippingPackageType getShippingPackageTypeByCode(String code);
  46. /**
  47. * @param shippingPackage
  48. * @return
  49. */
  50. ShippingPackage addShippingPackage(ShippingPackage shippingPackage);
  51. /**
  52. * @param shippingMethodId
  53. * @param pincode
  54. * @return
  55. */
  56. List<ShippingProviderLocation> getAvailableShippingProviders(Integer shippingMethodId, String pincode);
  57. /**
  58. * @param shippingPackage
  59. * @return
  60. */
  61. ShippingPackage updateShippingPackage(ShippingPackage shippingPackage);
  62. /**
  63. * @param shippingPackageId
  64. * @return
  65. */
  66. ShippingPackage getShippingPackageById(int shippingPackageId);
  67. /**
  68. * @param code
  69. * @return
  70. */
  71. ShippingProvider getShippingProviderByCode(String code);
  72. ShippingProviderTrackingNumber getAvailableTrackingNumber(Integer shippingProviderId, Integer shippingMethodId, boolean isGlobal);
  73. /**
  74. * @param trackingNumber
  75. * @return
  76. */
  77. ShippingProviderTrackingNumber updateShippingProviderTrackingNumber(ShippingProviderTrackingNumber trackingNumber);
  78. /**
  79. * @param shipmentTracking
  80. * @return
  81. */
  82. ShipmentTracking addShipmentTracking(ShipmentTracking shipmentTracking);
  83. /**
  84. * @param shipmentTracking
  85. * @return
  86. */
  87. ShipmentTracking updateShipmentTracking(ShipmentTracking shipmentTracking);
  88. /**
  89. * @param shippingManifest
  90. * @return
  91. */
  92. ShippingManifest addShippingManifest(ShippingManifest shippingManifest);
  93. /**
  94. * @param shippingManifestId
  95. * @return
  96. */
  97. ShippingManifest getShippingManifestById(int shippingManifestId);
  98. /**
  99. * @param shippingPackageId
  100. * @param refresh
  101. * @return
  102. */
  103. ShippingPackage getShippingPackageById(int shippingPackageId, boolean refresh);
  104. /**
  105. * @param shippingManifestItem
  106. * @return
  107. */
  108. ShippingManifestItem addShippingManifestItem(ShippingManifestItem shippingManifestItem);
  109. /**
  110. * @param shippingMethodId
  111. * @return
  112. */
  113. ShippingMethod getShippingMethodById(int shippingMethodId);
  114. /**
  115. * @param user
  116. * @param count
  117. * @return
  118. */
  119. List<ShippingManifest> getRecentManifests(User user, int count);
  120. /**
  121. * @param shippingManifest
  122. */
  123. ShippingManifest updateShippingManifest(ShippingManifest shippingManifest);
  124. /**
  125. * @param shippingMethodId
  126. * @param shippingProviderId
  127. * @param pincode
  128. * @return
  129. */
  130. ShippingProviderLocation getShippingProviderLocation(Integer shippingMethodId, Integer shippingProviderId, String pincode);
  131. /**
  132. * @param shipmentId
  133. * @return
  134. */
  135. ShippingPackage searchShipmentById(Integer shipmentId);
  136. List<ShippingPackage> getShippingPackageChildren(Integer shipmentId);
  137. ShippingProviderLocation createShippingProviderLocation(ShippingProviderLocation location);
  138. ShippingProviderLocation getShippingProviderLocation(String shippingMethodName, String shippingProviderCode, String pincode);
  139. List<Object> searchShippingPackages(SearchShippingPackageRequest request);
  140. Long getShippingPackageCount(SearchShippingPackageRequest request);
  141. /**
  142. * @param statusCode
  143. */
  144. List<ShippingPackage> getShippingPackagesByStatusCode(String statusCode);
  145. ShippingPackage getShippingPackageByInvoiceId(Integer invoiceId);
  146. List<ShippingPackage> getAllShippingPackagesByStatusCode(String statusCode);
  147. /**
  148. * @return
  149. */
  150. List<ShippingProvider> getConfiguredShippingProviders();
  151. /**
  152. * @param shippingProviderMethod
  153. */
  154. Integer getNoOfAvailableTrackingNumberList(ShippingProviderMethod shippingProviderMethod);
  155. /**
  156. * @param trackingNumber
  157. * @param shippingProviderCode
  158. * @return
  159. */
  160. ShippingPackage getShippingPackageByTrackingNumberOrShippingProvider(String trackingNumber, String shippingProviderCode);
  161. List<ShippingPackage> getShippingPackagesByStatusCode(String statusCode, Date updatedBefore, Date createdBefore);
  162. /**
  163. * @param request
  164. * @return
  165. */
  166. List<ShippingManifest> searchManifest(SearchManifestRequest request);
  167. /**
  168. * @param request
  169. * @return
  170. */
  171. Long getManifestCount(SearchManifestRequest request);
  172. /**
  173. * @param shipmentCode
  174. * @return
  175. */
  176. ShippingPackage searchShipmentByCode(String shipmentCode);
  177. /**
  178. * @param code
  179. * @return
  180. */
  181. ShippingPackage getShippingPackageByCode(String code);
  182. /**
  183. * @param shippingManifestCode
  184. * @return
  185. */
  186. ShippingManifest getShippingManifestDetailedByCode(String shippingManifestCode);
  187. /**
  188. * @param shippingPackage
  189. * @return
  190. */
  191. ShippingManifest getShippingManifestForShippingPackage(ShippingPackage shippingPackage);
  192. /**
  193. * @param shippingPackage
  194. * @return
  195. */
  196. ReturnManifestItem getReturnManifestForShippingPackage(ShippingPackage shippingPackage);
  197. /**
  198. * @param trackingNumber
  199. * @param shippingProviderId
  200. * @return
  201. */
  202. ShipmentTracking getShipmentTracking(String trackingNumber, Integer shippingProviderId);
  203. List<ShippingPackage> getShippingPackagesDispatchedInDateRange(DateRange range);
  204. /**
  205. * @param request
  206. * @return
  207. */
  208. List<ShippingProviderLocation> searchShippingProviderLocation(SearchShippingProviderLocationRequest request);
  209. /**
  210. * @param request
  211. * @return
  212. */
  213. Long getShippingProviderLocationCount(SearchShippingProviderLocationRequest request);
  214. Set<Integer> getServiceableByFacilities(Integer shippingMethodId, String pincode);
  215. List<ShippingProviderMethod> getShippingProviderMethods(int shippingProviderId);
  216. List<ShippingProviderMethod> getEnabledShippingProviderMethods(int shippingProviderId);
  217. List<String> getServiceablePincodesByShippingProviderMethod(Integer shippingProviderId, Integer shippingMethodId);
  218. void updateNonServiceablePincodes(Integer shippingProviderId, Integer shippingMethodId, Set<String> pincodes);
  219. /**
  220. * @param saleOrderCode
  221. * @return
  222. */
  223. List<ShippingPackage> getShippingPackages(String saleOrderCode);
  224. List<ShippingPackage> getShippingPackagesByIds(List<Object> ids);
  225. ShippingProviderMethod getShippingProviderMethod(String providerCode, String methodName);
  226. ShippingProviderMethod getShippingProviderMethod(String providerCode, String methodName, Integer facilityId);
  227. List<ShippingManifestStatus> getShippingManifestStatuses();
  228. List<ShippingProvider> getShippingProviders();
  229. List<ShippingProviderAllocationRule> getShippingProviderAllocationRules();
  230. List<ShippingProviderMethod> getShippingProviderMethods();
  231. List<ShippingMethod> getShippingMethods();
  232. List<ShippingPackageType> getShippingPackageTypes();
  233. List<ShippingPackageStatus> getShippingPackageStatuses();
  234. List<ShipmentTrackingStatus> getShipmentTrackingStatuses();
  235. public void removeManifestItem(ShippingManifestItem shippingManifestItem);
  236. List<ShippingProvider> lookupShippingProviders(String keyword);
  237. List<ShippingPackage> getShippingPackages(GetShippingPackagesRequest request);
  238. ShippingProviderLocation updateShippingProviderLocation(ShippingProviderLocation shippingProviderLocation);
  239. ShippingManifest getShippingManifestByCode(String shippingManifestCode);
  240. List<ShippingPackage> getShippingPackagesByTrackingNumber(String trackingNumber);
  241. /* (non-Javadoc)
  242. * @see com.uniware.dao.shipping.IShippingDao#getShipmentsForStatusTracking(int)
  243. */
  244. List<ShipmentTracking> getShipmentsForTracking(int shippingProviderId, List<String> statusCodes, int start, int pageSize);
  245. ShipmentBatch getShipmentBatchByCode(String shipmentBatchCode);
  246. ShipmentBatch addShipmentBatch(ShipmentBatch shipmentBatch);
  247. int updateShipmentBatch(List<String> shippingPackageCodes, String code);
  248. ShipmentBatch getShipmentBatchByCode(String shipmentBatchCode, boolean lock);
  249. List<ShipmentBatch> getShipmentBatchesByCode(String statusCode);
  250. List<SaleOrderItem> getSaleOrderItemsForDetaling(List<String> shippingPackageCodes);
  251. List<Channel> getChannelsForManifest();
  252. ShipmentBatch createShipmentBatch(ShipmentBatch shipmentBatch);
  253. List<ShippingPackage> getShippingPackagesBySaleOrder(String saleOrderCode);
  254. List<ShippingPackage> getAllShippingPackagesBySaleOrder(String saleOrderCode);
  255. ShippingPackage getShippingPackageWithSaleOrderByCode(String shippingPackageCode);
  256. int getReturnsCountBySaleOrder(String saleOrderCode);
  257. int getInvoiceCountBySaleOrder(String saleOrderCode);
  258. int getShipmentCountBySaleOrder(String saleOrderCode);
  259. ShippingPackage getShippingPackageByShippingProviderAndTrackingNumber(String shippingProviderCode, String trackingNumber);
  260. List<ShippingPackage> getEligibleShippingPackagesForShippingManifest(ShippingManifest shippingManifest);
  261. List<Object[]> getEligibleShippingProvidersForManifest(String channelCode);
  262. ShippingPackage getShippingPackage(String shippingPackageCode, String shippingProviderCode, String trackingNumber);
  263. ShippingPackage getShippingPackageByCode(String shippingPackageCode, boolean markSaleOrderDirty);
  264. List<ShippingProviderLocation> getLocationforShippingProvider(String shippingProviderCode);
  265. int deleteLocationsforShippingProvider(int shippingProviderId);
  266. List<ShippingProviderMethod> getShippingProviderMethods(int shippingProviderId, int facilityId);
  267. List<String> getServiceablePincodesByShippingProviderMethod(Integer shippingProviderId, Integer shippingMethodId, String facilityCode);
  268. void updateNonServiceablePincodes(Integer shippingProviderId, Integer shippingMethodId, Set<String> pincodes, int facilityId);
  269. ShippingProviderLocation getShippingProviderLocation(String shippingMethodName, String shippingProviderCode, String pincode, String facilityCode);
  270. List<ShippingPackage> getPaginatedShippingPackagesByStatusCode(String statusCode, PageRequest request);
  271. List<ShippingProviderLocation> getShippingProviderLocationsByFacilityCodeAndUpdatedTime(Integer facilityId, Date updatedAfter);
  272. Long getPicklistPendingForShelfCount(String shelfCode);
  273. ShippingPackage getShippingPackageByReturnInvoiceId(Integer returnInvoiceId);
  274. ShippingPackage getShippingPackageWithSaleOrderItemsForPickSet(String packageCode, int pickSetId);
  275. }