Explorar o código

小亚通接口调用

wangxiaoming %!s(int64=5) %!d(string=hai) anos
pai
achega
3bc9c29625

+ 43 - 9
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java

@@ -578,7 +578,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                             break;
                     }
 
-                    //支付金额
+                    //支付金额 - 订单总金额
                     Long totalFee = infoObj.getLong("totalFee");
                     totalFee = totalFee*100;
                     Integer amount = totalFee.intValue();
@@ -661,14 +661,15 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                         salesOrderItem.setItemOtherId(String.valueOf(orderItemId));
 
                         Integer num = item.getInt("num"); //数量
-                        Long itemDiscountFee = item.getLong("discountFee"); //折扣费
-                        itemDiscountFee = itemDiscountFee*100;
-                        Integer itemDiscountFeeInt = itemDiscountFee.intValue();
-                        Integer itemTotal = itemDiscountFeeInt*num;
+                        Long totalFeeLong = item.getLong("totalFee"); //应付金额是指:购买数量的总应付金额
+                        totalFeeLong = totalFeeLong*100;
+                        Integer totalFeeInt = totalFeeLong.intValue();
+
+                        Integer itemDiscountFeeInt = totalFeeInt/num;
 
                         salesOrderItem.setItemProductPrice(itemDiscountFeeInt); //产品市场价
                         salesOrderItem.setItemProductDiscount(itemDiscountFeeInt); //产品折扣价
-                        salesOrderItem.setItemTotal(itemTotal);//小结
+                        salesOrderItem.setItemTotal(totalFeeInt);//小结
 
                         //itemCost;//单个成本  itemCostTotal;//成本小结  确认操作计算
 
@@ -892,7 +893,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
             "          \"supplierTenantId\": 100000000001,\n" +
             "          \"syncTime\": \"2017-10-31 10:00:29\",\n" +
             "          \"tenantId\": 100000000001,\n" +
-            "          \"totalFee\": 16900,\n" +
+            "          \"totalFee\": 6497,\n" +
             "          \"updateTime\": \"2017-10-31 10:10:41\",\n" +
             "          \"warrantyStatus\": 0\n" +
             "        },\n" +
@@ -906,6 +907,39 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
             "            \"doneVersion\": 1,\n" +
             "            \"extItemId\": \"15094158317087400\",\n" +
             "            \"extNumIid\": \"107617669\",\n" +
+            "            \"extOrderId\": \"150941583170875\",\n" +
+            "            \"extSkuId\": \"6970318170020\",\n" +
+            "            \"extSkuTitle\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
+            "            \"imageUrl\": \"https://cdn.imeihao.shop/mall-imeihao/product/main-1507617610718spQCphtyyi_750_750.jpg\",\n" +
+            "            \"isSplit\": 0,\n" +
+            "            \"itemStatus\": 20,\n" +
+            "            \"num\": 2,\n" +
+            "            \"orderId\": 100004540881,\n" +
+            "            \"orderItemId\": 100005685925,\n" +
+            "            \"outerId\": \"A4939978A1DBB8D2CB1DC3495DA820E3\",\n" +
+            "            \"paidFee\": 1,\n" +
+            "            \"paidPoints\": 0,\n" +
+            "            \"platformId\": \"IMEIHAO\",\n" +
+            "            \"postFee\": 0,\n" +
+            "            \"price\": 2,\n" +
+            "            \"refundFee\": 0,\n" +
+            "            \"skuId\": 100001278198,\n" +
+            "            \"skuPoints\": 0,\n" +
+            "            \"skuSpecChars\": \"智能健康秤\",\n" +
+            "            \"skuTitle\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
+            "            \"tenantId\": 100000000001,\n" +
+            "            \"totalFee\": 4398,\n" +
+            "            \"warrantyStatus\": 0\n" +
+            "          },\n" +
+            "\t\t  {\n" +
+            "            \"adjustFee\": 0,\n" +
+            "            \"catalogNature\": 0,\n" +
+            "            \"createTime\": \"2017-10-31 10:10:31\",\n" +
+            "            \"discountFee\": 0,\n" +
+            "            \"doneTime\": \"2017-10-31 10:11:04\",\n" +
+            "            \"doneVersion\": 1,\n" +
+            "            \"extItemId\": \"15094158317087400\",\n" +
+            "            \"extNumIid\": \"107617669\",\n" +
             "            \"extOrderId\": \"150941583170874\",\n" +
             "            \"extSkuId\": \"6970465730443\",\n" +
             "            \"extSkuTitle\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
@@ -914,7 +948,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
             "            \"itemStatus\": 20,\n" +
             "            \"num\": 1,\n" +
             "            \"orderId\": 100004540881,\n" +
-            "            \"orderItemId\": 100005685925,\n" +
+            "            \"orderItemId\": 100005685926,\n" +
             "            \"outerId\": \"A4939978A1DBB8D2CB1DC3495DA820E3\",\n" +
             "            \"paidFee\": 1,\n" +
             "            \"paidPoints\": 0,\n" +
@@ -927,7 +961,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
             "            \"skuSpecChars\": \"智能健康秤\",\n" +
             "            \"skuTitle\": \"博冠丨 Just Fit V2 云智能健康秤\",\n" +
             "            \"tenantId\": 100000000001,\n" +
-            "            \"totalFee\": 16900,\n" +
+            "            \"totalFee\": 2099,\n" +
             "            \"warrantyStatus\": 0\n" +
             "          }\n" +
             "        ],\n" +

+ 11 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -1478,7 +1478,18 @@ public class AdminSalesOrderController {
     @RequestMapping("/delSalesOrder")
     @RequiresPermissions("salesOrder:select:salesOrder")
     public ResponseJson delSalesOrder(@RequestParam("id") Integer id) {
+        SalesOrder soix = salesOrderService.getSalesOrderByIdConcise(id);
+
         Integer res = salesOrderService.delSalesOrder(id);
+
+        if(res > 0){
+            //添加操作跟踪信息
+            OrderTracking orderTracking = new OrderTracking();
+            orderTracking.setAdminId(AdminUtils.getLoginAdminId());
+            orderTracking.setSalesDealCode(soix.getSalesDealCode());
+            orderTracking.setTrackingDesc("删除订单");
+            salesOrderService.addTracking(orderTracking);
+        }
         return res <= 0 ? ResponseJson.getFAILURE() : ResponseJson.getSUCCESS();
     }
 

+ 222 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_split.ftl

@@ -67,6 +67,7 @@
     <form action="" method="post" class="form form-horizontal" id="form-article-add">
         <input type="hidden" name="salesId" value="${order.salesId!''}" >
         <input type="hidden" name="salesStoreId" id="salesStoreId" value="${order.salesStoreId!''}" >
+        <input type="hidden" name="salesBatchId" id="salesBatchId" value="${order.salesBatchId!''}" >
 
         <#--<div class="row cl">
             <label class="form-label col-3">
@@ -313,7 +314,9 @@
 
                 <#list order.salesOrderItemList as orderItem>
                     <tr class="text-c ${order.salesDealCode!''}">
-                        <td msg="${order.salesDealCode!''}">
+                        <td msg="${order.salesDealCode!''}" key="${orderItem.itemId!''}"
+                            itemOtherId="${orderItem.itemOtherId!''}" color="${orderItem.itemColorId!''}" >
+
                             ${order.salesDealCode!''}(主订单)
                                 <input type="hidden" class="salesShippingStatus" value="${order.salesShippingStatus!"0"}" >
                             <#if order.salesShippingStatus != 0>
@@ -352,6 +355,8 @@
                             <#if order.salesShippingStatus == 0>
                                 <a href="javascript:void(0)" onclick="updateOrderItem(this)">修改</a>&nbsp;
                                 <a href="javascript:void(0)" onclick="deleteOrderItem(this)">删除</a>
+                                <a href="javascript:void(0)" onclick="upOrderItem(this)" class="up_class">上移</a>
+                                <a href="javascript:void(0)" onclick="downOrderItem(this)" class="down_class">下移</a>
                             <#else>
                                 -
                             </#if>
@@ -370,7 +375,9 @@
                     <#list viceOrList as viceOr>
                         <#list viceOr.salesOrderItemList as orderItem>
                             <tr class="text-c ${viceOr.salesDealCode!''}">
-                                <td msg="${viceOr.salesDealCode!''}">
+                                <td msg="${viceOr.salesDealCode!''}" key="${orderItem.itemId!''}"
+                                    itemOtherId="${orderItem.itemOtherId!''}"  color="${orderItem.itemColorId!''}" >
+
                                     ${viceOr.salesDealCode!''}
                                         <input type="hidden" class="salesShippingStatus" value="${viceOr.salesShippingStatus!"0"}" >
                                     <#if viceOr.salesShippingStatus != 0>
@@ -409,6 +416,8 @@
                                     <#if viceOr.salesShippingStatus == 0>
                                         <a href="javascript:void(0)" onclick="updateOrderItem(this)">修改</a>&nbsp;
                                         <a href="javascript:void(0)" onclick="deleteOrderItem(this)">删除</a>
+                                        <a href="javascript:void(0)" onclick="upOrderItem(this)" class="up_class">上移</a>
+                                        <a href="javascript:void(0)" onclick="downOrderItem(this)" class="down_class">下移</a>
                                     <#else>
                                         -
                                     </#if>
@@ -426,6 +435,7 @@
                 </#if>
             </tbody>
             <div style="color: #c00;" >*已通知配货/已发货的订单不能进行更改</div>
+            <div style="color: #c00;display: none;" id="xytOrderMsg">*本订单为小亚通订单,请尽量使用上下移动功能,谢谢</div>
         </table>
         <div style="color: #c00;" id="errorMsg"></div>
         <button type="button" style=" margin-top: 10px; float: right;" class="btn btn-primary" onclick="addOrder()" >添加拆单</button>
@@ -448,12 +458,16 @@
     var code_index = 1;
     var main_code = $("#allDay").find("tr").eq(0).find("td").eq(0).attr("msg"); //主订单的单号
     var order_number =0;    //订单数量
+    var order_item_key = 10000;    //key值,该值无任何作用,只是随机生成一个数,用来判断tr的唯一
 
     /*添加产品项   add = 添加   update = 修改*/
     var isAddOrUpdate = '';
     var tr_node_msg;    //添加/修改订单项,tr的节点
     var $updateNode; //修改的tr元素
 
+    //删除节点-保存对应删除的节点信息-主要对应的是外部订单项id与颜色的对应
+    var deleteArray = new Array();
+
     $(function(){
         syncTotal(1);
 
@@ -461,6 +475,9 @@
         tableMana(0);
         tableMana(8);
 
+        //控制上移下移按钮
+        controlButton();
+
         $("#allDay").find("tr").each(function () {
             var tdShow = $(this).find("td").eq(0).is(":visible");
             if(tdShow){
@@ -473,6 +490,11 @@
             radioClass: 'iradio-blue',
             increaseArea: '20%'
         });
+
+        var salesBatchId = $("#salesBatchId").val();
+        if(salesBatchId.indexOf("SX") == 0){
+            $("#xytOrderMsg").show();
+        }
     });
     /*查看物流*/
     function openLogistics(title, url, w, h) {
@@ -498,6 +520,184 @@
         layer_show("商品列表",url_path + "/admin/salesOrder/to_add_product","1000","500");
     }
 
+    /**
+     * 上移
+     */
+    function upOrderItem(thisNode) {
+        var msg = $(thisNode).parent().parent().find("td").eq(0).attr("msg");
+        var colorIds = $(thisNode).parent().parent().find("td").eq(0).attr("color");
+        var nowNum = $(thisNode).parent().parent().find(".input-itemNum").val();
+        nowNum = parseInt(nowNum);
+        var orderKey = $(thisNode).parent().parent().find("td").eq(0).attr("key");
+
+        isAddOrUpdate = 'add';
+        tr_node_msg = getBrotherOrderId(1,msg);
+        if(tr_node_msg == "" || msg == tr_node_msg){
+            layer.msg("该订单项无法进行上移操作", {icon: 5, time: 3000});
+            return false;
+        }
+
+        //上移的订单中是否已经含有该产品
+        var isAddRepeat = false;
+        var num = 0;
+        $("."+tr_node_msg).each(function () {
+            var thisColorId = $(this).find("td").eq(0).attr("color");
+            if(thisColorId == colorIds){
+                isAddRepeat = true;
+                num = $(this).find(".input-itemNum").val();
+                num = parseInt(num);
+                $(this).find(".input-itemNum").val(num+nowNum);
+                //删除当前节点
+                $(thisNode).parent().parent().remove()
+            }
+        })
+
+        if(!isAddRepeat){
+            //上移的订单中不含有该产品
+            $(thisNode).parent().parent().find("td").eq(0).text(tr_node_msg);
+            $(thisNode).parent().parent().find("td").each(function () {
+                var msg = $(this).attr("msg");
+                if(isEmpty(msg)){
+                    $(this).attr("msg",tr_node_msg);
+                }
+            })
+            var html =  $(thisNode).parent().parent().html();
+            html = '<tr class="text-c '+ tr_node_msg +'">'+ html +'</tr>'
+
+            //删除当前节点
+            $(thisNode).parent().parent().remove();
+
+            //添加节点
+            $("."+tr_node_msg).eq(length-1).after(html);
+        }
+        //合并单元格
+        tableMana(0);
+        tableMana(8);
+        //计算价格
+        syncProductNumber();
+        //控制上移下移按钮
+        controlButton();
+    }
+
+    /**
+     * 下移
+     */
+    function downOrderItem(thisNode) {
+        var msg = $(thisNode).parent().parent().find("td").eq(0).attr("msg");
+        var colorIds = $(thisNode).parent().parent().find("td").eq(0).attr("color");
+        var nowNum = $(thisNode).parent().parent().find(".input-itemNum").val();
+        nowNum = parseInt(nowNum);
+        var orderKey = $(thisNode).parent().parent().find("td").eq(0).attr("key");
+
+        isAddOrUpdate = 'add';
+        tr_node_msg = getBrotherOrderId(2,msg);
+        if(tr_node_msg == "" || msg == tr_node_msg){
+            layer.msg("该订单项无法进行下移操作", {icon: 5, time: 3000});
+            return false;
+        }
+
+        //下移的订单中是否已经含有该产品
+        var isAddRepeat = false;
+        var num = 0;
+        $("."+tr_node_msg).each(function () {
+            var thisColorId = $(this).find("td").eq(0).attr("color");
+            if(thisColorId == colorIds){
+                isAddRepeat = true;
+                num = $(this).find(".input-itemNum").val();
+                num = parseInt(num);
+                $(this).find(".input-itemNum").val(num+nowNum);
+                //删除当前节点
+                $(thisNode).parent().parent().remove()
+            }
+        })
+
+        if(!isAddRepeat){
+            //下移的订单中不含有该产品
+            $(thisNode).parent().parent().find("td").eq(0).text(tr_node_msg);
+            $(thisNode).parent().parent().find("td").each(function () {
+                var msg = $(this).attr("msg");
+                if(isEmpty(msg)){
+                    $(this).attr("msg",tr_node_msg);
+                }
+            })
+            var html =  $(thisNode).parent().parent().html();
+            html = '<tr class="text-c '+ tr_node_msg +'">'+ html +'</tr>'
+
+            //删除当前节点
+            $(thisNode).parent().parent().remove()
+
+            //添加节点
+            $("."+tr_node_msg).eq(length-1).after(html);
+
+            for(var j=0;j< $("."+tr_node_msg).length;j++){
+                var isdelete = $("."+tr_node_msg).eq(j).find("td").eq(0).attr("isdelete");
+                if(isdelete == 2){
+                    $("."+tr_node_msg).eq(j).remove();
+                }
+            }
+        }
+        //合并单元格
+        tableMana(0);
+        tableMana(8);
+        //计算价格
+        syncProductNumber();
+        //控制上移下移按钮
+        controlButton();
+    }
+
+    /**
+     *获取兄弟节点
+     * type : 1.上一个   2.下一个
+     */
+    function getBrotherOrderId(type,nowOrderId) {
+        var itemOrderId = "";
+        var lastFlag = true;
+        var tableNode = $("#allDay");
+        $(tableNode).find("tr").each(function () {
+            var cuOrderId = $(this).find("td").eq(0).attr("msg");
+            if(type == 1){
+                if(nowOrderId == cuOrderId){
+                    return false;
+                }
+                if(itemOrderId != cuOrderId){
+                    itemOrderId = cuOrderId;
+                }
+            }else{
+                if(itemOrderId != cuOrderId){
+                    itemOrderId = cuOrderId;
+                    if(lastFlag){
+                        if(nowOrderId == cuOrderId){
+                            lastFlag = false;
+                        }
+                    }else{
+                        return false;
+                    }
+                }
+            }
+        })
+        return itemOrderId;
+    }
+
+    /**
+     * 控制上移下移
+     */
+    function controlButton() {
+        var length = $("#allDay").find("tr").length;
+        var preOrderId =  $("#allDay").find("tr").eq(0).find("td").eq(0).attr("msg");
+        var lastOrderId =   $("#allDay").find("tr").eq(length-1).find("td").eq(0).attr("msg");
+        for(var i=0;i<length;i++){
+            var nowOrderId = $("#allDay").find("tr").eq(i).find("td").eq(0).attr("msg");
+            $("#allDay").find("tr").eq(i).find(".up_class").show();
+            $("#allDay").find("tr").eq(i).find(".down_class").show();
+            if(nowOrderId == preOrderId){
+                $("#allDay").find("tr").eq(i).find(".up_class").hide();
+            }
+            if(nowOrderId == lastOrderId){
+                $("#allDay").find("tr").eq(i).find(".down_class").hide();
+            }
+        }
+    }
+    
     /*添加/修改商品的回调*/
     function setSelectProduct(colorIds) {
         var index = layer.load(1, {
@@ -550,11 +750,12 @@
                         }else{
                             //添加
                             for(var i=0;i<data.returnMsg.productColorList.length;i++){
+                                order_item_key ++;
                                 var productColor = data.returnMsg.productColorList[i];
                                 var colorDiscount = accDiv(productColor.colorDiscount,100);
                                 var html = "";
                                 html +=  '<tr class="text-c '+ tr_node_msg +'">'
-                                        +   '<td msg="'+ tr_node_msg +'">'+ tr_node_msg +'</td>'
+                                        +   '<td msg="'+ tr_node_msg +'" key="'+ order_item_key +'" itemOtherId="" color="'+ productColor.colorId +'">'+ tr_node_msg +'</td>'
                                         +   '<td>'+ cufte(productColor.productName) +'</td>'
                                         +   '<td>'+ cufte(productColor.colorName) +'</td>'
                                         +   '<td class="itemColorBar">'+ cufte(productColor.colorBar) +'</td>'
@@ -564,6 +765,8 @@
                                         +   '<td msg="'+ tr_node_msg +'">'
                                         +   '<a href="javascript:void(0)" onclick="updateOrderItem(this)">修改</a>&nbsp;&nbsp;'
                                         +   '<a href="javascript:void(0)" onclick="deleteOrderItem(this)">删除</a>'
+                                        +   '<a href="javascript:void(0)" onclick="upOrderItem(this)" class="up_class">上移</a>'
+                                        +   '<a href="javascript:void(0)" onclick="downOrderItem(this)" class="down_class">下移</a>'
                                         +   '</td>'
                                         +   '<td msg="'+ tr_node_msg +'">'
                                         +   ' <a href="javascript:void(0)" onclick="addOrderItem(this)">添加</a>'
@@ -602,6 +805,8 @@
                     //合并单元格
                     tableMana(0);
                     tableMana(8);
+                    //控制上一下按钮
+                    controlButton();
                     layer.close(index);
                 },
                 error:function (XMLHttpRequest, textStatus, errorThrown){
@@ -617,6 +822,7 @@
      * 添加订单
      */
     function addOrder() {
+        order_item_key ++;
         var newCode = "";
         var flag = false;   //当循环中有该交易号,为true;
         $("#allDay").find("tr").each(function () {
@@ -633,7 +839,7 @@
         }else{
             var html = '';
             html += '<tr class="text-c '+ newCode +'">'
-                    +   '<td msg="'+ newCode +'">'+ newCode +'</td>'
+                    +   '<td msg="'+ newCode +'" key="'+ order_item_key +'" itemOtherId="" isDelete="2">'+ newCode +'</td>'
                     +   '<td>-</td>'
                     +   '<td>-</td>'
                     +   '<td>-</td>'
@@ -649,6 +855,8 @@
                     +   '</tr>';
             $("#allDay").append(html);
         }
+        //控制上移下移按钮
+        controlButton();
     }
 
     /*
@@ -709,6 +917,7 @@
             var bar = $(this).find("td").eq(3).html();
             var salesOrderItem = new Object();
             salesOrderItem.salesDealCode = $(this).find("td").eq(0).attr("msg");
+            salesOrderItem.itemOtherId = cufte($(this).find("td").eq(0).attr("itemotherid"));
             salesOrderItem.itemColorBar = bar;
             salesOrderItem.itemNum = $(this).find(".input-itemNum").val();
 
@@ -789,6 +998,10 @@
     function syncProductNumber() {
         var productArray = new Array();
         $("#allDay").find("tr").each(function(){
+            var isDelete  = $(this).find("td").eq(0).attr("isDelete");
+            if(isDelete == 2){
+                return true;
+            }
             var status  = $(this).find("td").eq(0).find("input").val();
             var code  = $(this).find("td").eq(3).html();
             var name  = $(this).find("td").eq(1).html();
@@ -848,6 +1061,10 @@
     function syncTotal(type) {
         var totalAll = 0;
         $("#allDay").find("tr").each(function() {
+            var isDelete  = $(this).find("td").eq(0).attr("isDelete");
+            if(isDelete == 2){
+                return true;
+            }
             var discount = $(this).find(".input-itemProductDiscount").val();
             var itemNum = $(this).find(".input-itemNum").val();
             var total = accMul(discount,itemNum);
@@ -869,6 +1086,7 @@
             $("#nowOrderTotal").css("font-weight","normal");
         }
     }
+
 </script>
 </body>
 </html>