|
@@ -976,14 +976,14 @@ class Reorder extends Base
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
- if($orderinfo['order_type']!=1){
|
|
|
+
|
|
|
$bn=makeNo("BN");
|
|
|
$bnin=GoodStockInfo::AddBn($stockid,$bn,$info['num'],$cgd['good_price']??0);
|
|
|
if($bnin==false){
|
|
|
Db::rollback();
|
|
|
return error_show(1005, '可售商品Bn库存数入库失败');
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
$good_data = ['good_log_code' => $info['returnCode'], "stock_id" => $stockid, "type" => 1, 'stock'=> $info['num'], "stock_name" => "usable_stock"];
|
|
|
GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
|
|
@@ -1317,50 +1317,72 @@ class Reorder extends Base
|
|
|
|
|
|
$saleinfo=Db::name("sale_info")->where([["orderCode","=",$orderCode],["num",">",0]])->select()->toArray();
|
|
|
if(empty($saleinfo)) {
|
|
|
- Db::rollback();
|
|
|
- return error_show(1005, '商品批次数据未找到');
|
|
|
- }
|
|
|
- $tempnum =$thnum;
|
|
|
- foreach ( $saleinfo as $va){
|
|
|
- if($tempnum ==0) break;
|
|
|
- $stock = Db::name("good_stock")->where(["spuCode" => $order['good_code'], 'id' => $va['stockid']])->find();
|
|
|
- if($stock==false) {
|
|
|
- Db::rollback();
|
|
|
- return error_show(1005, '商品库存数据未找到');
|
|
|
- }
|
|
|
- if($va['num']>=$tempnum) {
|
|
|
- $tnm = $tempnum;
|
|
|
- $va['num']-= $tempnum;
|
|
|
- $tempnum=0;
|
|
|
+ $ordernum = Db::name("order_num")->where(['orderCode' => $orderCode])->find();
|
|
|
+ if ($ordernum == false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '未找到关联采购单');
|
|
|
+ }
|
|
|
+ $cgd = Db::name("purchease_order")->where(["cgdNo" => $ordernum['cgdNo'], "is_del" => 0])->find();
|
|
|
+ if ($cgd == false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '未找到采购单数据');
|
|
|
+ }
|
|
|
+ $bn =makeNo("BN");
|
|
|
+ $stock = Db::name("good_stock")->where(["spuCode" => $order['good_code'], 'wsm_code'=>$cgd['wsm_code'],"is_del"=>0,"status"=>1])->find();
|
|
|
+ if($stock==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '商品库存数据未找到');
|
|
|
+ }
|
|
|
+ $yp=GoodStockInfo::AddBn($stock['id'],$bn,$thnum,$cgd['good_price']);
|
|
|
+ if($yp==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '商品批次退货入库失败');
|
|
|
+ }
|
|
|
+
|
|
|
}else{
|
|
|
- $tnm = $va['num'];
|
|
|
- $tempnum -=$va['num'];
|
|
|
- $va['num'] =0;
|
|
|
+ $tempnum =$thnum;
|
|
|
+ foreach ( $saleinfo as $va){
|
|
|
+ if($tempnum ==0) break;
|
|
|
+ $stock = Db::name("good_stock")->where(["spuCode" => $order['good_code'], 'id' => $va['stockid']])->find();
|
|
|
+ if($stock==false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, '商品库存数据未找到');
|
|
|
+ }
|
|
|
+ if($va['num']>=$tempnum) {
|
|
|
+ $tnm = $tempnum;
|
|
|
+ $va['num']-= $tempnum;
|
|
|
+ $tempnum=0;
|
|
|
+ }else{
|
|
|
+ $tnm = $va['num'];
|
|
|
+ $tempnum -=$va['num'];
|
|
|
+ $va['num'] =0;
|
|
|
+ }
|
|
|
+ $stock['usable_stock']+=$tnm;
|
|
|
+ $stock['wait_out_stock'] -=$tnm;
|
|
|
+ $stock['updatetime'] = date("Y-m-d H:i:s");
|
|
|
+ $st_up = Db::name("good_stock")->save($stock);
|
|
|
+ if ($st_up == false) {
|
|
|
+ return error_show(1005, '可售商品入库失败');
|
|
|
+ }
|
|
|
+ $ps = GoodStockInfo::AddBn($va['stockid'],$va['bnCode'],$tnm);
|
|
|
+ if ($ps == false) {
|
|
|
+ return error_show(1005, '商品批次退货入库失败');
|
|
|
+ }
|
|
|
+ $ret = GoodStockInfo::ReturnBn($returnCode,$va['id'],$tnm);
|
|
|
+ if ($ret == false) {
|
|
|
+ return error_show(1005, '商品批次退货入库失败');
|
|
|
+ }
|
|
|
+ $va['updatetime']=date("Y-m-d H:i:s");
|
|
|
+ $sal= Db::name("sale_info")->save($va);
|
|
|
+ if ($sal == false) {
|
|
|
+ return error_show(1005, '商品批次退货入库失败');
|
|
|
+ }
|
|
|
+ $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 1, 'stock' => $tnm, "stock_name" => "usable_stock"];
|
|
|
+ $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 2, 'stock' => $tnm, "stock_name" => "wait_out_stock"];
|
|
|
+ GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
|
|
|
}
|
|
|
- $stock['usable_stock']+=$tnm;
|
|
|
- $stock['wait_out_stock'] -=$tnm;
|
|
|
- $stock['updatetime'] = date("Y-m-d H:i:s");
|
|
|
- $st_up = Db::name("good_stock")->save($stock);
|
|
|
- if ($st_up == false) {
|
|
|
- return error_show(1005, '可售商品入库失败');
|
|
|
- }
|
|
|
- $ps = GoodStockInfo::AddBn($va['stockid'],$va['bnCode'],$tnm);
|
|
|
- if ($ps == false) {
|
|
|
- return error_show(1005, '商品批次退货入库失败');
|
|
|
- }
|
|
|
- $ret = GoodStockInfo::ReturnBn($returnCode,$va['id'],$tnm);
|
|
|
- if ($ret == false) {
|
|
|
- return error_show(1005, '商品批次退货入库失败');
|
|
|
- }
|
|
|
- $va['updatetime']=date("Y-m-d H:i:s");
|
|
|
- $sal= Db::name("sale_info")->save($va);
|
|
|
- if ($sal == false) {
|
|
|
- return error_show(1005, '商品批次退货入库失败');
|
|
|
- }
|
|
|
- $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 1, 'stock' => $thnum, "stock_name" => "usable_stock"];
|
|
|
- $good_data[]= ['good_log_code' => $returnCode, "stock_id" => $va['stockid'], "type" => 2, 'stock' => $thnum, "stock_name" => "wait_out_stock"];
|
|
|
- GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
|
|
|
}
|
|
|
+
|
|
|
$data=[
|
|
|
"orderCode"=>$orderCode,
|
|
|
"th_type"=>1,
|