package com.iamberry.rst.faces.cm; import com.iamberry.rst.core.cm.SalesOrder; import com.iamberry.rst.core.cm.SalesOrderItem; import com.iamberry.rst.core.order.*; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.sys.Admin; import com.iamberry.rst.core.tools.LogisticsInfo; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.util.Date; import java.util.List; /** * Created by liuzhiwei on 2017/10/31. */ public interface SalesOrderService { /** * 添加订单信息 * @param salesOrder * @return */ Integer addSalesOrder(SalesOrder salesOrder); /** * 添加订单信息 * @param salesOrder * @return */ Integer addSalesOrderManual(SalesOrder salesOrder); /** * 根据id查询订单信息 * @param salesId * @return */ SalesOrder getSalesOrderById(Integer salesId); SalesOrder addOrderAndIteminfo(SalesOrder salesOrder, List list) ; boolean addRstOrderAndIteminfo(SalesOrder salesOrder) ; /** * 修改订单信息 * @param salesOrder * @return */ Integer updateSalesOrder(SalesOrder salesOrder); /** * 修改订单信息 * @param salesOrder * @return */ Integer updateOrderInfo(SalesOrder salesOrder); /** * 批量添加订单信息 * @param list * @return */ Integer addSalesOrderList(List list); /** * 添加订单和订单项 * @param list * @return */ boolean addOrderAndItem(SalesOrder salesOrder, List list)throws Exception; /** * 获取订单集合 * @param salesOrder * @return */ List listSalesOrder (SalesOrder salesOrder); /** * 获取订单数量 * @param salesOrder * @return */ Integer listSalesOrderNum (SalesOrder salesOrder); /** * 分页获取订单集合 * @param pageNO * @param pageSize * @param salesOrder * @param isTotalNum * @return */ PagedResult listSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum); /** * 查询待发货的数量 * @return */ List listWaitPrintOrderNum(Integer salesWarehouseId); /** * 仓库-代发货页面 * @param pageNO * @param pageSize * @param salesOrder * @param isTotalNum * @return */ PagedResult listAwaitSendSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum); /** * 根据省份来分配物流公司 * @param listSalesOrder * @return */ void setProvincesLogistics(List listSalesOrder); /** * 获取订单项集合 * @param salesOrderItem * @return */ List listSalesOrderItem(SalesOrderItem salesOrderItem); /** * 添加订单信息 * @param obj */ void addSalesOrderList(JSONObject obj) throws Exception; void parseOrder(SalesOrder oginerOrder, List listOrder); /** * 同步efast订单 * @param obj * @return * @throws Exception */ boolean syncEfastOrder(JSONObject orderInfo) throws Exception; /** * 批量修改订单信息 * @param list * @return */ Integer updateOrderList(JSONArray orderList, List list); /** * 批量修改退货订单状态 * @param orderList * @param list * @return */ Integer updateReturnOrderList(JSONArray orderList, List list); /** * 查询订单数量 * @param salesOrder * @return */ Integer getOrderInfoCount(SalesOrder salesOrder); /** * 查询需要导出的订单信息 * @param salesOrder * @return */ List listOrderExcel(SalesOrder salesOrder); /** * 查询需要导出的数量 * @param salesOrder * @return */ Integer listOrderExcelNum(SalesOrder salesOrder); /** * 删除订单根据Efast订单号 */ Integer delOrder(String orderId); /** * 删除销售订单 * @param id * @return */ Integer delSalesOrder(Integer id); /** * 修改订单项数量 */ Integer updateOrderItem(SalesOrderItem salesOrderItem); /** * 根据外部订单号查询订单信息 * **/ SalesOrder getSalesOrderByLogistics(SalesOrder salesOrder); /** * 批量修改订单是否已下载状态 * @param list * @return */ Integer updateOrderListIsDownload(List list); /** * 根据交易号修改订单信息 * **/ Integer updateSalesOrderByDealCode(SalesOrder salesOrder); /** * 查询物流公司信息 * **/ List getLogisticsInfo(LogisticsInfo logisticsInfo); /** * 查询所有拆单规则 */ List listDownsingleRule(); /** * 根据颜色sku/查询产品是否是水机 */ Integer getIsMachine(String colorBar); boolean addRstOrderinfo(SalesOrder mainOrder,List listSalesOrder); /** *查询拥有该交易号的数量 * @param code * @return */ Integer getOrderBySalesDealCodeNum(String code); /** * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列 * @param salesOrder * @return */ Integer listSalesOrderAndItemNum(SalesOrder salesOrder); /** * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列 * @param salesOrder * @return */ List listSalesOrderAndItem(SalesOrder salesOrder); /** * 查询订单数量 * @param salesOrder * @return */ Integer getSalesOrderNum(SalesOrder salesOrder); /** * 批量确认订单 根据批次 * @param salesBatchId * @return */ Integer listConfirmSalesOrderByBatch(String salesBatchId); /** * 批量确认订单 * @param salesOrder * @return */ Integer noticeDistribution(SalesOrder salesOrder); /** * 确认订单,需要传入完整的order * @param salesId * @return */ Integer confirmSalesOrder(Integer salesId); /** * 分配物流方式 * @param salesOrder * @return */ Integer distributionExpress(SalesOrder salesOrder); /** * 批量分配快递方式 * @param salesOrder * @return */ Integer listSalesPostFirm(SalesOrder salesOrder); /** * 批量分配快递方式 * @param salesOrder * @return */ Integer listSalesPostFirmByIds(SalesOrder salesOrder); /** * 查询订单 * @param postNum * @return */ SalesOrder getSalesOrderByPostNum(String postNum); /** * 出库 * @param salesOrder * @return */ Integer updateDeliver(SalesOrder salesOrder); /** * 获取出库数量 * @param salesOrder * @return */ List getDeliverNum(SalesOrder salesOrder); /** * 获取未发货有哪些时间 * @param * @return */ List getNotSendDate(); /** * 查询订单集合与订单项集合 * @param salesOrder * @return */ List salesOrderListAndItem(SalesOrder salesOrder); /** * 订单统计列表 * @param pageNO * @param pageSize * @param salesOrder * @param isTotalNum * @return */ public PagedResult salesOrderListAndItemPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum); /** * 查询订单项集合 * @return */ List selectSalesOrderItemList(Integer salesId); /** * 添加更正信息 * @param orderCorrectInfo * @return */ Boolean addCorrectInfo(OrderCorrectInfo orderCorrectInfo, String arrayItem, Admin admin); /** * 添加更正信息项 * @param OrderCorrectItem * @return */ Integer addCorrectItem(OrderCorrectItem OrderCorrectItem ); /** * 获取更正信息 * @param correctId * @return */ OrderCorrectInfo getOrderCorrectInfo(Integer correctId); /** * 获取更正信息项 * @param correctId * @return */ List listOrderCorrectItem(Integer correctId); /** * 获取订单项 * @param itemId * @return */ SalesOrderItem getSalesOrderItem(Integer itemId); /** * 修改订单项数量 * @param salesOrderItem * @return */ Integer updateOrderItemById(SalesOrderItem salesOrderItem); /** * 查询更正信息集合 * @param orderId * @return */ List listOrderCorrectInfo(Integer orderId); /** * 根据当前登录人获取所属仓库 * @param adminId * @return */ OrderWarehouse selectAdminWarehouse(Integer adminId); /** * 获取所有仓库信息 * @return */ List listOrderWarehouse(); /** * 专用于 - 销售统计 * @return */ List salesOrderAndItemStat(SalesOrder salesOrder); /** * 拆单 * @param mainOrderId * @param salesOrderList * @return */ Integer splitOrder(String mainOrderId, List salesOrderList); /** * 根据店铺id获取售后规则 */ AfterrulesInfo getAfterrulesInfo(Integer storeId); /** * 修改订单项退货数据 */ Integer updateOrderItemReturnNum(SalesOrderItem salesOrderItem); /** * 查询售后短信签名 */ List listSmsSignatureInfo(SmsSignatureInfo smsSignatureInfo); /** * 查询售后短信模板 */ List listSmsTemplateInfo(SmsTemplateInfo smsTemplateInfo); }