|
@@ -73,9 +73,9 @@ class SplitSale extends Command
|
|
|
"customerNo"=>"",
|
|
|
"supplierNo"=>'',
|
|
|
"supplierName"=>'',
|
|
|
+ "status"=>$sale['th_num']==$sale['good_num']?3:0,
|
|
|
"companyName"=>$sale['supplierName'],
|
|
|
"companyNo"=>$sale['supplierNo'],
|
|
|
- "addtime"=>$sale['addtime'],
|
|
|
];
|
|
|
if( strtotime($sale['addtime']) >= strtotime('2023-07-01 00:00:00'))$this->Tcode ='F';
|
|
|
else $this->Tcode ='';
|
|
@@ -131,7 +131,6 @@ class SplitSale extends Command
|
|
|
|
|
|
foreach ($pay_rates as $keys=>$pay_rate) {
|
|
|
//生成新的采购单号和销售单号
|
|
|
-
|
|
|
$cgdNo = makeNo($this->Tcode.'CG');
|
|
|
$tempOrder['cgdNo'] = $cgdNo ;
|
|
|
$cgdNo = substr($cgdNo, 0, -2) . str_pad($this->i, 2, '0', STR_PAD_LEFT);
|
|
@@ -157,7 +156,11 @@ class SplitSale extends Command
|
|
|
$orderCode = substr($orderCode, 0, -2) . str_pad($this->i, 2, '0', STR_PAD_LEFT);
|
|
|
$supplier = ['No' => $sale['supplierNo'], 'name' => $sale['supplierName'],"pay_name"=>$pay_rate['pay_name']];
|
|
|
if(!isset($cgd['cgdNo']) && $sale['is_stock']==1 ){
|
|
|
- $sale['origin_price'] = Db::name("purchease_order")->where(["spuCode"=>$sale['good_code'],"is_del"=>0,"status"=>[2,3]])->order("id desc")->value("good_price",0);
|
|
|
+ $origin_total =Db::name('child_bn')
|
|
|
+ ->where([['orderCode','=',$sale['orderCode']],['total_bn_num','>',0],['is_del','=',0]])
|
|
|
+ ->field("sum(origin_price*total_bn_num) total_price,sum(total_bn_num) num")->findOrEmpty();
|
|
|
+ if(empty($origin_total)==false && $origin_total['num']>0)$sale['origin_price'] = bcdiv($origin_total['total_price'],$origin_total['num'],8);
|
|
|
+ else $sale['origin_price']=0;
|
|
|
}else{
|
|
|
$sale['origin_price'] = $cgd['good_price'];
|
|
|
}
|
|
@@ -188,6 +191,8 @@ class SplitSale extends Command
|
|
|
if($this->cgd_insert) Db::name('cgd_caixiao')->insertAll($this->cgd_insert);
|
|
|
$this->cgd_insert = [];
|
|
|
$this->cgd_key = 0;
|
|
|
+ $date=date('Y-m-d H:i:s');
|
|
|
+ echo "【{$date}】订单:{$sale['orderCode']}拆单 \r\n";
|
|
|
if(strtotime($sale['addtime']) >= strtotime('2024-02-01 00:00:00'))$commonOrder[]= $tempOrder;
|
|
|
}
|
|
|
|
|
@@ -212,19 +217,20 @@ class SplitSale extends Command
|
|
|
}
|
|
|
|
|
|
//构建销售单
|
|
|
- private function _handle_sale_caixiao(array $sale = [], string $orderCode = '', string $cgdNo = '', float
|
|
|
- $sale_total = 0.00, array $customer = [], array $supplier = [],array &$tempOrder=[])
|
|
|
+ private function _handle_sale_caixiao(array $sale = [], string $orderCode = '', string $cgdNo = '', float $sale_total = 0.00, array $customer = [], array $supplier = [],array &$tempOrder=[])
|
|
|
{
|
|
|
$sale_price = $sale['good_num'] > 0 ? bcdiv($sale_total, $sale['good_num'], 5) : 0;
|
|
|
+
|
|
|
+ $origin_total =round($sale['origin_price']*$sale['good_num'],8);
|
|
|
$tmp_sale = [
|
|
|
'manager'=>$sale['manager'],
|
|
|
'managerid'=>$sale['managerid'],
|
|
|
- 'origin_price' =>round( $sale['origin_price'] ?? 0, 2),
|
|
|
- 'origin_plan_price' =>round( $sale['plan_price'] ?? 0, 2),
|
|
|
- 'total_origin_price' => round($sale['origin_price']*$sale['good_num'],2),
|
|
|
+ 'origin_price' =>round( $sale['origin_price'] ?? 0, 8),
|
|
|
+ 'origin_plan_price' =>round( $sale['plan_price'] ?? 0, 8),
|
|
|
+ 'total_origin_price' =>$origin_total,
|
|
|
'total_origin_price_plan' => $sale['plan_total'],
|
|
|
'pay_source' => $supplier['pay_name'],
|
|
|
- 'sale_price' => round($sale_price, 2),
|
|
|
+ 'sale_price' => round($sale_price, 8),
|
|
|
'total_price' => $sale_total,
|
|
|
'post_fee' => $sale['post_fee'] ?? 0,
|
|
|
'is_diff' => $sale['is_diff'] ?? 0,
|
|
@@ -296,7 +302,7 @@ class SplitSale extends Command
|
|
|
'lead_time' => $sale['lead_time'] ?? 0,
|
|
|
'depart' => isset($sale['apply_id']) ? get_company_name_by_uid($sale['apply_id']) : '',
|
|
|
'cgdNo' => $cgdNo,
|
|
|
- 'total_origin_price' => round($sale['origin_price']*$sale['good_num'],2),
|
|
|
+ 'total_origin_price' => $origin_total,
|
|
|
'total_origin_price_plan' => $sale['plan_total'],
|
|
|
'pay_id' => $sale['pay_id'],
|
|
|
'pay_source' => $supplier['pay_name'],
|
|
@@ -310,10 +316,10 @@ class SplitSale extends Command
|
|
|
string $orderCode = '', float $cgd_total = 0.00,array &$tempOrder=[])
|
|
|
{
|
|
|
|
|
|
- $good_price = $sale['good_num'] > 0 ? bcdiv($cgd_total, $sale['good_num'], 5) : 0;
|
|
|
+ $good_price = $sale['good_num'] > 0 ? bcdiv($cgd_total, $sale['good_num'], 8) : 0;
|
|
|
|
|
|
$tmp_cgd = [
|
|
|
- 'good_price' => round($good_price, 2),
|
|
|
+ 'good_price' => round($good_price, 8),
|
|
|
'total_fee' => $cgd_total,
|
|
|
'pakage_fee' => $cgd['pakge_fee'] ?? 0,
|
|
|
'open_fee' => $cgd['open_fee'] ?? 0,
|
|
@@ -424,6 +430,7 @@ class SplitSale extends Command
|
|
|
if($com->isEmpty()==false){
|
|
|
$item['id'] = $com->id;
|
|
|
$item['tyCode'] = $com->tyCode;
|
|
|
+ if($com->status==1 || $com->status==2) $item['status']=$com->status;
|
|
|
}else{
|
|
|
$item['id']=null;
|
|
|
}
|