|
@@ -137,7 +137,9 @@ class ImportOrderFromCHandleData extends Command
|
|
|
->find();
|
|
|
if ($good == false) throw new Exception('未找到相关阶梯价格');
|
|
|
|
|
|
- $sale_price = $good['sale_price'];
|
|
|
+ //$sale_price = $good['sale_price']; //不改动售价
|
|
|
+
|
|
|
+ //理论上不会出现实时金价的订单
|
|
|
if ($ct['is_gold_price'] == 1 && $is_stock != 1) {
|
|
|
$gold = Db::name("gold_price1")
|
|
|
->field('id,price')
|
|
@@ -146,8 +148,9 @@ class ImportOrderFromCHandleData extends Command
|
|
|
->find();
|
|
|
|
|
|
//$saleprice(最终售价) = (打样费/购买数量 + 开模费/购买数量 + 商品重量* 最新金价 + 工艺费* 商品重量+包装费+加标费+证书费+产品裸价+物流费)/(1-成本售价/100);
|
|
|
- $sale_price = $ct['demo_fee'] / $good_num + $ct['open_fee'] / $good_num + $ct['noble_weight'] * $gold["price"] + $good['cost_fee'] * $ct['noble_weight'] + $origin['package_fee'] + $origin['mark_fee'] + $origin['cert_fee'] + $origin['nake_fee'] + $origin['delivery_fee'];
|
|
|
-
|
|
|
+ $gold_sale_price = $ct['demo_fee'] / $good_num + $ct['open_fee'] / $good_num + $ct['noble_weight'] * $gold["price"] + $good['cost_fee'] * $ct['noble_weight'] + $origin['package_fee'] + $origin['mark_fee'] + $origin['cert_fee'] + $origin['nake_fee'] + $origin['delivery_fee'];
|
|
|
+ if ($sale_price < $gold_sale_price) throw new Exception('价格不符合根据实时金价计算出的最终售价');
|
|
|
+
|
|
|
$ct['cgd_gold_price'] = $gold['price'];
|
|
|
|
|
|
// $order_rate = Db::name("cat")->where(["id" => $ct['cat_id']])->value('order_rate');
|
|
@@ -165,7 +168,7 @@ class ImportOrderFromCHandleData extends Command
|
|
|
if ($act == false) throw new Exception('未找到相关活动价');
|
|
|
if ($act['moq_num'] > $good_num) throw new Exception('商品不满足活动价起订量' . $act['moq_num']);
|
|
|
if ($act['activity_stock'] < $good_num) throw new Exception('商品活动库存剩余' . $act['activity_stock']);
|
|
|
- $sale_price = $act['activity_price'];
|
|
|
+ //$sale_price = $act['activity_price'];//不能改动价格
|
|
|
}
|
|
|
}
|
|
|
$cgd = [
|
|
@@ -177,14 +180,14 @@ class ImportOrderFromCHandleData extends Command
|
|
|
"good_name" => $ct['good_name'],
|
|
|
"sale_price" => $origin_price,
|
|
|
"total_fee" => $origin_price * $good_num,
|
|
|
- "pakge_fee"=>isset($origin['package_fee']) ?$origin['package_fee']:0 ,
|
|
|
- "cert_fee"=>isset($origin['cert_fee'])?$origin['cert_fee']:0 ,
|
|
|
+ "pakge_fee" => isset($origin['package_fee']) ? $origin['package_fee'] : 0,
|
|
|
+ "cert_fee" => isset($origin['cert_fee']) ? $origin['cert_fee'] : 0,
|
|
|
"open_fee" => $ct['open_fee'],
|
|
|
- "cost_fee"=>isset($origin['cost_fee'])? $origin['cost_fee']:0,
|
|
|
- "mark_fee"=>isset($origin['mark_fee'])? $origin['mark_fee']:0,
|
|
|
+ "cost_fee" => isset($origin['cost_fee']) ? $origin['cost_fee'] : 0,
|
|
|
+ "mark_fee" => isset($origin['mark_fee']) ? $origin['mark_fee'] : 0,
|
|
|
"demo_fee" => $ct['demo_fee'],
|
|
|
- "nake_fee"=>isset($origin['nake_fee'])?$origin['nake_fee']:0,
|
|
|
- "delivery_fee"=>isset($origin['delivery_fee'])? $origin['delivery_fee']:0,
|
|
|
+ "nake_fee" => isset($origin['nake_fee']) ? $origin['nake_fee'] : 0,
|
|
|
+ "delivery_fee" => isset($origin['delivery_fee']) ? $origin['delivery_fee'] : 0,
|
|
|
"good_num" => $good_num,
|
|
|
"good_type" => $goodtype,
|
|
|
"order_type" => $order_type,
|
|
@@ -461,12 +464,12 @@ class ImportOrderFromCHandleData extends Command
|
|
|
"teach_fee" => $data['cost_fee'],
|
|
|
"mark_fee" => $data['mark_fee'],
|
|
|
"demo_fee" => $data['demo_fee'],
|
|
|
- "nake_fee"=>$data['nake_fee'],
|
|
|
- "delivery_fee"=>$data['delivery_fee'],
|
|
|
+ "nake_fee" => $data['nake_fee'],
|
|
|
+ "delivery_fee" => $data['delivery_fee'],
|
|
|
#"weight"=>$data['weight'],
|
|
|
"diff_weight" => "0",
|
|
|
"diff_fee" => "0",
|
|
|
- "gold_price"=>$data['gold_price'],
|
|
|
+ "gold_price" => $data['gold_price'],
|
|
|
"supplierNo" => $data['supplierNo'],
|
|
|
"supplier_name" => $supplier['name'],
|
|
|
"companyNo" => $data['companyNo'],
|
|
@@ -518,29 +521,29 @@ class ImportOrderFromCHandleData extends Command
|
|
|
$stokc = Db::name("good_stock")
|
|
|
->where(['spuCode' => $data['spuCode'], "wsm_code" => $wsm_code, "is_del" => 0])
|
|
|
->find();
|
|
|
- if($stokc==false){
|
|
|
- $stokc=[
|
|
|
- "spuCode"=>$data['spuCode'],
|
|
|
- "wsm_code"=>$wsm_code,
|
|
|
- "wait_in_stock"=>$data['good_num'],
|
|
|
- "wait_out_stock"=>0,
|
|
|
- "usable_stock"=>0,
|
|
|
- "intra_stock"=>0,
|
|
|
- "total_stock"=>0,
|
|
|
- "status"=>1,
|
|
|
- "addtime"=>date("Y-m-d H:i:s"),
|
|
|
- "updatetime"=>date("Y-m-d H:i:s")
|
|
|
+ if ($stokc == false) {
|
|
|
+ $stokc = [
|
|
|
+ "spuCode" => $data['spuCode'],
|
|
|
+ "wsm_code" => $wsm_code,
|
|
|
+ "wait_in_stock" => $data['good_num'],
|
|
|
+ "wait_out_stock" => 0,
|
|
|
+ "usable_stock" => 0,
|
|
|
+ "intra_stock" => 0,
|
|
|
+ "total_stock" => 0,
|
|
|
+ "status" => 1,
|
|
|
+ "addtime" => date("Y-m-d H:i:s"),
|
|
|
+ "updatetime" => date("Y-m-d H:i:s")
|
|
|
];
|
|
|
- }else{
|
|
|
- $stokc['wait_in_stock']+=$data['good_num'];
|
|
|
- $stokc['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ } else {
|
|
|
+ $stokc['wait_in_stock'] += $data['good_num'];
|
|
|
+ $stokc['updatetime'] = date("Y-m-d H:i:s");
|
|
|
}
|
|
|
- $stoc= Db::name("good_stock")->save($stokc);
|
|
|
- if($stoc==false){
|
|
|
+ $stoc = Db::name("good_stock")->save($stokc);
|
|
|
+ if ($stoc == false) {
|
|
|
return false;
|
|
|
}
|
|
|
- $good_data[] = ['good_log_code' =>$cgdCode, "stock_id" => isset($stoc['id'])?$stoc['id']:Db::name("good_stock")->getLastInsID(), "type" => 1,'stock'=>$data['good_num'], "stock_name" => "wait_in_stock"];
|
|
|
- GoodLog::LogAdd($this->post['token'],$good_data,"CGD");
|
|
|
+ $good_data[] = ['good_log_code' => $cgdCode, "stock_id" => isset($stoc['id']) ? $stoc['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $data['good_num'], "stock_name" => "wait_in_stock"];
|
|
|
+ GoodLog::LogAdd($this->post['token'], $good_data, "CGD");
|
|
|
|
|
|
return true;
|
|
|
}
|