SalesOrderService.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  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.*;
  5. import com.iamberry.rst.core.page.PagedResult;
  6. import com.iamberry.rst.core.sys.Admin;
  7. import com.iamberry.rst.core.tools.LogisticsInfo;
  8. import net.sf.json.JSONArray;
  9. import net.sf.json.JSONObject;
  10. import java.util.Date;
  11. import java.util.List;
  12. /**
  13. * Created by liuzhiwei on 2017/10/31.
  14. */
  15. public interface SalesOrderService {
  16. /**
  17. * 添加订单信息
  18. * @param salesOrder
  19. * @return
  20. */
  21. Integer addSalesOrder(SalesOrder salesOrder);
  22. /**
  23. * 添加订单信息
  24. * @param salesOrder
  25. * @return
  26. */
  27. Integer addSalesOrderManual(SalesOrder salesOrder);
  28. /**
  29. * 根据id查询订单信息
  30. * @param salesId
  31. * @return
  32. */
  33. SalesOrder getSalesOrderById(Integer salesId);
  34. SalesOrder addOrderAndIteminfo(SalesOrder salesOrder, List<SalesOrderItem> list) ;
  35. boolean addRstOrderAndIteminfo(SalesOrder salesOrder) ;
  36. /**
  37. * 修改订单信息
  38. * @param salesOrder
  39. * @return
  40. */
  41. Integer updateSalesOrder(SalesOrder salesOrder);
  42. /**
  43. * 修改订单信息
  44. * @param salesOrder
  45. * @return
  46. */
  47. Integer updateOrderInfo(SalesOrder salesOrder);
  48. /**
  49. * 批量添加订单信息
  50. * @param list
  51. * @return
  52. */
  53. Integer addSalesOrderList(List<SalesOrder> list);
  54. /**
  55. * 添加订单和订单项
  56. * @param list
  57. * @return
  58. */
  59. boolean addOrderAndItem(SalesOrder salesOrder, List<SalesOrderItem> list)throws Exception;
  60. /**
  61. * 获取订单集合
  62. * @param salesOrder
  63. * @return
  64. */
  65. List<SalesOrder> listSalesOrder (SalesOrder salesOrder);
  66. /**
  67. * 获取订单数量
  68. * @param salesOrder
  69. * @return
  70. */
  71. Integer listSalesOrderNum (SalesOrder salesOrder);
  72. /**
  73. * 分页获取订单集合
  74. * @param pageNO
  75. * @param pageSize
  76. * @param salesOrder
  77. * @param isTotalNum
  78. * @return
  79. */
  80. PagedResult<SalesOrder> listSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum);
  81. /**
  82. * 查询待发货的数量
  83. * @return
  84. */
  85. List<PostInfo> listWaitPrintOrderNum(Integer salesWarehouseId);
  86. /**
  87. * 仓库-代发货页面
  88. * @param pageNO
  89. * @param pageSize
  90. * @param salesOrder
  91. * @param isTotalNum
  92. * @return
  93. */
  94. PagedResult<SalesOrder> listAwaitSendSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum);
  95. /**
  96. * 根据省份来分配物流公司
  97. * @param listSalesOrder
  98. * @return
  99. */
  100. void setProvincesLogistics(List<SalesOrder> listSalesOrder);
  101. /**
  102. * 获取订单项集合
  103. * @param salesOrderItem
  104. * @return
  105. */
  106. List<SalesOrderItem> listSalesOrderItem(SalesOrderItem salesOrderItem);
  107. /**
  108. * 添加订单信息
  109. * @param obj
  110. */
  111. void addSalesOrderList(JSONObject obj) throws Exception;
  112. void parseOrder(SalesOrder oginerOrder, List<SalesOrder> listOrder);
  113. /**
  114. * 同步efast订单
  115. * @param obj
  116. * @return
  117. * @throws Exception
  118. */
  119. boolean syncEfastOrder(JSONObject orderInfo) throws Exception;
  120. /**
  121. * 批量修改订单信息
  122. * @param list
  123. * @return
  124. */
  125. Integer updateOrderList(JSONArray orderList, List<SalesOrder> list);
  126. /**
  127. * 批量修改退货订单状态
  128. * @param orderList
  129. * @param list
  130. * @return
  131. */
  132. Integer updateReturnOrderList(JSONArray orderList, List<SalesOrder> list);
  133. /**
  134. * 查询订单数量
  135. * @param salesOrder
  136. * @return
  137. */
  138. Integer getOrderInfoCount(SalesOrder salesOrder);
  139. /**
  140. * 查询需要导出的订单信息
  141. * @param salesOrder
  142. * @return
  143. */
  144. List<SalesOrder> listOrderExcel(SalesOrder salesOrder);
  145. /**
  146. * 查询需要导出的数量
  147. * @param salesOrder
  148. * @return
  149. */
  150. Integer listOrderExcelNum(SalesOrder salesOrder);
  151. /**
  152. * 删除订单根据Efast订单号
  153. */
  154. Integer delOrder(String orderId);
  155. /**
  156. * 删除销售订单
  157. * @param id
  158. * @return
  159. */
  160. Integer delSalesOrder(Integer id);
  161. /**
  162. * 修改订单项数量
  163. */
  164. Integer updateOrderItem(SalesOrderItem salesOrderItem);
  165. /**
  166. * 根据外部订单号查询订单信息
  167. * **/
  168. SalesOrder getSalesOrderByLogistics(SalesOrder salesOrder);
  169. /**
  170. * 批量修改订单是否已下载状态
  171. * @param list
  172. * @return
  173. */
  174. Integer updateOrderListIsDownload(List<SalesOrder> list);
  175. /**
  176. * 根据交易号修改订单信息
  177. * **/
  178. Integer updateSalesOrderByDealCode(SalesOrder salesOrder);
  179. /**
  180. * 查询物流公司信息
  181. * **/
  182. List<LogisticsInfo> getLogisticsInfo(LogisticsInfo logisticsInfo);
  183. /**
  184. * 查询所有拆单规则
  185. */
  186. List<DownsingleRuleInfo> listDownsingleRule();
  187. /**
  188. * 根据颜色sku/查询产品是否是水机
  189. */
  190. Integer getIsMachine(String colorBar);
  191. boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder);
  192. /**
  193. *查询拥有该交易号的数量
  194. * @param code
  195. * @return
  196. */
  197. Integer getOrderBySalesDealCodeNum(String code);
  198. /**
  199. * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列
  200. * @param salesOrder
  201. * @return
  202. */
  203. Integer listSalesOrderAndItemNum(SalesOrder salesOrder);
  204. /**
  205. * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列
  206. * @param salesOrder
  207. * @return
  208. */
  209. List<SalesOrder> listSalesOrderAndItem(SalesOrder salesOrder);
  210. /**
  211. * 查询订单数量
  212. * @param salesOrder
  213. * @return
  214. */
  215. Integer getSalesOrderNum(SalesOrder salesOrder);
  216. /**
  217. * 批量确认订单 根据批次
  218. * @param salesBatchId
  219. * @return
  220. */
  221. Integer listConfirmSalesOrderByBatch(String salesBatchId);
  222. /**
  223. * 批量通知配货
  224. * @param salesOrder
  225. * @return
  226. */
  227. Integer noticeDistribution(SalesOrder salesOrder);
  228. /**
  229. * 确认订单,需要传入完整的order
  230. * @param salesId
  231. * @return
  232. */
  233. Integer confirmSalesOrder(Integer salesId);
  234. /**
  235. * 分配物流方式
  236. * @param salesOrder
  237. * @return
  238. */
  239. Integer distributionExpress(SalesOrder salesOrder);
  240. /**
  241. * 批量分配快递方式
  242. * @param salesOrder
  243. * @return
  244. */
  245. Integer listSalesPostFirm(SalesOrder salesOrder);
  246. /**
  247. * 批量分配快递方式
  248. * @param salesOrder
  249. * @return
  250. */
  251. Integer listSalesPostFirmByIds(SalesOrder salesOrder);
  252. /**
  253. * 查询订单
  254. * @param postNum
  255. * @return
  256. */
  257. SalesOrder getSalesOrderByPostNum(String postNum);
  258. /**
  259. * 出库
  260. * @param salesOrder
  261. * @return
  262. */
  263. Integer updateDeliver(SalesOrder salesOrder);
  264. /**
  265. * 获取出库数量
  266. * @param salesOrder
  267. * @return
  268. */
  269. List<SalesOrderItem> getDeliverNum(SalesOrder salesOrder);
  270. /**
  271. * 获取未发货有哪些时间
  272. * @param
  273. * @return
  274. */
  275. List<Date> getNotSendDate();
  276. /**
  277. * 查询订单集合与订单项集合
  278. * @param salesOrder
  279. * @return
  280. */
  281. List<SalesOrder> salesOrderListAndItem(SalesOrder salesOrder);
  282. /**
  283. * 订单统计列表
  284. * @param pageNO
  285. * @param pageSize
  286. * @param salesOrder
  287. * @param isTotalNum
  288. * @return
  289. */
  290. public PagedResult<SalesOrder> salesOrderListAndItemPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum);
  291. /**
  292. * 查询订单项集合
  293. * @return
  294. */
  295. List<SalesOrderItem> selectSalesOrderItemList(Integer salesId);
  296. /**
  297. * 添加更正信息
  298. * @param orderCorrectInfo
  299. * @return
  300. */
  301. Boolean addCorrectInfo(OrderCorrectInfo orderCorrectInfo, String arrayItem, Admin admin);
  302. /**
  303. * 添加更正信息项
  304. * @param OrderCorrectItem
  305. * @return
  306. */
  307. Integer addCorrectItem(OrderCorrectItem OrderCorrectItem );
  308. /**
  309. * 获取更正信息
  310. * @param correctId
  311. * @return
  312. */
  313. OrderCorrectInfo getOrderCorrectInfo(Integer correctId);
  314. /**
  315. * 获取更正信息项
  316. * @param correctId
  317. * @return
  318. */
  319. List<OrderCorrectItem> listOrderCorrectItem(Integer correctId);
  320. /**
  321. * 获取订单项
  322. * @param itemId
  323. * @return
  324. */
  325. SalesOrderItem getSalesOrderItem(Integer itemId);
  326. /**
  327. * 修改订单项数量
  328. * @param salesOrderItem
  329. * @return
  330. */
  331. Integer updateOrderItemById(SalesOrderItem salesOrderItem);
  332. /**
  333. * 查询更正信息集合
  334. * @param orderId
  335. * @return
  336. */
  337. List<OrderCorrectInfo> listOrderCorrectInfo(Integer orderId);
  338. /**
  339. * 根据当前登录人获取所属仓库
  340. * @param adminId
  341. * @return
  342. */
  343. OrderWarehouse selectAdminWarehouse(Integer adminId);
  344. /**
  345. * 获取所有仓库信息
  346. * @return
  347. */
  348. List<OrderWarehouse> listOrderWarehouse();
  349. /**
  350. * 专用于 - 销售统计
  351. * @return
  352. */
  353. List<SalesOrder> salesOrderAndItemStat(SalesOrder salesOrder);
  354. /**
  355. * 拆单
  356. * @param mainOrderId
  357. * @param salesOrderList
  358. * @return
  359. */
  360. Integer splitOrder(String mainOrderId, List<SalesOrder> salesOrderList);
  361. /**
  362. * 根据店铺id获取售后规则
  363. */
  364. AfterrulesInfo getAfterrulesInfo(Integer storeId);
  365. /**
  366. * 修改订单项退货数据
  367. */
  368. Integer updateOrderItemReturnNum(SalesOrderItem salesOrderItem);
  369. /**
  370. * 查询售后短信签名
  371. */
  372. List<SmsSignatureInfo> listSmsSignatureInfo(SmsSignatureInfo smsSignatureInfo);
  373. /**
  374. * 查询售后短信模板
  375. */
  376. List<SmsTemplateInfo> listSmsTemplateInfo(SmsTemplateInfo smsTemplateInfo);
  377. }