Browse Source

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
liujiankang 5 years ago
parent
commit
5453be3a0b

+ 10 - 9
watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderTracking.java

@@ -6,8 +6,9 @@ import java.util.Date;
 public class OrderTracking implements Serializable{
     private static final long serialVersionUID = -2448392481008379959L;
     private Integer trackingId;
-    private Integer salesId;
+//    private Integer salesId;
     private Integer adminId;
+    private String salesDealCode;
     private String trackingDesc;
     private Date trackingCreateDate;
     private String adminName;
@@ -20,14 +21,6 @@ public class OrderTracking implements Serializable{
         this.trackingId = trackingId;
     }
 
-    public Integer getSalesId() {
-        return salesId;
-    }
-
-    public void setSalesId(Integer salesId) {
-        this.salesId = salesId;
-    }
-
     public Integer getAdminId() {
         return adminId;
     }
@@ -59,4 +52,12 @@ public class OrderTracking implements Serializable{
     public void setAdminName(String adminName) {
         this.adminName = adminName;
     }
+
+    public String getSalesDealCode() {
+        return salesDealCode;
+    }
+
+    public void setSalesDealCode(String salesDealCode) {
+        this.salesDealCode = salesDealCode;
+    }
 }

+ 17 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -38,6 +38,23 @@ public interface SalesOrderService {
      */
     SalesOrder getSalesOrderById(Integer salesId);
 
+  /**
+     * 根据id查询订单信息 - 简洁
+     * @param salesId
+     * @return
+     */
+    SalesOrder getSalesOrderByIdConcise(Integer salesId);
+
+    /**
+     * 根据id查询订单信息,单个请用getSalesOrderById
+     * @param salesIds
+     * @return
+     */
+    List<SalesOrder> getSalesOrderByIds(Integer[] salesIds);
+
+    //通过交易编号,查询所有的子订单
+    List<SalesOrder>  getSonSalesOrderBySaleId(Integer salesId);
+
     SalesOrder addOrderAndIteminfo(SalesOrder salesOrder, List<SalesOrderItem> list) ;
 
     boolean addRstOrderAndIteminfo(SalesOrder salesOrder) ;

+ 48 - 23
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -34,7 +34,6 @@ import com.iamberry.rst.service.sys.mapper.SysConfigMapper;
 import com.iamberry.rst.util.PageUtil;
 import com.iamberry.wechat.core.entity.AdminUtils;
 import com.iamberry.wechat.tools.DateTimeUtil;
-import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.slf4j.Logger;
@@ -122,6 +121,20 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     public SalesOrder getSalesOrderById(Integer salesId) {
         return salesOrderMapper.getSalesOrderById(salesId);
     }
+    @Override
+    public SalesOrder getSalesOrderByIdConcise(Integer salesId) {
+        return salesOrderMapper.getSalesOrderByIdConcise(salesId);
+    }
+
+    @Override
+    public List<SalesOrder> getSalesOrderByIds(Integer[] salesIds){
+        return salesOrderMapper.getSalesOrderByIds(salesIds);
+    }
+
+    @Override
+    public  List<SalesOrder>  getSonSalesOrderBySaleId(Integer salesId) {
+        return salesOrderMapper.getSonSalesOrderBySaleId(salesId);
+    }
 
     @Override
     @Transactional(rollbackFor = {Exception.class}, isolation = Isolation.REPEATABLE_READ)
@@ -165,13 +178,6 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 returnInventory(salesOrder.getSalesId(),so.getSalesWarehouseId());
             }
         }
-
-        //添加操作跟踪记录
-//        OrderTracking orderTracking = new OrderTracking();
-//        orderTracking.setAdminId(mainOrder.getSalesAdminId());
-//        orderTracking.setSalesId(mainOrder.getSalesId());
-//        orderTracking.setTrackingDesc("确认订单(拆分订单)");
-//        salesOrderService.addTracking(orderTracking);
         return 1;
     }
 
@@ -711,13 +717,6 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         }
         // 缓存订单项
         cacheOrderItem(mainOrder.getSalesId());
-
-        //添加操作跟踪记录
-        OrderTracking orderTracking = new OrderTracking();
-        orderTracking.setAdminId(mainOrder.getSalesAdminId());
-        orderTracking.setSalesId(mainOrder.getSalesId());
-        orderTracking.setTrackingDesc("创建订单");
-        salesOrderService.addTracking(orderTracking);
         return true;
     }
 
@@ -1297,7 +1296,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             //添加操作跟踪信息
             OrderTracking orderTracking = new OrderTracking();
             orderTracking.setAdminId(salesOrder.getTrackingAdminId());
-            orderTracking.setSalesId(salesOrder.getSalesId());
+            orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
             orderTracking.setTrackingDesc("通知配货");
             salesOrderService.addTracking(orderTracking);
         }
@@ -1363,8 +1362,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 //添加操作跟踪信息
                 OrderTracking orderTracking = new OrderTracking();
                 orderTracking.setAdminId(salesOrder.getTrackingAdminId());
-                orderTracking.setSalesId(prder.getSalesId());
-                orderTracking.setTrackingDesc("按照批次分配快递方式");
+                orderTracking.setSalesDealCode(prder.getSalesDealCode());
+                orderTracking.setTrackingDesc("分配快递方式(批次-"+ salesOrder.getSalesPostFirm() +")");
                 salesOrderService.addTracking(orderTracking);
             }
         }
@@ -1380,8 +1379,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 //添加操作跟踪信息
                 OrderTracking orderTracking = new OrderTracking();
                 orderTracking.setAdminId(salesOrder.getTrackingAdminId());
-                orderTracking.setSalesId(prder.getSalesId());
-                orderTracking.setTrackingDesc("根据订单id批量分配物流("+prder.getSalesPostFirm()+")");
+                orderTracking.setSalesDealCode(prder.getSalesDealCode());
+                orderTracking.setTrackingDesc("分配物流方式单个-"+prder.getSalesPostFirm()+")");
                 salesOrderService.addTracking(orderTracking);
             }
         }
@@ -1390,6 +1389,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
+    @Transactional
     public SalesOrder getSalesOrderByPostNum(String postNum) {
         return salesOrderMapper.getSalesOrderByPostNum(postNum);
     }
@@ -1774,10 +1774,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
          */
 
         Integer flag = 0;
+        String salesCode = "";
+        Integer adminId = 0;
 
         SalesOrder mainOrder = new SalesOrder();
         mainOrder.setSalesDealCode(mainOrderId);
         List<SalesOrder> orderList = salesOrderService.salesOrderListAndItem(mainOrder);
+        salesCode = orderList.get(0).getSalesDealCode();
+        adminId = orderList.get(0).getSalesAdminId();
+
         SalesOrder or = new SalesOrder();
         or.setSalesMainOrderId(orderList.get(0).getSalesId());
         //该订单为主订单
@@ -1827,6 +1832,13 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             if(salesId == null){
                 //添加订单和订单项
                 salesOrderService.addOrderAndIteminfo(salesOrder,salesOrder.getSalesOrderItemList());
+
+                //添加操作跟踪信息
+                OrderTracking orderTracking = new OrderTracking();
+                orderTracking.setAdminId(salesOrder.getSalesAdminId());
+                orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
+                orderTracking.setTrackingDesc("拆分订单(由:"+salesCode+"拆分出来)");
+                salesOrderService.addTracking(orderTracking);
             }else{
                 //其余全部做修改,删除订单项,添加新的订单项
                  flag = salesOrderMapper.delOrderItem(salesOrder.getSalesId());
@@ -1840,6 +1852,13 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     throw new RuntimeException("添加订单项失败,订单交易号:"+salesOrder.getSalesDealCode());
                 }
                 this.cacheOrderItem(salesOrder.getSalesId());
+
+                //添加操作跟踪信息
+                OrderTracking orderTracking = new OrderTracking();
+                orderTracking.setAdminId(salesOrder.getSalesAdminId());
+                orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
+                orderTracking.setTrackingDesc("拆分订单");
+                salesOrderService.addTracking(orderTracking);
             }
         }
 
@@ -1848,8 +1867,14 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             if(flag < 1){
                 throw new RuntimeException("删除订单失败,删除订单交易号:"+soDelete.getSalesDealCode());
             }
-        }
 
+            //添加操作跟踪信息 - 删除操作
+            OrderTracking orderTracking = new OrderTracking();
+            orderTracking.setAdminId(soDelete.getSalesAdminId());
+            orderTracking.setSalesDealCode(orderTracking.getSalesDealCode());
+            orderTracking.setTrackingDesc("拆分订单(删除处理");
+            salesOrderService.addTracking(orderTracking);
+        }
         return flag;
     }
 
@@ -1984,8 +2009,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
-    public List<OrderTracking> listTracking(Integer trackingId) {
-        return salesOrderMapper.listTracking(trackingId);
+    public List<OrderTracking> listTracking(String salesDealCode) {
+        return salesOrderMapper.listTracking(salesDealCode);
     }
 
     @Override

+ 18 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -25,6 +25,23 @@ public interface SalesOrderMapper {
     SalesOrder getSalesOrderById(Integer salesId);
 
     /**
+     * 根据id查询订单信息 - 简洁
+     * @param salesId
+     * @return
+     */
+    SalesOrder getSalesOrderByIdConcise(Integer salesId);
+
+    /**
+     * 根据id查询订单信息,单个请用getSalesOrderById
+     * @param salesIds
+     * @return
+     */
+    List<SalesOrder> getSalesOrderByIds(Integer[] salesIds);
+
+    //通过交易编号,查询所有的子订单
+    List<SalesOrder>  getSonSalesOrderBySaleId(Integer salesId);
+
+    /**
      * 修改订单信息
      * @param salesOrder
      * @return
@@ -485,7 +502,7 @@ public interface SalesOrderMapper {
     /**
      *订单跟踪查询
      */
-    List<OrderTracking> listTracking(Integer trackingId);
+    List<OrderTracking> listTracking(String salesDealCode);
     /**
      *根据批次id查询订单
      */

+ 52 - 6
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -62,6 +62,47 @@
     where sales_id = #{salesId}
   </select>
 
+    <!-- 根据id查询订单信息 -->
+  <select id="getSalesOrderByIdConcise" resultType="SalesOrder" parameterType="java.lang.Integer" >
+    select
+        t.sales_id,t.sales_orderId,t.sales_deal_code,t.sales_send_type,t.sales_send_time,t.sales_sales_time,t.sales_post_num,t.sales_post_firm,
+        t.sales_address_info,t.sales_address_tel,t.sales_address_name,t.sales_amount,t.sales_pay_money,t.sales_shipping_fee,
+        t.sales_pay_time,t.sales_create_time,t.sales_admin_remark,t.sales_user_remark,t.sales_type,t.sales_order_status,t.sales_status,
+        t.sales_shipping_status,t.sales_deliver,t.sales_pay_status,t.sales_process_status,
+        t.sales_is_send,t.sales_is_locked,t.sales_is_separate,t.sales_is_download,t.sales_main_order_id,t.sales_batch_id,t.sales_add_type,
+        t.sales_admin_id,t.sales_deliver_time,t.sales_distribution_time,t.sales_warehouse_id,t.sales_return_status,
+        t.sales_address_postcode,t.sales_postage_cost,t.sales_is_sublist,t.sales_belong_orderId
+    from tb_rst_sales_order_info t
+    where t.sales_id = #{salesId}
+  </select>
+
+  <!-- 根据id查询订单信息 -->
+  <select id="getSalesOrderByIds" resultType="SalesOrder" parameterType="java.util.List" >
+    select
+      t.sales_id,t.sales_orderId,t.sales_deal_code,t.sales_send_type,t.sales_send_time,t.sales_sales_time,t.sales_post_num,t.sales_post_firm,
+      t.sales_address_info,t.sales_address_tel,t.sales_address_name,t.sales_amount,t.sales_pay_money,t.sales_shipping_fee,
+      t.sales_pay_time,t.sales_create_time,t.sales_admin_remark,t.sales_user_remark,t.sales_type,t.sales_order_status,t.sales_status,
+      t.sales_shipping_status,t.sales_deliver,t.sales_pay_status,t.sales_process_status,
+      t.sales_is_send,t.sales_is_locked,t.sales_is_separate,t.sales_is_download,t.sales_main_order_id,t.sales_batch_id,t.sales_add_type,
+      t.sales_admin_id,t.sales_deliver_time,t.sales_distribution_time,t.sales_warehouse_id,t.sales_return_status,
+      t.sales_address_postcode,t.sales_postage_cost,t.sales_is_sublist,t.sales_belong_orderId
+    from tb_rst_sales_order_info t
+    where
+      sales_id IN
+      <foreach collection="array" item="node" index="index" separator="," open="(" close=")">
+          #{node}
+      </foreach >
+  </select>
+
+
+    <!-- 根据id查询订单信息 -->
+    <select id="getSonSalesOrderBySaleId" resultType="SalesOrder" parameterType="Integer" >
+        select
+          t.*
+        from tb_rst_sales_order_info t
+        where t.sales_main_order_id = #{salesId}
+    </select>
+
 
     <!-- 【New】新建查询订单列表SQL -->
     <select id="listSalesOrderNew" resultType="SalesOrder" parameterType="SalesOrder" >
@@ -1621,6 +1662,8 @@
              sales_id,
              sales_orderId,
              sales_openId,
+             sales_deal_code,
+             sales_admin_id,
              sales_send_type,
              sales_shipping_status,
              sales_status,
@@ -2393,21 +2436,24 @@
     <!--订单跟踪添加和查询-->
     <insert id="addTracking" parameterType="OrderTracking">
       INSERT INTO  tb_rst_order_tracking(
-        sales_id,
+        sales_deal_code,
         admin_id,
         tracking_desc,
         tracking_create_date
-        )VALUES (
-        #{salesId},
+        )
+        VALUES
+        (
+        #{salesDealCode},
         #{adminId},
         #{trackingDesc},
         NOW()
         )
     </insert>
-    <select id="listTracking" parameterType="Integer" resultType="OrderTracking" >
-        SELECT tb_rst_order_tracking.*,sa.admin_name AS adminName from tb_rst_order_tracking
+    <select id="listTracking" parameterType="String" resultType="OrderTracking" >
+        SELECT tb_rst_order_tracking.*,sa.admin_name AS adminName
+        from tb_rst_order_tracking
         LEFT JOIN tb_rst_sys_admin sa on sa.admin_id = tb_rst_order_tracking.admin_id
-        WHERE sales_id = #{salesId}
+        WHERE sales_deal_code = #{salesDealCode}
     </select>
 
     <select id="listSalesOrderByBatchId" resultType="SalesOrder" parameterType="String" >

+ 78 - 39
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -240,7 +240,7 @@ public class AdminSalesOrderController {
         }
 
         //查询操作记录
-        List<OrderTracking> listTracking = salesOrderService.listTracking(order.getSalesId());
+        List<OrderTracking> listTracking = salesOrderService.listTracking(order.getSalesDealCode());
         mv.addObject("listTracking",listTracking);
         mv.addObject("listOrderCorrectInfo",listOrderCorrectInfo);
         mv.addObject("order",order);
@@ -875,6 +875,13 @@ public class AdminSalesOrderController {
                 salesOrder.setSalesBatchId(batchId);
             }
             salesOrderService.addRstOrderinfo(salesOrder,new ArrayList<SalesOrder>(),detectIds);
+
+            //添加操作跟踪记录
+            OrderTracking orderTracking = new OrderTracking();
+            orderTracking.setAdminId(salesOrder.getSalesAdminId());
+            orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
+            orderTracking.setTrackingDesc("创建订单(手动录入)");
+            salesOrderService.addTracking(orderTracking);
         } catch (Exception e){
             logger.error("", e);
             return new ResponseJson(500, "添加订单失败,失败原因:"+e.getMessage(), 500);
@@ -1000,7 +1007,7 @@ public class AdminSalesOrderController {
         //添加操作跟踪信息
         OrderTracking orderTracking = new OrderTracking();
         orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-        orderTracking.setSalesId(salesOrder.getSalesId());
+        orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
         orderTracking.setTrackingDesc("修改订单");
         salesOrderService.addTracking(orderTracking);
         return new ResponseJson(200, "修改订单成功,订单交易号为:"+ salesOrder.getSalesDealCode(), 200);
@@ -1099,6 +1106,7 @@ public class AdminSalesOrderController {
                    newOrder.setSalesShippingStatus(11);
                    newOrder.setSalesWarehouseId(warehouseId);
                    newOrder.setSalesIsSublist(1);
+                   newOrder.setSalesDealCode(salesOrder.getSalesDealCode());
                    /*判断主订单是否是其它订单的子订单 2019-10-08新需求     state*/
                    newOrder = suSalesOrder(newOrder);
                    /*判断主订单是否是其它订单的子订单 2019-10-08新需求     end*/
@@ -1121,6 +1129,7 @@ public class AdminSalesOrderController {
                        newOrder.setSalesShippingStatus(11);
                        newOrder.setSalesWarehouseId(warehouseId);
                        newOrder.setSalesIsSublist(1);
+                       newOrder.setSalesDealCode(so.getSalesDealCode());
 
                        /*判断主订单是否是其它订单的子订单 2019-10-08新需求     state*/
                        newOrder = suSalesOrder(newOrder);
@@ -1240,37 +1249,67 @@ public class AdminSalesOrderController {
         ResponseJson rj = ResponseJson.getFAILURE();
         Integer flag = 0;
         String errorId = "";
-            for (Integer salesIds : salesOrderIds) {
-                String msg = "";
-                if(isSplit != null && isSplit == 1){
-                    try {
-                        flag = salesOrderService.confirmSalesOrder(salesIds);
-                    } catch (Exception e) {
-                        msg = e.getMessage();
-                        e.printStackTrace();
-                    }
-                }else if(isSplit != null && isSplit == 2){
-                    try {
-                        SalesOrder salesOrder = new SalesOrder();
-                        salesOrder.setSalesId(salesIds);
-                        salesOrder.setSalesStatus(1);
-                        flag = salesOrderService.updateSalesOrder(salesOrder);
 
+        List<SalesOrder> salesOrderList = salesOrderService.getSalesOrderByIds(salesOrderIds);
+
+        for (SalesOrder so : salesOrderList) {
+            if(so.getSalesStatus() != 0 && so.getSalesStatus() != 3){
+                errorId += so.getSalesDealCode() + ":该订单已确认!;";
+            }
+
+            String msg = "";
+            if(isSplit != null && isSplit == 1){
+                try {
+                    flag = salesOrderService.confirmSalesOrder(so.getSalesId());
+                } catch (Exception e) {
+                    msg = e.getMessage();
+                    e.printStackTrace();
+                }
+
+                if(flag > 0){
+                    SalesOrder newSalesOrder = new SalesOrder();
+                    newSalesOrder.setSalesDealCode(so.getSalesDealCode());
+                    newSalesOrder = salesOrderService.getSalesOrderByLogistics(newSalesOrder);
+
+                    //添加操作跟踪记录
+                    OrderTracking orderTracking = new OrderTracking();
+                    orderTracking.setAdminId(AdminUtils.getLoginAdminId());
+                    orderTracking.setSalesDealCode(newSalesOrder.getSalesDealCode());
+                    orderTracking.setTrackingDesc("确认订单(拆分订单)");
+                    salesOrderService.addTracking(orderTracking);
+
+                    List<SalesOrder> soList = salesOrderService.getSonSalesOrderBySaleId(newSalesOrder.getSalesId());
+                    for(SalesOrder sonSoi : soList){
                         //添加操作跟踪记录
-                        OrderTracking orderTracking = new OrderTracking();
-                        orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-                        orderTracking.setSalesId(salesIds);
-                        orderTracking.setTrackingDesc("确认订单(未拆分订单)");
-                        salesOrderService.addTracking(orderTracking);
-                    } catch (Exception e) {
-                        msg = e.getMessage();
-                        e.printStackTrace();
+                        OrderTracking orderTrackingSon = new OrderTracking();
+                        orderTrackingSon.setAdminId(AdminUtils.getLoginAdminId());
+                        orderTrackingSon.setSalesDealCode(sonSoi.getSalesDealCode());
+                        orderTrackingSon.setTrackingDesc("确认订单(由原订单"+ so.getSalesDealCode() +"拆出)");
+                        salesOrderService.addTracking(orderTrackingSon);
                     }
                 }
-                if (flag < 1) {
-                    errorId += salesIds + ":" + msg + ";";
+            }else if(isSplit != null && isSplit == 2){
+                try {
+                    SalesOrder salesOrder = new SalesOrder();
+                    salesOrder.setSalesId(so.getSalesId());
+                    salesOrder.setSalesStatus(1);
+                    flag = salesOrderService.updateSalesOrder(salesOrder);
+
+                    //添加操作跟踪记录
+                    OrderTracking orderTracking = new OrderTracking();
+                    orderTracking.setAdminId(AdminUtils.getLoginAdminId());
+                    orderTracking.setSalesDealCode(so.getSalesDealCode());
+                    orderTracking.setTrackingDesc("确认订单(未拆分订单)");
+                    salesOrderService.addTracking(orderTracking);
+                } catch (Exception e) {
+                    msg = e.getMessage();
+                    e.printStackTrace();
                 }
             }
+            if (flag < 1) {
+                errorId += so.getSalesDealCode() + ":" + msg + ";";
+            }
+        }
             if (errorId.length() > 0) {
                 rj.addResponseKeyValue("errorId", errorId);
                 return rj;
@@ -1290,6 +1329,9 @@ public class AdminSalesOrderController {
     @RequiresPermissions("salesOrder:confirm:salesOrder")
     public ResponseJson invalidationOrder(HttpServletRequest request,
                                           @RequestParam("salesId") Integer salesId) throws Exception {
+
+        SalesOrder salesOrder = salesOrderService.getSalesOrderByIdConcise(salesId);
+
         SalesOrder so = new SalesOrder();
         so.setSalesId(salesId);
         so.setSalesStatus(3);
@@ -1298,7 +1340,7 @@ public class AdminSalesOrderController {
             //添加操作跟踪信息
             OrderTracking orderTracking = new OrderTracking();
             orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-            orderTracking.setSalesId(so.getSalesId());
+            orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
             orderTracking.setTrackingDesc("作废订单");
             salesOrderService.addTracking(orderTracking);
         }
@@ -1461,12 +1503,14 @@ public class AdminSalesOrderController {
         if(salesOrder == null  || salesOrder.getSalesId() == null || salesOrder.getSalesAdminRemark() == null){
             return ResponseJson.getFAILURE();
         }
+        SalesOrder soix = salesOrderService.getSalesOrderByIdConcise(salesOrder.getSalesId());
+
         Integer num = salesOrderService.updateSalesOrder(salesOrder);
         if(num > 0){
             //添加操作跟踪信息
             OrderTracking orderTracking = new OrderTracking();
             orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-            orderTracking.setSalesId(salesOrder.getSalesId());
+            orderTracking.setSalesDealCode(soix.getSalesDealCode());
             orderTracking.setTrackingDesc("修改订单备注");
             salesOrderService.addTracking(orderTracking);
         }
@@ -1530,10 +1574,12 @@ public class AdminSalesOrderController {
         if(!salesOrderService.addCorrectInfo(orderCorrectInfo,arrayItem,admin)){
             return ResponseJson.getFAILURE();
         }
+
         //添加操作跟踪信息
+        SalesOrder soix = salesOrderService.getSalesOrderByIdConcise(orderCorrectInfo.getItemOrderId());
         OrderTracking orderTracking = new OrderTracking();
         orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-        orderTracking.setSalesId(orderCorrectInfo.getItemOrderId());
+        orderTracking.setSalesDealCode(soix.getSalesDealCode());
         orderTracking.setTrackingDesc("更正订单");
         salesOrderService.addTracking(orderTracking);
         return ResponseJson.getSUCCESS();
@@ -1624,7 +1670,7 @@ public class AdminSalesOrderController {
     }
 
     /**
-     *
+     *拆分订单
      * @param request
      * @return
      */
@@ -1706,13 +1752,6 @@ public class AdminSalesOrderController {
             if(flag < 1){
                 responseJson.setResultMsg("拆单订单失败!");
                 return responseJson;
-            }else{
-                //添加操作跟踪信息
-                OrderTracking orderTracking = new OrderTracking();
-                orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-                orderTracking.setSalesId(or.getSalesId());
-                orderTracking.setTrackingDesc("拆分订单(交易号:"+mainOrderId+")");
-                salesOrderService.addTracking(orderTracking);
             }
         }catch (Exception e){
             e.printStackTrace();
@@ -2326,7 +2365,7 @@ public class AdminSalesOrderController {
                 //添加操作跟踪信息
                 OrderTracking orderTracking = new OrderTracking();
                 orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-                orderTracking.setSalesId(Integer.valueOf(id));
+                orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
                 orderTracking.setTrackingDesc("取消通知配货");
                 salesOrderService.addTracking(orderTracking);
                 rj = new ResponseJson(200, "修改成功", 200);

+ 17 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -1,5 +1,6 @@
 package com.iamberry.rst.controllers.order;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.iamberry.redis.RedisUtils;
 import com.iamberry.rst.core.cm.SalesOrder;
@@ -42,7 +43,6 @@ import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import com.alibaba.fastjson.JSONArray;
 /**
  * @author 献
  * @company 深圳爱贝源科技有限公司
@@ -481,7 +481,12 @@ public class AwaitSendController {
                     }
                 }
 
-
+                //添加操作跟踪信息
+                OrderTracking orderTracking = new OrderTracking();
+                orderTracking.setAdminId(AdminUtils.getLoginAdminId());
+                orderTracking.setSalesDealCode(salesOrderInfo.getSalesDealCode());
+                orderTracking.setTrackingDesc("打印订单");
+                salesOrderService.addTracking(orderTracking);
             } else {
                 // 获取电子面单失败
                 LOGGER.error("{} 获取电子面单失败,原因:{}", orderId, jsonObject.get("Reason"));
@@ -556,6 +561,8 @@ public class AwaitSendController {
         if(salesOrder == null || salesOrder.getSalesPostNum() == null || salesOrder.getSalesId() == null){
             return ResponseJson.getFAILURE();
         }
+        SalesOrder soix = salesOrderService.getSalesOrderByIdConcise(salesOrder.getSalesId());
+
         // 组装订单数据
         salesOrder.setSalesSendTime(new Date());
         salesOrder.setSalesShippingStatus(1);
@@ -568,7 +575,7 @@ public class AwaitSendController {
                 //添加操作跟踪信息
                 OrderTracking orderTracking = new OrderTracking();
                 orderTracking.setAdminId(AdminUtils.getLoginAdminId());
-                orderTracking.setSalesId(salesOrder.getSalesId());
+                orderTracking.setSalesDealCode(soix.getSalesDealCode());
                 orderTracking.setTrackingDesc("手动发货");
                 salesOrderService.addTracking(orderTracking);
                 return ResponseJson.getSUCCESS();
@@ -720,6 +727,13 @@ public class AwaitSendController {
             return rj;
         }
 
+        //添加操作跟踪信息
+        OrderTracking orderTracking = new OrderTracking();
+        orderTracking.setAdminId(salesOrder.getSalesAdminId());
+        orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
+        orderTracking.setTrackingDesc("订单出库");
+        salesOrderService.addTracking(orderTracking);
+
         //查询出库的产品项
         List<SalesOrderItem> itemList = salesOrderService.selectSalesOrderItemList(salesOrder.getSalesId());
         rj = ResponseJson.getSUCCESS();