SalesOrderService.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. package com.iamberry.rst.faces.cm;
  2. import com.iamberry.rst.core.cm.SalesOrder;
  3. import com.iamberry.rst.core.cm.SalesOrderItem;
  4. import com.iamberry.rst.core.order.DownsingleRuleInfo;
  5. import com.iamberry.rst.core.order.PostInfo;
  6. import com.iamberry.rst.core.page.PagedResult;
  7. import com.iamberry.rst.core.tools.LogisticsInfo;
  8. import net.sf.json.JSONArray;
  9. import net.sf.json.JSONObject;
  10. import java.util.List;
  11. /**
  12. * Created by liuzhiwei on 2017/10/31.
  13. */
  14. public interface SalesOrderService {
  15. /**
  16. * 添加订单信息
  17. * @param salesOrder
  18. * @return
  19. */
  20. Integer addSalesOrder(SalesOrder salesOrder);
  21. /**
  22. * 添加订单信息
  23. * @param salesOrder
  24. * @return
  25. */
  26. Integer addSalesOrderManual(SalesOrder salesOrder);
  27. /**
  28. * 根据id查询订单信息
  29. * @param salesId
  30. * @return
  31. */
  32. SalesOrder getSalesOrderById(Integer salesId);
  33. SalesOrder addOrderAndIteminfo(SalesOrder salesOrder, List<SalesOrderItem> list) ;
  34. boolean addRstOrderAndIteminfo(SalesOrder salesOrder) ;
  35. /**
  36. * 修改订单信息
  37. * @param salesOrder
  38. * @return
  39. */
  40. Integer updateSalesOrder(SalesOrder salesOrder);
  41. /**
  42. * 修改订单信息
  43. * @param salesOrder
  44. * @return
  45. */
  46. Integer updateOrderInfo(SalesOrder salesOrder);
  47. /**
  48. * 批量添加订单信息
  49. * @param list
  50. * @return
  51. */
  52. Integer addSalesOrderList(List<SalesOrder> list);
  53. /**
  54. * 添加订单和订单项
  55. * @param list
  56. * @return
  57. */
  58. boolean addOrderAndItem(SalesOrder salesOrder, List<SalesOrderItem> list)throws Exception;
  59. /**
  60. * 获取订单集合
  61. * @param salesOrder
  62. * @return
  63. */
  64. List<SalesOrder> listSalesOrder (SalesOrder salesOrder);
  65. /**
  66. * 获取订单数量
  67. * @param salesOrder
  68. * @return
  69. */
  70. Integer listSalesOrderNum (SalesOrder salesOrder);
  71. /**
  72. * 分页获取订单集合
  73. * @param pageNO
  74. * @param pageSize
  75. * @param salesOrder
  76. * @param isTotalNum
  77. * @return
  78. */
  79. PagedResult<SalesOrder> listSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum);
  80. /**
  81. * 查询待发货的数量
  82. * @return
  83. */
  84. List<PostInfo> listWaitPrintOrderNum();
  85. /**
  86. * 仓库-代发货页面
  87. * @param pageNO
  88. * @param pageSize
  89. * @param salesOrder
  90. * @param isTotalNum
  91. * @return
  92. */
  93. PagedResult<SalesOrder> listAwaitSendSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum);
  94. /**
  95. * 根据省份来分配物流公司
  96. * @param listSalesOrder
  97. * @return
  98. */
  99. void setProvincesLogistics(List<SalesOrder> listSalesOrder);
  100. /**
  101. * 获取订单项集合
  102. * @param salesOrderItem
  103. * @return
  104. */
  105. List<SalesOrderItem> listSalesOrderItem(SalesOrderItem salesOrderItem);
  106. /**
  107. * 添加订单信息
  108. * @param obj
  109. */
  110. void addSalesOrderList(JSONObject obj) throws Exception;
  111. void parseOrder(SalesOrder oginerOrder, List<SalesOrder> listOrder);
  112. /**
  113. * 同步efast订单
  114. * @param obj
  115. * @return
  116. * @throws Exception
  117. */
  118. boolean syncEfastOrder(JSONObject orderInfo) throws Exception;
  119. /**
  120. * 批量修改订单信息
  121. * @param list
  122. * @return
  123. */
  124. Integer updateOrderList(JSONArray orderList, List<SalesOrder> list);
  125. /**
  126. * 批量修改退货订单状态
  127. * @param orderList
  128. * @param list
  129. * @return
  130. */
  131. Integer updateReturnOrderList(JSONArray orderList, List<SalesOrder> list);
  132. /**
  133. * 查询订单数量
  134. * @param salesOrder
  135. * @return
  136. */
  137. Integer getOrderInfoCount(SalesOrder salesOrder);
  138. /**
  139. * 查询需要导出的订单信息
  140. * @param salesOrder
  141. * @return
  142. */
  143. List<SalesOrder> listOrderExcel(SalesOrder salesOrder);
  144. /**
  145. * 查询需要导出的数量
  146. * @param salesOrder
  147. * @return
  148. */
  149. Integer listOrderExcelNum(SalesOrder salesOrder);
  150. /**
  151. * 删除订单根据Efast订单号
  152. */
  153. Integer delOrder(String orderId);
  154. /**
  155. * 删除销售订单
  156. * @param id
  157. * @return
  158. */
  159. Integer delSalesOrder(Integer id);
  160. /**
  161. * 修改订单项数量
  162. */
  163. Integer updateOrderItem(SalesOrderItem salesOrderItem);
  164. /**
  165. * 根据外部订单号查询订单信息
  166. * **/
  167. SalesOrder getSalesOrderByLogistics(SalesOrder salesOrder);
  168. /**
  169. * 批量修改订单是否已下载状态
  170. * @param list
  171. * @return
  172. */
  173. Integer updateOrderListIsDownload(List<SalesOrder> list);
  174. /**
  175. * 根据交易号修改订单信息
  176. * **/
  177. Integer updateSalesOrderByDealCode(SalesOrder salesOrder);
  178. /**
  179. * 查询物流公司信息
  180. * **/
  181. List<LogisticsInfo> getLogisticsInfo(LogisticsInfo logisticsInfo);
  182. /**
  183. * 查询所有拆单规则
  184. */
  185. List<DownsingleRuleInfo> listDownsingleRule();
  186. /**
  187. * 根据颜色sku/查询产品是否是水机
  188. */
  189. Integer getIsMachine(String colorBar);
  190. boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder);
  191. /**
  192. *查询拥有该交易号的数量
  193. * @param code
  194. * @return
  195. */
  196. Integer getOrderBySalesDealCodeNum(String code);
  197. /**
  198. * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列
  199. * @param salesOrder
  200. * @return
  201. */
  202. Integer listSalesOrderAndItemNum(SalesOrder salesOrder);
  203. /**
  204. * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列
  205. * @param salesOrder
  206. * @return
  207. */
  208. List<SalesOrder> listSalesOrderAndItem(SalesOrder salesOrder);
  209. /**
  210. * 查询订单数量
  211. * @param salesOrder
  212. * @return
  213. */
  214. Integer getSalesOrderNum(SalesOrder salesOrder);
  215. /**
  216. * 批量确认订单 根据批次
  217. * @param salesBatchId
  218. * @return
  219. */
  220. Integer listConfirmSalesOrderByBatch(String salesBatchId);
  221. /**
  222. * 批量确认订单
  223. * @param salesOrder
  224. * @return
  225. */
  226. Integer noticeDistribution(SalesOrder salesOrder);
  227. /**
  228. * 确认订单,需要传入完整的order
  229. * @param salesId
  230. * @return
  231. */
  232. Integer confirmSalesOrder(Integer salesId);
  233. /**
  234. * 分配物流方式
  235. * @param salesOrder
  236. * @return
  237. */
  238. Integer distributionExpress(SalesOrder salesOrder);
  239. /**
  240. * 批量分配快递方式
  241. * @param salesOrder
  242. * @return
  243. */
  244. Integer listSalesPostFirm(SalesOrder salesOrder);
  245. /**
  246. * 查询订单
  247. * @param postNum
  248. * @return
  249. */
  250. SalesOrder getSalesOrderByPostNum(String postNum);
  251. /**
  252. * 出库
  253. * @param salesOrder
  254. * @return
  255. */
  256. Integer updateDeliver(SalesOrder salesOrder);
  257. /**
  258. * 获取出库数量
  259. * @param salesOrder
  260. * @return
  261. */
  262. SalesOrderItem getDeliverNum(SalesOrder salesOrder);
  263. /**
  264. * 查询订单集合与订单项集合
  265. * @param salesOrder
  266. * @return
  267. */
  268. List<SalesOrder> salesOrderListAndItem(SalesOrder salesOrder);
  269. }