Преглед изворни кода

Merge remote-tracking branch 'origin/master'

xian пре 5 година
родитељ
комит
2992985c40
19 измењених фајлова са 547 додато и 50 уклоњено
  1. 1 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
  2. 1 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderSyncLog.java
  3. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/ProductColor.java
  4. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  5. 9 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderSyncLogService.java
  6. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  7. 8 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java
  8. 138 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  9. 183 20
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java
  10. 18 6
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productColorMapper.xml
  11. 17 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java
  12. 12 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderPlatformController.java
  13. 12 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  14. 19 9
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl
  15. 7 1
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/update_order.ftl
  16. 17 4
      watero-rst-web/src/main/webapp/WEB-INF/views/product/add_product.ftl
  17. 20 3
      watero-rst-web/src/main/webapp/WEB-INF/views/product/update_product.ftl
  18. 27 0
      watero-rst-web/src/main/webapp/common/js/product/product.js
  19. 36 1
      watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

+ 1 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -22,7 +22,7 @@ public class SalesOrder implements Serializable {
     private Integer salesDiscountMoney;     //优惠金额
     private Integer salesPledgeMoney;       //押金金额
     private Integer salesRemainDeposit;     //待提取金额
-    private Integer salesStatus;            //确认状态  0(未确认)1(确认)2(挂起)3(作废)
+    private Integer salesStatus;            //确认状态  0(未确认)1(确认)2(挂起)3(作废) 4:京东自发
     private Integer salesSendType;          //送货方式 1:线下送货,2:物流发货
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")

+ 1 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderSyncLog.java

@@ -18,7 +18,7 @@ public class  OrderSyncLog  implements  Serializable {
     private Integer syncPlatId;
     //类型:1;拉取订单  2.发货
     private Integer syncLogType;
-    //更新模式 1:定时任务 2:手动同步 3:同步发货
+    //更新模式 1:定时任务 2:手动同步 3:同步发货到小亚通 4.同步状态到rst
     private Integer syncLogMode;
     //同步总数量
     private Integer syncLogRecentNum;

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/ProductColor.java

@@ -65,6 +65,8 @@ public class ProductColor implements Serializable {
 
     private Integer productIsSplit; //录入是否需要拆分  1需要 2不需要
 
+    private Integer colorIsJdAuto; //是否是京东仓发货: 1.京东仓自发  2.优尼雅工厂发货
+
     public String getProductName() {
         return productName;
     }
@@ -145,6 +147,14 @@ public class ProductColor implements Serializable {
         this.colorStatus = colorStatus;
     }
 
+    public Integer getColorIsJdAuto() {
+        return colorIsJdAuto;
+    }
+
+    public void setColorIsJdAuto(Integer colorIsJdAuto) {
+        this.colorIsJdAuto = colorIsJdAuto;
+    }
+
     public Date getColorCretaeTime() {
         return colorCretaeTime;
     }

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

@@ -46,6 +46,13 @@ public interface SalesOrderService {
     SalesOrder getSalesOrderByIdConcise(Integer salesId);
 
   /**
+     * 根据id查询订单信息 - 简洁
+     * @param salesOrder
+     * @return
+     */
+  List<SalesOrder> getSalesOrderListConcise(SalesOrder salesOrder);
+
+  /**
      * 根据订单id查询订单项信息
      * @param itemOrderId
      * @return

+ 9 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderSyncLogService.java

@@ -44,9 +44,17 @@ public interface OrderSyncLogService {
     /**
      * 小亚通 - 拉取订单
      * @param type
+     * @param status all:为空表示全部  20表示只获取发货
      * @return Integer
      */
-    Integer syncXYTOrder(Integer type,Date creatTime);
+    Integer syncXYTOrder(Integer type,String status,Date creatTime);
+
+    /**
+     * 小亚通 - 同步订单状态
+     * @param salesId  小亚通订单id
+     * @return Integer
+     */
+    Integer syncXYTOrderPostNum(Integer salesId);
 
     /**
      * 小亚通 - 拉取订单-单个

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -126,6 +126,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
+    public List<SalesOrder> getSalesOrderListConcise(SalesOrder salesOrder){
+        return salesOrderMapper.getSalesOrderListConcise(salesOrder);
+    }
+
+    @Override
     public List<SalesOrderItem> getOrderItemListBySalesId(Integer itemOrderId) {
         return salesOrderMapper.getOrderItemListBySalesId(itemOrderId);
     }

+ 8 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -30,6 +30,14 @@ public interface SalesOrderMapper {
      * @return
      */
     SalesOrder getSalesOrderByIdConcise(Integer salesId);
+
+    /**
+     * 根据id查询订单信息 - 简洁
+     * @param salesOrder
+     * @return
+     */
+    List<SalesOrder> getSalesOrderListConcise(SalesOrder salesOrder);
+
     /**
      * 根据订单号查询订单信息 - 简洁
      * @param salesDealCode

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

@@ -71,6 +71,141 @@
   </select>
 
     <!-- 根据id查询订单信息 -->
+  <select id="getSalesOrderListConcise" resultType="SalesOrder" parameterType="java.lang.Integer" >
+      select
+        t.*
+      from tb_rst_sales_order_info t
+      <where>
+          <if test="salesId!= null ">
+              AND t.sales_id = #{salesId}
+          </if>
+          <if test="salesOrderId != null and salesOrderId != ''">
+              AND t.sales_orderId = #{salesOrderId}
+          </if>
+          <if test="salesDealCode != null and salesDealCode != ''">
+              AND t.sales_deal_code= #{salesDealCode}
+          </if>
+          <if test="salesRemainDeposit!= null ">
+              AND t.sales_remain_deposit = #{salesRemainDeposit}
+          </if>
+          <if test="salesSendType!= null ">
+              AND t.sales_send_type = #{salesSendType}
+          </if>
+          <if test="salesPostNum != null and salesPostNum != ''">
+              AND t.sales_post_num like CONCAT ('%',#{salesPostNum},'%')
+          </if>
+          <if test="salesPostFirm != null and salesPostFirm != ''">
+              AND t.sales_post_firm like CONCAT ('%',#{salesPostFirm},'%')
+          </if>
+          <if test="salesAddressInfo != null and salesAddressInfo != ''">
+              AND t.sales_address_info like CONCAT ('%',#{salesAddressInfo},'%')
+          </if>
+          <if test="salesAddressTel != null and salesAddressTel != ''">
+              AND t.sales_address_tel like CONCAT ('%',#{salesAddressTel},'%')
+          </if>
+          <if test="salesAddressName != null and salesAddressName != ''">
+              AND t.sales_address_name like CONCAT ('%',#{salesAddressName},'%')
+          </if>
+          <if test="salesPayType!= null ">
+              AND t.sales_pay_type = #{salesPayType}
+          </if>
+          <if test="salesAdminRemark != null and salesAdminRemark != ''">
+              AND t.sales_admin_remark like CONCAT ('%',#{salesAdminRemark},'%')
+          </if>
+          <if test="salesUserRemark != null and salesUserRemark != ''">
+              AND t.sales_user_remark like CONCAT ('%',#{salesUserRemark},'%')
+          </if>
+          <if test="salesPayNumber != null and salesPayNumber != ''">
+              AND t.sales_pay_number like CONCAT ('%',#{salesPayNumber},'%')
+          </if>
+          <if test="salesStoreId!= null ">
+              AND t.sales_store_id = #{salesStoreId}
+          </if>
+          <if test="salesCompanyId!= null ">
+              AND t.sales_company_id = #{salesCompanyId}
+          </if>
+          <if test="salesType!= null ">
+              AND t.sales_type = #{salesType}
+          </if>
+          <if test="salesOrderStatus!= null ">
+              AND t.sales_order_status = #{salesOrderStatus}
+          </if>
+          <if test="salesStatus!= null ">
+              AND t.sales_status = #{salesStatus}
+          </if>
+          <if test="salesShippingStatus!= null ">
+              AND t.sales_shipping_status = #{salesShippingStatus}
+          </if>
+          <if test="salesDeliver!= null ">
+              AND t.sales_deliver = #{salesDeliver}
+          </if>
+          <if test="salesPayStatus!= null ">
+              AND t.sales_pay_status = #{salesPayStatus}
+          </if>
+          <if test="salesProcessStatus!= null ">
+              AND t.sales_process_status = #{salesProcessStatus}
+          </if>
+          <if test="salesIsSend!= null ">
+              AND t.sales_is_send = #{salesIsSend}
+          </if>
+          <if test="salesIsLocked!= null ">
+              AND t.sales_is_locked = #{salesIsLocked}
+          </if>
+          <if test="salesIsSeparate!= null ">
+              AND t.sales_is_separate = #{salesIsSeparate}
+          </if>
+          <if test="salesIsDownload!= null ">
+              AND t.sales_is_download = #{salesIsDownload}
+          </if>
+          <if test="salesIsShip!= null ">
+              AND t.sales_is_ship = #{salesIsShip}
+          </if>
+          <if test="salesProcessRefund!= null ">
+              AND t.sales_process_refund = #{salesProcessRefund}
+          </if>
+          <if test="salesWarrantyStatus!= null ">
+              AND t.sales_warranty_status = #{salesWarrantyStatus}
+          </if>
+          <if test="salesMainOrderId != null and salesMainOrderId != ''">
+              AND t.sales_main_order_id like CONCAT ('%',#{salesMainOrderId},'%')
+          </if>
+          <if test="salesBatchId != null and salesBatchId != ''">
+              AND t.sales_batch_id like CONCAT ('%',#{salesBatchId},'%')
+          </if>
+          <if test="salesAddType!= null ">
+              AND t.sales_add_type = #{salesAddType}
+          </if>
+          <if test="salesAdminId!= null ">
+              AND t.sales_admin_id = #{salesAdminId}
+          </if>
+          <if test="salesCustomerId!= null ">
+              AND t.sales_customer_id = #{salesCustomerId}
+          </if>
+          <if test="salesWarehouseId!= null ">
+              AND t.sales_warehouse_id = #{salesWarehouseId}
+          </if>
+          <if test="salesReturnStatus!= null ">
+              AND t.sales_return_status = #{salesReturnStatus}
+          </if>
+          <if test="salesAddressPostcode != null and salesAddressPostcode != ''">
+              AND t.sales_address_postcode like CONCAT ('%',#{salesAddressPostcode},'%')
+          </if>
+          <if test="salesPostageCost!= null ">
+              AND t.sales_postage_cost = #{salesPostageCost}
+          </if>
+          <if test="salesIsSublist!= null ">
+              AND t.sales_is_sublist = #{salesIsSublist}
+          </if>
+          <if test="salesBelongOrderId!= null ">
+              AND t.sales_belong_orderId = #{salesBelongOrderId}
+          </if>
+          <if test="salesExOrderId != null and salesExOrderId != ''">
+              AND t.sales_ex_orderId like CONCAT ('%',#{salesExOrderId},'%')
+          </if>
+      </where>
+  </select>
+
+    <!-- 根据id查询订单信息 -->
   <select id="getSalesOrderByIdConciseByDealCode" resultType="SalesOrder" parameterType="String" >
     select
         t.*
@@ -1226,6 +1361,9 @@
       <if test="salesProcessRefund != null">
           sales_process_refund = #{salesProcessRefund}
       </if >
+      <if test="salesDeliver != null">
+          sales_deliver = #{salesDeliver}
+      </if >
     </set>
     where sales_id = #{salesId}
     <if test="salesOldOrderStatus != null">

+ 183 - 20
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java

@@ -151,7 +151,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
      */
     @Override
     @Transactional
-    public synchronized Integer syncXYTOrder(Integer type,Date creatTime) {
+    public synchronized Integer syncXYTOrder(Integer type,String sta,Date creatTime) {
         if(type == 1){
             SysConfig sysConfig = sysConfigMapper.getSysConfigAllLock(CONFIG_ID);
             Date date = new Date();
@@ -173,7 +173,6 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
             }
         }
 
-
         OrderSyncPlatform orderSyncPlatform =  getXYTPlatform();
         if(orderSyncPlatform.getSyncPlatStatus() != 1){
             logger.info("小亚通接口已关闭!");
@@ -202,12 +201,14 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
         conditionTypeList.add(endCreateTimeMap);
 
         //订单状态  只获取代发货的订单
-        Map<String,Object> statusTimeMap = new HashMap<>();
-        statusTimeMap.put("condType","orderStatus");     //receiverName 收件人姓名 //receiverMobile收件人手机号码 //outOrderId原始订单号 //orderId系统订单号
-        String[] condValueStatuss = new String[1];
-        condValueStatuss[0] = "20"; //只查询待发货
-        statusTimeMap.put("condValue",condValueStatuss);//生成结束时间
-        conditionTypeList.add(statusTimeMap);
+        if(sta != null && !"".equals(sta)){
+            Map<String,Object> statusTimeMap = new HashMap<>();
+            statusTimeMap.put("condType","orderStatus");     //receiverName 收件人姓名 //receiverMobile收件人手机号码 //outOrderId原始订单号 //orderId系统订单号
+            String[] condValueStatuss = new String[1];
+            condValueStatuss[0] = sta; //只查询待发货
+            statusTimeMap.put("condValue",condValueStatuss);//生成结束时间
+            conditionTypeList.add(statusTimeMap);
+        }
 
         StringBuffer stringBuffer = new StringBuffer();
         Integer amountAllNum = 0;   //同步总数量
@@ -316,10 +317,161 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
         return amountSuccessAllNum;
     }
 
+    @Override
+    public Integer syncXYTOrderPostNum(Integer salesId){
+        SalesOrder salesOrder = salesOrderService.getSalesOrderByIdConcise(salesId);
+        OrderSyncPlatform orderSyncPlatform =  getXYTPlatform();
+        Map<String,Object> paramsMap = new HashMap<>();
+        List<Map<String,Object>> conditionTypeList = new ArrayList<>();
+
+        String[] orderIds = {salesOrder.getSalesDealCode()};
+
+        Map<String,Object> orderIdMap = new HashMap<>();
+        orderIdMap.put("condType","orderId");
+        orderIdMap.put("condValue",orderIds);
+        conditionTypeList.add(orderIdMap);
+
+        boolean flag = true;
+
+        StringBuffer errorMsg = new StringBuffer();
+        errorMsg.append( "京东仓订单同步订单("+ salesOrder.getSalesDealCode() +")状态,京东订单号:"+ salesOrder.getSalesExOrderId() +",");
+
+        Map<String,Object> condMap = new HashMap<>();
+        condMap.put("pageNumber",1);
+        condMap.put("pageSize",20);
+        condMap.put("conditionType",conditionTypeList);
+        paramsMap.put("cond",condMap);
+        String json = this.syncXYT("IOrderService.query",paramsMap);
+        try {
+            JSONObject jsonObj = new JSONObject(json);//转化为json格式
+            String resultMsg = jsonObj.getString("result_msg");
+            if(resultMsg.equals("success")) {
+                JSONObject dataObj = jsonObj.getJSONObject("data");    //数据
+                JSONArray beanListArray = dataObj.getJSONArray("beanList");
+                if (beanListArray.length() > 0) {
+                    for (int i = 0; i < beanListArray.length(); i++) {
+                        JSONObject job = beanListArray.getJSONObject(i);
+                        Long otherOrderId = null;
+                        String otherExtOrderId = null;
+
+//                      JSONObject consigneeObj = job.getJSONObject("consignee");   //用户信息
+                        JSONObject infoObj = job.getJSONObject("info");   //订单基本信息
+//                      JSONArray itemsArray = job.getJSONArray("items");   //订单项基本信息
+
+                        //小亚通订单编号
+                        otherOrderId = infoObj.getLong("orderId");
+                        String otherOrderIdStr = String.valueOf(otherOrderId);
+                        if(!Objects.equals(salesOrder.getSalesDealCode(),otherOrderIdStr)){
+                            errorMsg.append("未查询到该订单!");
+                            flag = false;
+                            continue;
+                        }
+
+                        //订单状态::0 待支付;10 待成团;20 待发货;30 预售中;40 待审批;50 仓库代发货;60 已发货;70 已签收;80 已拒收;999 已作废
+                        Integer orderStatus = infoObj.getInt("orderStatus");
+                        if (60 == orderStatus) {
+                            JSONArray logisticsArray = null;
+                            if(job.has("logistics")){
+                                logisticsArray = job.getJSONArray("logistics");
+                            }
+                            if(logisticsArray.length() < 1){
+                                errorMsg.append("该订单发货异常!");
+                                flag = false;
+                                continue;
+                            }
+                            JSONObject logistics = logisticsArray.getJSONObject(0);
+
+                            String companyCode = logistics.getString("companyCode");
+                            String deliveryNo = logistics.getString("deliveryNo");
+
+                            SalesOrder so = new SalesOrder();
+                            switch (companyCode){
+                                case "2087":{
+                                    so.setSalesPostFirm("jd"); //快递公司
+                                    break;
+                                }
+                                case "STO":{
+                                    so.setSalesPostFirm("STO"); //快递公司
+                                    break;
+                                }
+                                default:{
+                                    so.setSalesPostFirm(companyCode);
+                                    break;
+                                }
+                            }
+                            so.setSalesPostNum(deliveryNo);   //快递单号
+                            so.setSalesId(salesId);
+                            so.setSalesStatus(1);
+                            so.setSalesShippingStatus(1);
+                            so.setSalesDeliver(2);
+                            Integer res = salesOrderMapper.updateSalesOrder(so);
+                            if(res > 0){
+                                //添加操作跟踪信息
+                                OrderTracking orderTracking = new OrderTracking();
+                                orderTracking.setAdminId(1);
+                                orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
+                                orderTracking.setTrackingDesc("发货(同步京东仓发货信息)");
+                                salesOrderService.addTracking(orderTracking);
+                            }
+                        }else if(80 == orderStatus){
+                            errorMsg.append("该订单已被拒收!");
+                            flag = false;
+                            continue;
+                        }else if(999 == orderStatus){
+                            //如果该订单已作废,那么本系统将跟随作废
+                            SalesOrder so = new SalesOrder();
+                            so.setSalesId(salesOrder.getSalesId());
+                            so.setSalesStatus(3);
+                            Integer res = salesOrderService.updateSalesOrder(so);
+                            if(res > 0){
+                                //添加操作跟踪信息
+                                OrderTracking orderTracking = new OrderTracking();
+                                orderTracking.setAdminId(1);
+                                orderTracking.setSalesDealCode(salesOrder.getSalesDealCode());
+                                orderTracking.setTrackingDesc("作废订单(同步第三方系统状态已作废)");
+                                salesOrderService.addTracking(orderTracking);
+                            }
+                            errorMsg.append("该订单已被作废,系统自动作废!");
+                            flag = false;
+                            continue;
+                        }else{
+                            continue;
+                        }
+                    }
+                }else{
+                    errorMsg.append("未查询到该订单");
+                    flag = false;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        errorMsg.append("<br>");
+
+        if(!flag){
+            OrderSyncLog orderSyncLog = new OrderSyncLog();
+            orderSyncLog.setSyncPlatId(orderSyncPlatform.getSyncPlatId());
+            orderSyncLog.setSyncLogType(1);
+            orderSyncLog.setSyncLogMode(4);
+            orderSyncLog.setSyncLogRecentNum(1); //同步总数量
+            orderSyncLog.setSyncLogErrorNum(1); //同步失败数量
+            orderSyncLog.setSyncLogMsg("同步状态");   //备注
+            if(!errorMsg.toString().equals("")){
+                String newErrorMsg = errorMsg.toString();
+                if(newErrorMsg.length() > 5000){
+                    newErrorMsg.substring(0,4999);
+                }
+                orderSyncLog.setSyncLogErrorMsg(newErrorMsg);  //失败信息
+            }
+            orderSyncLogMapper.save(orderSyncLog);
+        }
+        return null;
+    }
+
     /**
      * 单个订单拉取
      * @param type
-     * @param orderId  小亚通订单账号
+     * @param orderId  小亚通订单id
      * @return
      */
     @Override
@@ -603,13 +755,21 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
 
             if(salesOrderItemList==null || salesOrderItemList.size()<1){
                 logger.info("小亚通发货失败,未查询到订单信息!");
+                errorSb.append("发货失败交易号:" + salesOrder.getSalesDealCode() + ",失败原因:未查询到订单信息;");
                 continue;
             }
 
             HashSet<Long> itemIdSet = new HashSet();
-            for (SalesOrderItem salesOrderItem:salesOrderItemList) {
-                Long otherItemId =  Long.valueOf(salesOrderItem.getItemOtherId());
-                itemIdSet.add(otherItemId);
+            try{
+                for (SalesOrderItem salesOrderItem:salesOrderItemList) {
+                    Long otherItemId =  Long.valueOf(salesOrderItem.getItemOtherId());
+                    itemIdSet.add(otherItemId);
+                }
+            }catch (Exception e){
+                e.printStackTrace();
+                logger.info("小亚通发货失败,订单项没有商城订单项Id!");
+                errorSb.append("发货失败交易号:" + salesOrder.getSalesDealCode() + ",失败原因:订单项没有商城订单项Id;");
+                continue;
             }
 
             Long[] itemIds = new Long[itemIdSet.size()];
@@ -852,7 +1012,6 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                         salesOrder.setSalesDealCode(String.valueOf(otherOrderId));  //小亚通订单编号
                         salesOrder.setSalesExOrderId(otherExtOrderId);
 
-
                         //平台 SELF- 自身
                         //有赞平台:KDT  虚拟店铺:OFFLINE  天猫:TMALL  微店:WEIDIAN  京东:JD  阿里巴巴:1688  微盟微商城:WEIMENGWSC
                         //有量平台:YOULIANG  拼多多:PINDUODUO  楚楚街:CHUCHUJIE  蘑菇街:MGJ  美丽说:MLS  贝贝网:BEIBEI  云集:YUNJI
@@ -875,15 +1034,15 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                             }
                             case "JD":{
                                 //JD店铺id:100206182446
-                                salesOrder.setSalesStoreId(40);     //天猫爱贝源旗舰店
+                                salesOrder.setSalesStoreId(40);     //京东
                                 salesOrder.setSalesCompanyId(1);    //深圳爱贝源
-                                salesOrder.setSalesPayType(5);//付款方式5:支付宝支付
+                                salesOrder.setSalesPayType(1);
                                 break;
                             }
                             case "OFFLINE": //小亚通虚拟店铺
                             default:
-                                salesOrder.setSalesStoreId(124);     //天猫爱贝源旗舰店
-                                salesOrder.setSalesCompanyId(1);    //深圳爱贝源
+                                salesOrder.setSalesStoreId(124);     //虚拟店铺
+                                salesOrder.setSalesCompanyId(1);    //
                                 salesOrder.setSalesPayType(5);//付款方式5:支付宝支付
                                 break;
                         }
@@ -1069,7 +1228,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                         salesOrder.setSalesIsSend(0);//是否通知配货0:否1:是
                         salesOrder.setSalesIsLocked(0);//是否锁定0:否1:是
                         salesOrder.setSalesIsSeparate(0);//是否缺货0:否1:是
-                        salesOrder.setSalesStatus(0);  //确认状态0(未确认)
+                        salesOrder.setSalesStatus(0);  //确认状态0(未确认) -- 在订单项判断中,可能会变成京东仓库自发状态
                         salesOrder.setSalesShippingStatus(0);////发货状态0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货)11(已通知配货,后加)
                         salesOrder.setSalesDeliver(1);  //出库状态1:未出库2:已出库
                         salesOrder.setSalesAdminId(1);   //录入人id
@@ -1094,12 +1253,16 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                                 break;
                             }
 
+                            if(productColor.getColorIsJdAuto() == 1 && salesOrder.getSalesStoreId() == 40){
+                                //京东仓自发 && 京东店铺
+                                salesOrder.setSalesStatus(4);  //4:京东自发
+                            }
+
                             Long orderItemId = item.getLong("orderItemId"); //小亚通订单项编号
                             Integer num = item.getInt("num"); //数量
                             Long totalFeeLong = item.getLong("totalFee"); //应付金额是指:购买数量的总应付金额
                             Integer totalFeeInt = totalFeeLong.intValue();
 
-
                             if(productColor.getProductIsSplit() == 1){
                                 List<ProductCombinatInfo> productCombinatList = productMapper.combinatList(productColor.getColorProductId());
                                 if(productCombinatList == null || productCombinatList.size() < 1){
@@ -1384,7 +1547,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                         salesOrderService.addTracking(orderTracking);
                         amountSuccessNum++;
                     }catch (Exception e){
-                        errorMsg.append(otherOrderId+"添加订单失败,失败原因"+ e.getMessage() +";");
+                        errorMsg.append(otherOrderId+"添加订单失败,失败原因"+ e.getMessage() +";</br>");
                         e.printStackTrace();
                         logger.info("XYT拉取订单-添加订单错误-错误信息:"+e.getMessage());
                     }

+ 18 - 6
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productColorMapper.xml

@@ -15,6 +15,7 @@
         <result    column="color_update_time"    property="colorUpdateTime" />
         <result    column="color_is_machine"    property="colorIsMachine" />
         <result    column="color_is_weight"    property="colorIsWeight" />
+        <result    column="color_is_jd_auto"    property="colorIsJdAuto" />
         <result    column="inventory_good_product_num"    property="inventoryGoodProductNum" />
     </resultMap>
     <sql    id="Base_List" >
@@ -32,7 +33,8 @@
         t.color_is_machine,
         t.color_mode,
         t.color_jd_product_id,
-        t.color_is_weight
+        t.color_is_weight,
+        t.color_is_jd_auto
     </sql>
     <select id="getProductColorList" resultMap="BaseResultMap" parameterType="ProductColor" >
         select
@@ -94,7 +96,8 @@
         color_status,
         color_cretae_time,
         color_is_machine,
-        color_is_weight
+        color_is_weight,
+        color_is_jd_auto
         )
         values
         (
@@ -108,7 +111,8 @@
         #{colorStatus},
         #{colorCretaeTime},
         #{colorIsMachine},
-        #{colorIsWeight}
+        #{colorIsWeight},
+        #{colorIsJdAuto}
         )
     </insert>
     <update id="update" parameterType="ProductColor" >
@@ -146,7 +150,10 @@
                 color_is_machine = #{colorIsMachine},
             </if >
             <if test="colorIsWeight != null ">
-                color_is_weight = #{colorIsWeight}
+                color_is_weight = #{colorIsWeight},
+            </if >
+            <if test="colorIsJdAuto != null ">
+                color_is_jd_auto = #{colorIsJdAuto}
             </if >
         </set >
         where color_id= #{colorId}
@@ -172,7 +179,8 @@
         color_is_machine,
         color_jd_product_id,
         color_mode,
-        color_is_weight
+        color_is_weight,
+        color_is_jd_auto
         )
         values
         <foreach collection="list" item="node" index="index" separator="," open="" close="">
@@ -189,7 +197,8 @@
             #{node.colorIsMachine},
             #{node.colorJdProductId},
             #{node.colorMode},
-            #{node.colorIsWeight}
+            #{node.colorIsWeight},
+            #{node.colorIsJdAuto}
             )
         </foreach >
     </insert>
@@ -232,6 +241,9 @@
                 <if test="node.colorIsWeight != null ">
                     color_is_weight = #{node.colorIsWeight},
                 </if >
+                <if test="node.colorIsJdAuto != null ">
+                    color_is_jd_auto = #{node.colorIsJdAuto},
+                </if >
                 <if test="node.colorJdProductId != null and node.colorJdProductId != ''">
                     color_jd_product_id = #{node.colorJdProductId}
                 </if >

+ 17 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java

@@ -631,8 +631,24 @@ public class MQTask implements InitializingBean {
 	@Scheduled(cron = "0 0/10 * * * ?")//每十分钟执行一次
 	public void syncXytOrder(){
 		logger.info("-----定时拉取小亚通订单-开始----");
-		Integer num = orderSyncLogService.syncXYTOrder(1,null);
+		Integer num = orderSyncLogService.syncXYTOrder(1,"20",null);
 		logger.info("-----定时拉取小亚通订单,拉取订单数量:"+ num +"-结束----");
 	}
 
+	/**
+	 * 同步拉取京东自发订单的发货单号
+	 */
+//	@Scheduled(cron = "0 0/3 * * * ?")//每三分钟执行一次
+	@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
+	public void syncXytOrderPostNum(){
+		logger.info("-----定时拉取拉取京东自发订单的发货状态-开始----");
+		SalesOrder salesOrder = new SalesOrder();
+		salesOrder.setSalesStatus(4);
+		List<SalesOrder> salesOrderList = salesOrderService.getSalesOrderListConcise(salesOrder);
+		for (SalesOrder so:salesOrderList) {
+			orderSyncLogService.syncXYTOrderPostNum(so.getSalesId());
+		}
+		logger.info("-----定时拉取拉取京东自发订单的发货状态-结束----");
+	}
+
 }

+ 12 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderPlatformController.java

@@ -73,7 +73,18 @@ public class AdminOrderPlatformController {
     public ResponseJson pullOrder(HttpServletRequest request){
         Calendar calendar = Calendar.getInstance();
         calendar.set(2019,2,4);
-        Integer num = orderSyncLogService.syncXYTOrder(2,calendar.getTime());
+        Integer num = orderSyncLogService.syncXYTOrder(2,"20",calendar.getTime());
+        ResponseJson rj = new ResponseJson();
+        rj.setResultMsg("已同步"+num+"个订单");
+        return  rj;
+    }
+
+    @ResponseBody
+    @RequestMapping("/pull_all")
+    public ResponseJson pullAll(HttpServletRequest request){
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(2019,2,4);
+        Integer num = orderSyncLogService.syncXYTOrder(2,"",calendar.getTime());
         ResponseJson rj = new ResponseJson();
         rj.setResultMsg("已同步"+num+"个订单");
         return  rj;

+ 12 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -1320,8 +1320,19 @@ public class AdminSalesOrderController {
         List<SalesOrder> salesOrderList = salesOrderService.getSalesOrderByIds(salesOrderIds);
 
         for (SalesOrder so : salesOrderList) {
-            if(so.getSalesStatus() != 0 && so.getSalesStatus() != 3){
+            if(so.getSalesStatus() == 1){
                 errorId += so.getSalesDealCode() + ":该订单已确认!;";
+                continue;
+            }
+
+            if(so.getSalesStatus() == 2 || so.getSalesStatus() == 3){
+                errorId += so.getSalesDealCode() + ":该订单已挂起或已作废!;";
+                continue;
+            }
+
+            if(so.getSalesStatus() == 4){
+                errorId += so.getSalesDealCode() + ":该订单为京东自发,无需确认!;";
+                continue;
             }
 
             if(generateKeyUtil.isXytBatchId(so.getSalesBatchId())){

+ 19 - 9
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl

@@ -96,6 +96,7 @@
                     >确认</option>
                     <option value ="2" <#if salesOrder.salesStatus??><#if salesOrder.salesStatus == 2 >selected="selected"</#if></#if>>挂起</option>
                     <option value ="3" <#if salesOrder.salesStatus??><#if salesOrder.salesStatus == 3 >selected="selected"</#if></#if>>作废</option>
+                    <option value ="4" <#if salesOrder.salesStatus??><#if salesOrder.salesStatus == 4 >selected="selected"</#if></#if>>京东自发</option>
                 </select>
 
                 <select  class="chosen" name="salesStoreId" id="salesStoreId" style="height: 30px;width: 9%;margin: 0px;margin-bottom: 10px;"">
@@ -145,7 +146,7 @@
             <div style="width: 90%;margin-left: 10%;">
                 <#--<input type="text" class="my-input trim_input"  style="margin-top: -3px;text-indent: 1em;width:8.9%;margin-right: 0px;height: 28px;padding: 0px;" value="${salesOrder.salesOrderId!}" placeholder="订单号" name="salesOrderId" id="salesOrderId">-->
                 <input type="text" class="my-input trim_input"  style="margin-top: -3px;text-indent: 1em;width:8.9%;margin-right: 0px;height: 28px;padding: 0px;" value="${salesOrder.salesDealCode!}" placeholder="交易号" name="salesDealCode" id="salesDealCode">
-                <input type="text" class="my-input trim_input"  style="margin-top: -3px;text-indent: 1em;width:8.9%;margin-right: 0px;height: 28px;padding: 0px;" value="${salesOrder.salesExOrderId!}" placeholder="第三方订单号" name="salesExOrderId" id="salesExOrderId">
+                <input type="text" class="my-input trim_input"  style="margin-top: -3px;text-indent: 1em;width:8.9%;margin-right: 0px;height: 28px;padding: 0px;" value="${salesOrder.salesExOrderId!}" placeholder="商城编号" name="salesExOrderId" id="salesExOrderId">
 
                 <input type="text" class="my-input trim_input"  style="margin-top: -3px;width:8.9%;text-indent: 1em;margin-right: 0px;height: 28px;padding: 0px;" value="${salesOrder.salesBatchId!}" placeholder="订单批次号" name="salesBatchId" id="salesBatchId">
 
@@ -167,11 +168,14 @@
         <table class="table table-border table-bg table-bordered">
             <thead>
             <tr class="text-c">
-                <th width="16"><input type="checkbox" ></th>
-                <th width="50">订单类型</th>
+                <th width="13"><input type="checkbox" ></th>
+                <th width="30">类型</th>
                 <th width="60">交易号</th>
-                <th width="72">批次号</th>
-                <th width="72">下单管理员</th>
+                <#--<#if admin.adminDept==1 ||  admin.adminDept==2>-->
+                    <th width="69">商城编号</th>
+                <#--</#if>-->
+                <th width="68">批次号</th>
+                <th width="40">录入人</th>
                 <th width="75">姓名/电话</th>
                 <th width="100">收货地址</th>
                 <th width="50">是否打单</th>
@@ -181,7 +185,7 @@
                 <th width="50">用户备注</th>
                 <th width="50">产品</th>
                 <th width="65">创建时间</th>
-                <th width="50">操作</th>
+                <th width="80">操作</th>
             </tr>
             </thead>
             <tbody>
@@ -211,6 +215,10 @@
                         </#if>
                         ${order.salesDealCode!''}
                     </td>
+                    <#--<#if admin.adminDept==1 ||  admin.adminDept==2>-->
+                        <td>${order.salesExOrderId!''}</td>
+                    <#--</#if>-->
+
                     <td>${order.salesBatchId!''}</td>
                     <td>${order.salesAdminName!''}</td>
                     <td>${order.salesAddressName!''}${order.salesAddressTel!''}</td>
@@ -252,6 +260,8 @@
                             挂起
                         <#elseif order.salesStatus == 3>
                             <span style="color: #dd0000">作废</span>
+                        <#elseif order.salesStatus == 4>
+                            <span  title="京东仓自发,无需做任何操作!">京东自发</span>
                         </#if>
                     </td>
                     <td>
@@ -290,7 +300,7 @@
                         ${(order.salesCreateTime?string("yy-MM-dd"))!''}</br>
                         ${(order.salesCreateTime?string("HH:mm:ss"))!''}
                     </td>
-                    <td class="operating_td" style="min-width: 100px;">
+                    <td class="operating_td" style="">
                         <#if order.salesWarrantyStatus?? && order.salesWarrantyStatus != 0>
                             <#if order.salesProcessRefund?? && order.salesProcessRefund == 0>
                                 <a style="text-decoration:none" href="javascript:;" title="确认退款信息"
@@ -415,9 +425,9 @@
                var orderStatus = status[0];
                // 出库状态  1:未出库、2:已出库
                var deliverStatus = status[1];
-               // 确认状态  0:未确认、1:确认、2:挂起、3:作废
+               // 确认状态  0:未确认、1:确认、2:挂起、3:作废 4:京东自发
                var confimStatus = status[2];
-               if (confimStatus == "2" || confimStatus == "3") {
+               if (confimStatus == "2" || confimStatus == "3" || confimStatus == "4") {
                    // 挂起、作废
                    tr.find(".order_details_target").show();
                } else {

+ 7 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/update_order.ftl

@@ -240,7 +240,9 @@
                             <#list order.salesOrderItemList as item>
                                 <tr class="text-c">
                                     <input type="hidden" class="item_id" id="" value="${item.itemId}">
+                                    <input type="hidden" class="item_other_id" id="" value="${item.itemOtherId!''}">
                                     <input type="hidden" class="color_id" id="" value="${item.itemColorId}">
+                                    <input type="hidden" class="item_color_bar" id="" value="${item.itemColorBar}">
                                     <input type="hidden" class="color_price" id="" value="${((item.itemProductPrice/100)?string("0.##"))!''}" >
                                     <input type="hidden" class="color_discount" id="" value="${((item.itemProductDiscount/100)?string("0.##"))!''}" >
                                     <input type="hidden" class="item_total" <#if orderType==1 || orderType==3 > readonly="readonly" isUpdate="2"<#else> isUpdate="1"</#if> id="" value="${((item.itemTotal/100)?string("0.##"))!''}" >
@@ -248,7 +250,8 @@
                                     <td>${item.itemProductColor}</td>
                                     <td>${((item.itemProductPrice/100)?string("0.##"))!''}</td>
                                     <td>${((item.itemProductDiscount/100)?string("0.##"))!''}</td>
-                                    <td style="width: 40px;display: none;"><input type="hidden" class="input-text input-number item_cost decimal_input" style="text-align: center;" value="${((item.itemCost/100)?string("0.##"))!''}"  name="" id="" placeholder="成本价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>                                    <td>${item.itemColorBar}</td>
+                                    <td style="width: 40px;display: none;"><input type="hidden" class="input-text input-number item_cost decimal_input" style="text-align: center;" value="${((item.itemCost/100)?string("0.##"))!''}"  name="" id="" placeholder="成本价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>
+                                    <td>${item.itemColorBar}</td>
                                     <td style="width: 30px;">
                                         <input type="text"
                                                class="input-text input-number item-num"
@@ -373,6 +376,9 @@
     //所选店铺是否自营 1:自营 2:非自营
     var dealerSelfOperated = 0;
 
+    //订单项个数
+    var itemNum = $("#add_product").find("tr").length;
+
     $("#salesCompanyId").change(function(){
         var id = $("#salesCompanyId").val();
         setStore(id);

+ 17 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/product/add_product.ftl

@@ -220,6 +220,7 @@
                                 <th style="text-align: center;" width="10"><span class="c-red">*</span>重量(g)</th>
                                 <th style="text-align: center;" width="10">型号</th>
                                 <th style="text-align: center;" width="10"><span class="c-red">*</span>是否为水机</th>
+                                <th style="text-align: center;" width="10"><span class="c-red">*</span>发货仓库</th>
                                 <th style="text-align: center;" width="10"><span class="c-red">*</span>状态</th>
                                 <th style="text-align: center;" width="20">图片</th>
                                 <th style="text-align: center;" width="20">库存</th>
@@ -227,7 +228,7 @@
                             </tr>
                         </thead>
                         <tbody id="add_color_id">
-                            <tr><td colspan="13" class="td-manage text-c" >暂时没有颜色,请添加!</td></tr>
+                            <tr><td colspan="15" class="td-manage text-c" >暂时没有颜色,请添加!</td></tr>
                         </tbody>
                     </table>
 
@@ -295,14 +296,26 @@
 
                 <div class="row cl" id="" style="">
                     <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否为水机:</label>
-                    <div class="formControls col-5 col-sm-5 skin-minimal">
+                    <div class="formControls col-2 col-sm-2 skin-minimal">
                         <div class="radio-box">
                             <input type="radio" class="colorIsMachine" id="colorIsMachine-1" name="colorIsMachine" value="1" >
-                            <label for="colorIsMachine-1">水机产品</label>
+                            <label for="colorIsMachine-1">水机</label>
                         </div>
                         <div class="radio-box">
                             <input type="radio" class="colorNoMachine" id="colorIsMachine-2" name="colorIsMachine" value="2" checked>
-                            <label for="colorIsMachine-2">其他产品</label>
+                            <label for="colorIsMachine-2">其他</label>
+                        </div>
+                    </div>
+
+                    <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>发货渠道:</label>
+                    <div class="formControls col-2 col-sm-2 skin-minimal">
+                        <div class="radio-box">
+                            <input type="radio" class="colorIsJdAuto" id="colorIsJdAuto-1" name="colorIsJdAuto" value="1" >
+                            <label for="colorIsJdAuto-1">京东仓</label>
+                        </div>
+                        <div class="radio-box">
+                            <input type="radio" class="colorNoJdAuto" id="colorIsJdAuto-2" name="colorIsJdAuto" value="2" checked>
+                            <label for="colorIsJdAuto-2">优尼雅</label>
                         </div>
                     </div>
                 </div>

+ 20 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/product/update_product.ftl

@@ -233,6 +233,7 @@
                             <th  width="10"><span class="c-red">*</span>重量(g)</th>
                             <th  width="10">型号</th>
                             <th  width="10"><span class="c-red">*</span>是否为水机</th>
+                            <th style="text-align: center;" width="10"><span class="c-red">*</span>发货仓库</th>
                             <th  width="10"><span class="c-red">*</span>状态</th>
                             <th  width="20">图片</th>
                             <th  width="20">库存</th>
@@ -259,6 +260,10 @@
                                             <span class="colorIsMachineMsg"><#if productColor.colorIsMachine==1>水机产品</#if><#if productColor.colorIsMachine==2>其他产品</#if></span>
                                             <input type="hidden" class="colorIsMachine" value="${productColor.colorIsMachine!''}">
                                         </td>
+                                        <td width="10">
+                                            <span class="colorIsJdAutoMsg"><#if productColor.colorIsJdAuto==1>京东仓</#if><#if productColor.colorIsJdAuto==2>优尼雅</#if></span>
+                                            <input type="hidden" class="colorIsJdAuto" value="${productColor.colorIsJdAuto!''}">
+                                        </td>
                                         <td width="10" >
                                             <span class="colorStatusMsg"><#if productColor.colorStatus==1>使用</#if><#if productColor.colorStatus==2>禁用</#if></span>
                                             <input type="hidden" class="colorStatus" value="${productColor.colorStatus!''}">
@@ -344,14 +349,26 @@
 
                 <div class="row cl" id="" style="">
                     <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否为水机:</label>
-                    <div class="formControls col-5 col-sm-5 skin-minimal">
+                    <div class="formControls col-2 col-sm-2 skin-minimal">
                         <div class="radio-box">
                             <input type="radio" class="colorIsMachine" id="colorIsMachine-1" name="colorIsMachine" value="1" >
-                            <label for="colorIsMachine-1">水机产品</label>
+                            <label for="colorIsMachine-1">水机</label>
                         </div>
                         <div class="radio-box">
                             <input type="radio" class="colorNoMachine" id="colorIsMachine-2" name="colorIsMachine" value="2" checked>
-                            <label for="colorIsMachine-2">其他产品</label>
+                            <label for="colorIsMachine-2">其他</label>
+                        </div>
+                    </div>
+
+                    <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>发货渠道:</label>
+                    <div class="formControls col-2 col-sm-2 skin-minimal">
+                        <div class="radio-box">
+                            <input type="radio" class="colorIsJdAuto" id="colorIsJdAuto-1" name="colorIsJdAuto" value="1" >
+                            <label for="colorIsJdAuto-1">京东仓</label>
+                        </div>
+                        <div class="radio-box">
+                            <input type="radio" class="colorNoJdAuto" id="colorIsJdAuto-2" name="colorIsJdAuto" value="2" checked>
+                            <label for="colorIsJdAuto-2">优尼雅</label>
                         </div>
                     </div>
                 </div>

+ 27 - 0
watero-rst-web/src/main/webapp/common/js/product/product.js

@@ -40,6 +40,15 @@ function add_color(isUpdate){
         }
         colorHtml += '<td width="40" ><span class="colorIsMachineMsg">'+colorIsMachineStr+'</span><input type="hidden" class="colorIsMachine" name="colorIsMachine" id="colorIsMachine" value="'+ colorIsMachine +'"></td>';
 
+        var colorIsJdAuto = $(':radio[name="colorIsJdAuto"]:checked').val();
+        var colorIsJdAutoStr = '';
+        if(colorIsJdAuto == 1){
+            colorIsJdAutoStr = '京东仓';
+        }else{
+            colorIsJdAutoStr = '优尼雅';
+        }
+        colorHtml += '<td width="40" ><span class="colorIsJdAutoMsg">'+colorIsJdAutoStr+'</span><input type="hidden" class="colorIsJdAuto" name="colorIsJdAuto" id="colorIsJdAuto" value="'+ colorIsJdAuto +'"></td>';
+
         var colorStatus = $(':radio[name="colorStatus"]:checked').val();
         var colorStatusStr = '';
         if(colorStatus == 1){
@@ -104,6 +113,16 @@ function add_color(isUpdate){
                 }
                 $(this).find(".colorIsMachineMsg").html(colorIsMachineStr);
 
+                var colorIsJdAuto = $(':radio[name="colorIsJdAuto"]:checked').val();
+                $(this).find(".colorIsJdAuto").val(colorIsJdAuto);
+                var colorIsJdAutoStr = '';
+                if(colorIsJdAuto == 1){
+                    colorIsJdAutoStr = '京东仓';
+                }else{
+                    colorIsJdAutoStr = '优尼雅';
+                }
+                $(this).find(".colorIsJdAutoMsg").html(colorIsJdAutoStr);
+
                 var colorStatus = $(':radio[name="colorStatus"]:checked').val();
                 $(this).find(".colorStatus").val(colorStatus);
                 var colorStatusStr = '';
@@ -330,6 +349,7 @@ function getColorList(){
         color.colorMode = cufte($(this).find(".colorMode").html());
         color.colorPicture = cufte($(this).find(".colorPicture").val());
         color.colorIsMachine = cufte($(this).find('.colorIsMachine').val());
+        color.colorIsJdAuto = cufte($(this).find('.colorIsJdAuto').val());
         color.colorStatus = cufte($(this).find('.colorStatus').val());
         color.inventoryGoodProductNum = cufte($(this).find('.colorInventory').html());
         colorList.push(color);
@@ -400,6 +420,13 @@ function updTr($this) {
         $(".colorNoMachine").iCheck('check');
     }
 
+    var colorIsJdAuto = $this.find('.colorIsJdAuto').val();
+    if(colorIsJdAuto == 1){
+        $(".colorIsJdAuto").iCheck('check');
+    }else{
+        $(".colorNoJdAuto").iCheck('check');
+    }
+
     var colorStatus = $this.find('.colorStatus').val();
     if(colorStatus == 1){
         $(".colorIsStatus").iCheck('check');

+ 36 - 1
watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

@@ -2,6 +2,8 @@
 var allCustomerId = "";
 
 
+//删除节点-保存对应删除的节点信息 -- 只有修改页面使用
+var deleteArray = new Array();
 
 /**
  * 打开商品列表
@@ -113,6 +115,7 @@ $(function(){
             $("#add_product").find("tr").each(function(){
                 var orderItem = new Object();
                 orderItem.itemId = cufte($(this).find(".item_id").val());
+                orderItem.itemOtherId = cufte($(this).find(".item_other_id").val());
                 orderItem.itemColorId = $(this).find(".color_id").val();
                 orderItem.itemNum = $(this).find(".item-num").val();
                 orderItem.itemProductPrice = accMul($(this).find(".color_price").val(),100);
@@ -335,7 +338,6 @@ function setSelectCustomer(customerId){
                                 ' <td>'+ cufte(detet.colorName) +'</td>' +
                                 ' </tr>';
                         }
-
                     }
                     $("#detect_product").html(html);
                 }
@@ -402,8 +404,31 @@ function setSelectProduct(colorIds){
                     // if(data.returnMsg.dealerSelfOperated == 2){
                     //     priceHide = 'readonly="readonly"';
                     // }
+
                     for(var i=0;i<data.returnMsg.productColorList.length;i++){
                         var productColor = data.returnMsg.productColorList[i];
+
+                        var newItemOtherId = "";
+                        //如果是删除了新加的,应该将以前的小亚通的id赋值上去 -- 此处将考虑很多种情况
+                        if(isEmpty(deleteArray) && deleteArray.length > 0){
+                            //如果添加的颜色,是刚刚删除的颜色,那么直接赋值
+                            for(var i=0;i<deleteArray.length;i++){
+                                var obj = deleteArray[i];
+                                if(obj.itemColorBar == productColor.colorBar){
+                                    newItemOtherId = obj.itemotherid;
+                                }
+                            }
+                            if(isEmpty(itemNum) && itemNum == 1){
+                                newItemOtherId = deleteArray[0].itemotherid;
+                            }
+                        }else{
+                            //未删除任何颜色,就添加产品,则跟随这订单
+                            var oldItemOtherId  = $("#add_product").find("tr").find(".item_other_id").val();
+                            if(isEmpty(oldItemOtherId)){
+                                newItemOtherId = oldItemOtherId;
+                            }
+                        }
+
                         var discount = accDiv(productColor.colorDiscount,100);
                         /*html += '<tr class="text-c">' +
                             '<input type="hidden" class="color_id" id="" value="'+ productColor.colorId +'" >' +
@@ -418,6 +443,7 @@ function setSelectProduct(colorIds){
                             ' </tr>';*/
                         html += '<tr class="text-c">' +
                             '<input type="hidden" class="color_id" id="" value="'+ productColor.colorId +'" >' +
+                            '<input type="hidden" class="item_other_id" id="" value="'+ newItemOtherId +'" >' +
                             '<input type="hidden" class="color_price" id="" value="'+ accDiv(productColor.colorPrice,100) +'" >' +
                             '<input type="hidden" class="color_discount" id="" value="'+ accDiv(productColor.colorDiscount,100) +'" >' +
                             '<input type="hidden" class="item_total" isUpdate="1" id="" value="'+ accDiv(productColor.colorDiscount,100) +'" >' +
@@ -448,6 +474,15 @@ function setSelectProduct(colorIds){
  *  删除商品
  */
 function delProduct($this){
+    var itemOtherId = $this.parents("tr").find(".item_other_id").val();
+    var itemColorBar = $this.parents("tr").find(".item_color_bar").val();
+    if(isEmpty(itemOtherId)){
+        var obj = new Object();
+        obj.itemotherid = itemOtherId;
+        obj.itemColorBar = itemColorBar;
+        deleteArray.push(obj);
+    }
+
     $this.parents("tr").remove();
     calculatePrice();
 }