Browse Source

规格按斤算

sunhao 5 years ago
parent
commit
f31fad98a1

+ 3 - 3
app/Console/Commands/SyncMjOrderStatus.php

@@ -43,9 +43,9 @@ class SyncMjOrderStatus extends Command {
43 43
                         $skuCode = $sku['skuCode'];
44 44
                         $code_arr = explode('|', $skuCode);
45 45
                         $sku_id = $code_arr[1];
46
-                        $cost = GoodsSkus::where('id', $sku_id)->pluck('referenceCost'); //获取规格成本
47
-                        $quantity = $sku['quantity']; //对应规格数量
48
-                        $data['cost'] += $cost * $quantity; //对应规格总成本
46
+                        $cost = GoodsSkus::select('referenceCost', 'is_weigh')->where('id', $sku_id)->first(); //获取规格成本/是否称重
47
+                        $quantity = $cost->is_weigh == 1 ? $sku['quantity']/2 : $sku['quantity']; //对应规格数量
48
+                        $data['cost'] += $cost->referenceCost * $quantity; //对应规格总成本
49 49
                         #更新order_sku
50 50
                         OrderGoodsSkus::where('order_id', $order['id'])->where('sku_id', $sku_id)->update(['send_num'=>$quantity]);
51 51
                     }

+ 2 - 2
app/Console/Commands/SyncOrderToMj.php

@@ -66,8 +66,8 @@ class SyncOrderToMj extends Command {
66 66
                 $params['goodsName'] = $goods_info->name;
67 67
                 $params['propertiesName'] = $sku_info->propsName;
68 68
                 //$params['goodsName'] = '海钓黄翅鱼';//$goods->code; 
69
-                $params['price'] = $v['price'];
70
-                $params['quantity'] = $v['num'];
69
+                $params['price'] = $sku_info->is_weigh==1 ? round($v['price']/2,2) : $v['price'];
70
+                $params['quantity'] = (int)($sku_info->is_weigh==1 ? $v['num']*2 : $v['num']);
71 71
                 $params['discountFee'] = 0;
72 72
                 $params['adjustFee'] = 0;
73 73
                 $params['refundStatus'] = '正常';

+ 30 - 15
app/Http/Controllers/Admin/GoodsController.php

@@ -157,8 +157,8 @@ class GoodsController extends Controller
157 157
                     foreach($sku as $key=>$item){
158 158
                         $sku_data = explode('@@', $item);  
159 159
                         if(!$sku_data[2]) $sku_data[2] = null;                      
160
-                        if(!$sku_data[3]) $sku_data[3] = null;                      
161
-                        $sku_insert_data = $mjArr['skuList'][$key] = ['propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'tagPrice'=>$sku_data[2], 'referenceCost'=>$sku_data[3], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
160
+                        if(!$sku_data[3]) $sku_data[3] = null;                                            
161
+                        $sku_insert_data = $mjArr['skuList'][$key] = ['propsName'=>$sku_data[0], 'price'=>$sku_data[1], 'tagPrice'=>$sku_data[2], 'referenceCost'=>$sku_data[3], 'is_weigh'=>$sku_data[4], 'createTime'=>date('Y-m-d H:i:s'), 'modifyTime'=>date('Y-m-d H:i:s')];
162 162
                         $skuProductCode = $goods['productCode'].'-0'.($key+1);
163 163
                         $sku_insert_data['code'] = $mjArr['skuList'][$key]['skuProductCode'] = $skuProductCode;
164 164
                         $sku_insert_data['goodsCode'] = $res;
@@ -176,18 +176,21 @@ class GoodsController extends Controller
176 176
                 $erpArr['goodsName'] = $goods['name'];
177 177
                 $erpArr['goodsCategoryName'] = $goods['goodsCategoryName'];
178 178
                 $erpArr['picUrl'] = $goods['picUrl'];
179
-                foreach($mjArr['skuList'] as $k=>$v){
179
+                foreach($mjArr['skuList'] as $k=>&$v){
180 180
                     $erpArr['code'] = $v['skuProductCode'];
181 181
                     $erpArr['propsName'] = $v['propsName'];
182
-                    $erpArr['price'] = $v['price'];
183
-                    $erpArr['tagPrice'] = $v['tagPrice'];
184
-                    $erpArr['referenceCost'] = $v['referenceCost'];
182
+                    $is_weigh = $v['is_weigh'];
183
+                    $erpArr['price'] = $v['price'] = $is_weigh==1 ? round( $v['price']/2, 2 ) : $v['price'];
184
+                    $erpArr['tagPrice'] = $is_weigh==1 ? round( $v['tagPrice']/2, 2 ) : $v['tagPrice'];
185
+                    $erpArr['referenceCost'] = $is_weigh==1 ? round( $v['referenceCost']/2, 2 ) : $v['referenceCost']; 
186
+
185 187
                     $erp = Order::mjErpGoodsAdd($erpArr);
186 188
                     if($erp == false){
187 189
                         throw new Exception("添加erp商品失败,对接卖家云出错");                                              
188 190
                     }
189 191
                     unset($mjArr['skuList'][$k]['tagPrice']);
190 192
                     unset($mjArr['skuList'][$k]['referenceCost']);
193
+                    unset($mjArr['skuList'][$k]['is_weigh']);
191 194
 
192 195
                     //更新erp信息到sku
193 196
                     $params = array();
@@ -434,9 +437,15 @@ class GoodsController extends Controller
434 437
                 $erpArr['goodsId'] = $lastSku->erpGoodsId; //erp商品id
435 438
                 $erpArr['code'] = $data['code'];
436 439
                 $erpArr['propsName'] = $data['propsName'];
437
-                $erpArr['price'] = $data['price'];
438
-                $erpArr['tagPrice'] = $data['tagPrice'];
439
-                $erpArr['referenceCost'] = $data['referenceCost'];
440
+                if($data['is_weigh'] == 1){
441
+                    $erpArr['price'] = round( $data['price']/2, 2 );
442
+                    $erpArr['tagPrice'] = round( $data['tagPrice']/2, 2 );
443
+                    $erpArr['referenceCost'] = round( $data['referenceCost']/2, 2 );
444
+                }else{
445
+                    $erpArr['price'] = $data['price'];
446
+                    $erpArr['tagPrice'] = $data['tagPrice'];
447
+                    $erpArr['referenceCost'] = $data['referenceCost'];
448
+                }
440 449
                 $erp = Order::mjErpGoodsAdd($erpArr);
441 450
                 if( $erp == false ){
442 451
                     throw new Exception("erpSku同步到卖家云失败");
@@ -454,7 +463,7 @@ class GoodsController extends Controller
454 463
                 $shopArr['eshopCode'] = $lastSku->eshopCode;
455 464
                 $shopArr['goodsCode'] = $lastSku->goodsCode;
456 465
                 $shopArr['propsName'] = $data['propsName'];
457
-                $shopArr['price'] = $data['price'];
466
+                $shopArr['price'] = $erpArr['price'];
458 467
                 $shopArr['skuProductCode'] = $data['code'];
459 468
                 $shopArr['createTime'] = date('Y-m-d H:i:s');
460 469
                 $shopArr['modifyTime'] = $shopArr['createTime'];
@@ -519,10 +528,16 @@ class GoodsController extends Controller
519 528
                 $erpArr = array();
520 529
                 $erpArr['skuId'] = $sku->erpSkuId;
521 530
                 $erpArr['propsName'] = $sku->propsName;
522
-                $erpArr['price'] = $sku->price;
523
-                $erpArr['tagPrice'] = $sku->tagPrice;
524
-                $erpArr['referenceCost'] = $sku->referenceCost;
525
-
531
+                if($data['is_weigh'] == 1){
532
+                    $erpArr['price'] = round( $sku->price/2, 2 );
533
+                    $erpArr['tagPrice'] = round( $sku->tagPrice/2, 2 );
534
+                    $erpArr['referenceCost'] = round( $sku->referenceCost/2, 2 );
535
+                }else{
536
+                    $erpArr['price'] = $sku->price;
537
+                    $erpArr['tagPrice'] = $sku->tagPrice;
538
+                    $erpArr['referenceCost'] = $sku->referenceCost;
539
+                }
540
+                
526 541
                 $erp_up = Order::mjErpSkuUpdate($erpArr);
527 542
                 if( $erp_up == false ){
528 543
                     throw new Exception("erpSku更新同步到卖家云失败");
@@ -534,7 +549,7 @@ class GoodsController extends Controller
534 549
                 $shopArr['goodsCode'] = $sku->goodsCode;
535 550
                 $shopArr['outerCode'] = $sku->id;
536 551
                 $shopArr['propsName'] = $sku->propsName;
537
-                $shopArr['price'] = $sku->price;
552
+                $shopArr['price'] = $erpArr['price'];
538 553
 
539 554
                 $sku_up = Order::mjSkuUpdate($shopArr);
540 555
                 if( $sku_up == false ){

+ 6 - 7
app/Http/Controllers/Admin/OrderController.php

@@ -509,7 +509,6 @@ class OrderController extends Controller
509 509
             return redirect('/admin/order/index')->with('info', $msg);
510 510
         }
511 511
         $res = RedisModel::expire( $redisKey, 60 );
512
-
513 512
         $skus = $request->input('skus');
514 513
         $warehouse = (int)$request->input('warehouse');
515 514
         if($warehouse == 3 && empty($skus)){
@@ -704,7 +703,7 @@ class OrderController extends Controller
704 703
 
705 704
         $skus = array_keys($order_skus);
706 705
         if(!empty($skus)){
707
-            $goods = Goods::select('gs.id as sku_id', 'goods.id as goods_id', 'goods.name', 'gs.propsName as props_name', 'gs.price')->leftJoin('goods_skus as gs', 'gs.goodsCode', '=', 'goods.id')->whereIn('gs.id', $skus)->orderBy('goods.id', 'desc')->get();
706
+            $goods = Goods::select('gs.id as sku_id', 'goods.id as goods_id', 'goods.name', 'gs.propsName as props_name', 'gs.price', 'gs.is_weigh')->leftJoin('goods_skus as gs', 'gs.goodsCode', '=', 'goods.id')->whereIn('gs.id', $skus)->orderBy('goods.id', 'desc')->get();
708 707
             $goods = json_decode(json_encode($goods),true);
709 708
             foreach($goods as $k=>&$v){
710 709
                 $v['num'] = $order_skus[$v['sku_id']];
@@ -872,7 +871,7 @@ class OrderController extends Controller
872 871
             if(!empty($skus)){            
873 872
                 //再同步
874 873
                 foreach($skus as $k=>$sku_id){
875
-                    $sku_info = GoodsSkus::select('goodsCode', 'price', 'propsName')->where('id', $sku_id)->first();
874
+                    $sku_info = GoodsSkus::select('goodsCode', 'price', 'propsName','is_weigh')->where('id', $sku_id)->first();
876 875
                     $sync_re = OrderGoodsSkus::updateOrCreate(['order_id'=>$id, 'sku_id'=>$sku_id, 'goods_id'=>$sku_info->goodsCode], ['num'=>$gnum[$k], 'is_del'=>0, 'price'=>$sku_info->price]);
877 876
                     if( $mjFlag == 1 && empty($mjOrder) ){
878 877
                         $goods_info = Goods::where('id', $sku_info->goodsCode)->first();
@@ -884,8 +883,8 @@ class OrderController extends Controller
884 883
                         #商品名称
885 884
                         $params['goodsName'] = $goods_info->name;
886 885
                         $params['propertiesName'] = $sku_info->propsName;
887
-                        $params['price'] = $sku_info->price;
888
-                        $params['quantity'] = $gnum[$k];
886
+                        $params['price'] = $sku_info->is_weigh==1 ? round($sku_info->price/2,2) : $sku_info->price;
887
+                        $params['quantity'] = (int)($sku_info->is_weigh==1 ? $gnum[$k]*2 : $gnum[$k]);
889 888
                         $params['discountFee'] = 0;
890 889
                         $params['adjustFee'] = 0;
891 890
                         $params['refundStatus'] = '正常';
@@ -1615,8 +1614,8 @@ class OrderController extends Controller
1615 1614
                 $params['goodsName'] = $goods_info->name;
1616 1615
                 $params['propertiesName'] = $sku_info->propsName;
1617 1616
                 //$params['goodsName'] = '海钓黄翅鱼';//$goods->code; 
1618
-                $params['price'] = $v['price'];
1619
-                $params['quantity'] = $v['num'];
1617
+                $params['price'] = $sku_info->is_weigh==1 ? round($v['price']/2,2) : $v['price'];
1618
+                $params['quantity'] = (int)($sku_info->is_weigh==1 ? $v['num']*2 : $v['num']);
1620 1619
                 $params['discountFee'] = 0;
1621 1620
                 $params['adjustFee'] = 0;
1622 1621
                 $params['refundStatus'] = '正常';

+ 7 - 5
resources/views/goods/create.blade.php

@@ -67,10 +67,11 @@
67 67
                 <label class="form-label col-xs-4 col-sm-2">添加规格:</label>
68 68
                 <div class="formControls col-xs-6 col-sm-6">
69 69
                     <span class="select-box">
70
-                        规格:<input type='text' value="" placeholder="示例:500克/包" name="propsName"/>
71
-                        &nbsp;&nbsp;售价:<input type="text" value="" placeholder="请填写对应规格价格(数字格式)" name="price">元
72
-                        &nbsp;&nbsp;吊牌价:<input type="text" value="" placeholder="请填写对应规格吊牌价(数字格式)" name="tagPrice">元<br>
73
-                        参考成本:<input type="text" value="" placeholder="请填写对应参考成本(数字格式)" name="referenceCost">元
70
+                        <font style='font-weight:bold;'>规格:</font><input type='text' value="" placeholder="示例:500克/包" name="propsName"/>
71
+                        &nbsp;&nbsp;<font style='font-weight:bold;'>售价:</font><input type="text" value="" placeholder="请填写对应规格价格(数字格式)" name="price">元
72
+                        &nbsp;&nbsp;<font style='font-weight:bold;'>吊牌价:</font><input type="text" value="" placeholder="请填写对应规格吊牌价(数字格式)" name="tagPrice">元<br>
73
+                        <font style='font-weight:bold;'>参考成本:</font><input type="text" value="" placeholder="请填写对应参考成本(数字格式)" name="referenceCost">元
74
+                        &nbsp;&nbsp;<font style='font-weight:bold;color:red'>是否称重:</font><input type='radio' value='0' name='is_weigh' checked/>否 <input type='radio' value='1' name='is_weigh'/>是
74 75
                         &nbsp;&nbsp;<button type='button' onclick='add_goods()'> 确认</button>
75 76
                     </span>
76 77
                 </div>               
@@ -117,12 +118,13 @@
117 118
             var price = $("input[name=price]").val();
118 119
             var tagPrice = $("input[name=tagPrice]").val();
119 120
             var referenceCost = $("input[name=referenceCost]").val();
121
+            var is_weigh = $("input[name=is_weigh]:checked").val();
120 122
 
121 123
             var str = "<p id='sku"+id_n+"'><font style='font-weight:bold;'>规格:<\/font>"+propsName
122 124
                 + " <font style='font-weight:bold;'>售价:<\/font>"+price+";"
123 125
                 + " <font style='font-weight:bold;'>吊牌价:<\/font>"+tagPrice+";"
124 126
                 + " <font style='font-weight:bold;'>参考成本:<\/font>"+referenceCost+";"
125
-                + "&nbsp;&nbsp;<button type='button' onclick='del_sku("+id_n+")'> 移除<\/button> <input type='hidden' name='sku[]' value='"+propsName+'@@'+price+'@@'+tagPrice+'@@'+referenceCost+"'\/> " +"<\/p>";
127
+                + "&nbsp;&nbsp;<button type='button' onclick='del_sku("+id_n+")'> 移除<\/button> <input type='hidden' name='sku[]' value='"+propsName+'@@'+price+'@@'+tagPrice+'@@'+referenceCost+'@@'+is_weigh"'\/> " +"<\/p>";
126 128
 
127 129
             $("#goods_o").append(str);
128 130
             return false;

File diff suppressed because it is too large
+ 35 - 17
resources/views/order/ordercreate.blade.php


File diff suppressed because it is too large
+ 67 - 13
resources/views/order/orderedit.blade.php