|
@@ -574,6 +574,7 @@ class Reorder extends Base
|
|
$info['post_fee'] = isset($orderinfo['post_fee'])?$orderinfo['post_fee']:'0';
|
|
$info['post_fee'] = isset($orderinfo['post_fee'])?$orderinfo['post_fee']:'0';
|
|
$info['customer_code'] = isset($orderinfo['customer_code'])?$orderinfo['customer_code']:'';
|
|
$info['customer_code'] = isset($orderinfo['customer_code'])?$orderinfo['customer_code']:'';
|
|
|
|
|
|
|
|
+ $userCommon = new \app\admin\common\User();
|
|
if($info['return_wsm']!=""){
|
|
if($info['return_wsm']!=""){
|
|
$wsmcode = Db::name("warehouse_info")
|
|
$wsmcode = Db::name("warehouse_info")
|
|
->alias("a")
|
|
->alias("a")
|
|
@@ -582,19 +583,16 @@ class Reorder extends Base
|
|
->field("a.name as wsm_name,a.supplierNo")
|
|
->field("a.name as wsm_name,a.supplierNo")
|
|
->find();
|
|
->find();
|
|
$info['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
|
|
$info['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- $userCommon = new \app\admin\common\User();
|
|
|
|
- $tmp = $userCommon->handle('getCodeAndName', ['code' => [
|
|
|
|
- $orderinfo['supplierNo'],
|
|
|
|
- $orderinfo['customer_code'],
|
|
|
|
- $wsmcode['supplierNo']??'',
|
|
|
|
- ]]);
|
|
|
|
|
|
|
|
- $info['wsm_supplier'] =$tmp['data'][$wsmcode['supplierNo']]??'';//isset($wsmcode['name']) ? $wsmcode['name']:"";
|
|
|
|
- $info['wsm_supplierNo'] =$wsmcode['supplierNo']??'';//isset($wsmcode['code']) ? $wsmcode['code']:"";
|
|
|
|
|
|
+ $tmp = $userCommon->handle('getCodeAndName', ['code' => [
|
|
|
|
+ $orderinfo['supplierNo'],
|
|
|
|
+ $orderinfo['customer_code'],
|
|
|
|
+ $wsmcode['supplierNo']??'',
|
|
|
|
+ ]]);
|
|
|
|
|
|
|
|
+ $info['wsm_supplier'] =$tmp['data'][$wsmcode['supplierNo']]??'';//isset($wsmcode['name']) ? $wsmcode['name']:"";
|
|
|
|
+ $info['wsm_supplierNo'] =$wsmcode['supplierNo']??'';//isset($wsmcode['code']) ? $wsmcode['code']:"";
|
|
|
|
+ }
|
|
|
|
|
|
$info['customer_name']='';
|
|
$info['customer_name']='';
|
|
if(isset($orderinfo['customer_code'])&&$orderinfo['customer_code']!=''){
|
|
if(isset($orderinfo['customer_code'])&&$orderinfo['customer_code']!=''){
|
|
@@ -660,7 +658,7 @@ class Reorder extends Base
|
|
$info['wsminfo']=$wsm;
|
|
$info['wsminfo']=$wsm;
|
|
$addr =Db::name("sale_returnaddr")
|
|
$addr =Db::name("sale_returnaddr")
|
|
->alias('a')
|
|
->alias('a')
|
|
- ->field('a.*,b.addr,b.addr_code,b.contactor,b.mobile,b.post_fee,b.addive_time,b.customer_code,b.receipt_quantity,b.orderCode')
|
|
|
|
|
|
+ ->field('a.*,b.addr,b.addr_code,b.contactor,b.mobile,b.post_fee,b.arrive_time,b.customer_code,b.receipt_quantity,b.orderCode')
|
|
->leftJoin('order_addr b','b.id=a.addrid')
|
|
->leftJoin('order_addr b','b.id=a.addrid')
|
|
->where(["a.returnCode"=>$info["returnCode"],"a.is_del"=>0])
|
|
->where(["a.returnCode"=>$info["returnCode"],"a.is_del"=>0])
|
|
->select()
|
|
->select()
|
|
@@ -1093,156 +1091,157 @@ class Reorder extends Base
|
|
// 'holder_id' => $holder_id
|
|
// 'holder_id' => $holder_id
|
|
// ]);
|
|
// ]);
|
|
|
|
|
|
- if ($orderinfo['is_stock'] == 1 || $info['is_th'] == 0) {
|
|
|
|
-
|
|
|
|
- if ($orderinfo['order_type'] != 1) {
|
|
|
|
- if ($orderinfo['order_type'] == 3) {
|
|
|
|
- $goon = Db::name("good_zixun")
|
|
|
|
- ->where(["spuCode" => $orderinfo['good_code'], "is_del" => 0])
|
|
|
|
- ->findOrEmpty();
|
|
|
|
- $isZx = 1;
|
|
|
|
- } else {
|
|
|
|
- $goon = Db::name('good_basic')
|
|
|
|
- ->where(['spuCode' => $orderinfo['good_code']])
|
|
|
|
- ->findOrEmpty();
|
|
|
|
- $isZx = 2;
|
|
|
|
- }
|
|
|
|
- $spuCode = $this->CheckGoodZx($goon, $isZx, $code);
|
|
|
|
- $wsmcode = $info['return_wsm'];
|
|
|
|
- if ($wsmcode == "") throw new Exception('未找到退货仓库');
|
|
|
|
-
|
|
|
|
- $stock = Db::name("good_stock")
|
|
|
|
- ->where(['is_del' => 0, "spuCode" => $spuCode, 'wsm_code' => $wsmcode])
|
|
|
|
- ->findOrEmpty();
|
|
|
|
- if (empty($stock)) {
|
|
|
|
- $stock = [
|
|
|
|
- "spuCode" => $spuCode,
|
|
|
|
- "wsm_code" => $wsmcode,
|
|
|
|
- "usable_stock" => 0,
|
|
|
|
- "wait_out_stock" => 0,
|
|
|
|
- "wait_in_stock" => 0,
|
|
|
|
- "total_stock" => 0,
|
|
|
|
- "addtime" => $date,
|
|
|
|
- "updatetime" => $date,
|
|
|
|
- ];
|
|
|
|
- }
|
|
|
|
- $stock['usable_stock'] += $info['num'];
|
|
|
|
- $stock['updatetime'] = $date;
|
|
|
|
- $st_up = Db::name("good_stock")->save($stock);
|
|
|
|
- if ($st_up == false) throw new Exception('可售商品入库失败');
|
|
|
|
-
|
|
|
|
- $stockid = isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID();
|
|
|
|
- $sabebn = Db::name("sale_info")
|
|
|
|
- ->where(["orderCode" => $orderinfo["orderCode"]])
|
|
|
|
- ->select()
|
|
|
|
- ->toArray();
|
|
|
|
- if (!empty($sabebn)) {
|
|
|
|
- $total_num = $info['num'];
|
|
|
|
- foreach ($sabebn as $ve) {
|
|
|
|
- $tempnum = 0;
|
|
|
|
- if ($total_num == 0) break;
|
|
|
|
- if ($total_num >= $ve['num']) {
|
|
|
|
- $tempnum = $ve['num'];
|
|
|
|
- $total_num -= $ve['num'];
|
|
|
|
- $ve['th_num'] += $ve['num'];
|
|
|
|
- $ve['num'] = 0;
|
|
|
|
- } else {
|
|
|
|
- $tempnum = $total_num;
|
|
|
|
- $ve['num'] -= $total_num;
|
|
|
|
- $ve['th_num'] += $total_num;
|
|
|
|
- $total_num = 0;
|
|
|
|
- }
|
|
|
|
- $bnin = GoodStockInfo::AddBn($stockid, $ve['bnCode'], $tempnum, $ve['origin_price']);
|
|
|
|
- if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- $ve['updatetime'] = $date;
|
|
|
|
- $up = Db::name("sale_info")->save($ve);
|
|
|
|
- if ($up == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- $bnin = GoodStockInfo::ReturnBn($info['returnCode'], $ve['id'], $tempnum);
|
|
|
|
- if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- $bn = makeNo("BN");
|
|
|
|
- $bnin = GoodStockInfo::AddBn($stockid, $bn, $info['num'], $cgd['good_price'] ?? 0);
|
|
|
|
- if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => $stockid, "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
|
|
|
|
- GoodLog::LogAdd(['id' => $this->uid, 'nickname' => $this->uname], $good_data, 'XSTHD');
|
|
|
|
- } else {
|
|
|
|
- $sabebn = Db::name("sale_info")
|
|
|
|
- ->where(["orderCode" => $orderinfo["orderCode"]])
|
|
|
|
- ->select()
|
|
|
|
- ->toArray();
|
|
|
|
- if (!empty($sabebn)) {
|
|
|
|
- $total_num = $info['num'];
|
|
|
|
- foreach ($sabebn as $ve) {
|
|
|
|
- $stock = Db::name("good_stock")
|
|
|
|
- ->where(['is_del' => 0, "spuCode" => $orderinfo['good_code'], 'id' => $ve['stockid']])
|
|
|
|
- ->findOrEmpty();
|
|
|
|
- if ($stock == false) throw new Exception('商品库存数据未找到');
|
|
|
|
-
|
|
|
|
- $tempnum = 0;
|
|
|
|
- if ($total_num == 0) break;
|
|
|
|
- if ($total_num >= $ve['num']) {
|
|
|
|
- $tempnum = $ve['num'];
|
|
|
|
- $total_num -= $ve['num'];
|
|
|
|
- $ve['th_num'] += $ve['num'];
|
|
|
|
- $ve['num'] = 0;
|
|
|
|
- } else {
|
|
|
|
- $tempnum = $total_num;
|
|
|
|
- $ve['num'] -= $total_num;
|
|
|
|
- $ve['th_num'] += $total_num;
|
|
|
|
- $total_num = 0;
|
|
|
|
- }
|
|
|
|
- $stock['usable_stock'] += $tempnum;
|
|
|
|
- $stock['wait_out_stock'] -= $tempnum;
|
|
|
|
- $stock['updatetime'] = $date;
|
|
|
|
- $st_up = Db::name("good_stock")->save($stock);
|
|
|
|
- if ($st_up == false) throw new Exception('可售商品入库失败');
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- $bnin = GoodStockInfo::AddBn($ve['stock_id'], $ve['bnCode'], $tempnum, $ve['origin_price']);
|
|
|
|
- if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- $ve['updatetime'] = $date;
|
|
|
|
- $up = Db::name("sale_info")->save($ve);
|
|
|
|
- if ($up == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- $bnin = GoodStockInfo::ReturnBn($info['returnCode'], $ve['id'], $tempnum);
|
|
|
|
- if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
-
|
|
|
|
- $ordernum = Db::name("order_num")->where(['orderCode' => $orderinfo["orderCode"]])->findOrEmpty();
|
|
|
|
- if ($ordernum == false) throw new Exception('未找到关联采购单');
|
|
|
|
-
|
|
|
|
- $cgd = Db::name("purchease_order")
|
|
|
|
- ->where(["cgdNo" => $ordernum['cgdNo'], "is_del" => 0])
|
|
|
|
- ->findOrEmpty();
|
|
|
|
- if ($cgd == false) throw new Exception('未找到采购单数据');
|
|
|
|
-
|
|
|
|
- $bn = makeNo("BN");
|
|
|
|
- $stock = Db::name("good_stock")
|
|
|
|
- ->where(["spuCode" => $orderinfo['good_code'], 'wsm_code' => $cgd['wsm_code'], "is_del" => 0, "status" => 1])
|
|
|
|
- ->findOrEmpty();
|
|
|
|
- if ($stock == false) throw new Exception('商品库存数据未找到');
|
|
|
|
-
|
|
|
|
- $stock['usable_stock'] += $info['num'];
|
|
|
|
- $stock['wait_out_stock'] -= $info['num'];
|
|
|
|
- $stock['updatetime'] = $date;
|
|
|
|
- $st_up = Db::name("good_stock")->save($stock);
|
|
|
|
- if ($st_up == false) throw new Exception('可售商品入库失败');
|
|
|
|
-
|
|
|
|
- $yp = GoodStockInfo::AddBn($stock['id'], $bn, $info['num'], $cgd['good_price']);
|
|
|
|
- if ($yp == false) throw new Exception('商品批次退货入库失败');
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ //以下判断是当供应商不同意要退回到业务公司的时候触发的,在3.0系统中不需要了2023-02-09@by武
|
|
|
|
+// if ($orderinfo['is_stock'] == 1 || $info['is_th'] == 0) {
|
|
|
|
+//
|
|
|
|
+// if ($orderinfo['order_type'] != 1) {
|
|
|
|
+// if ($orderinfo['order_type'] == 3) {
|
|
|
|
+// $goon = Db::name("good_zixun")
|
|
|
|
+// ->where(["spuCode" => $orderinfo['good_code'], "is_del" => 0])
|
|
|
|
+// ->findOrEmpty();
|
|
|
|
+// $isZx = 1;
|
|
|
|
+// } else {
|
|
|
|
+// $goon = Db::name('good_basic')
|
|
|
|
+// ->where(['spuCode' => $orderinfo['good_code']])
|
|
|
|
+// ->findOrEmpty();
|
|
|
|
+// $isZx = 2;
|
|
|
|
+// }
|
|
|
|
+// $spuCode = $this->CheckGoodZx($goon, $isZx, $code);
|
|
|
|
+// $wsmcode = $info['return_wsm'];
|
|
|
|
+// if ($wsmcode == "") throw new Exception('未找到退货仓库');
|
|
|
|
+//
|
|
|
|
+// $stock = Db::name("good_stock")
|
|
|
|
+// ->where(['is_del' => 0, "spuCode" => $spuCode, 'wsm_code' => $wsmcode])
|
|
|
|
+// ->findOrEmpty();
|
|
|
|
+// if (empty($stock)) {
|
|
|
|
+// $stock = [
|
|
|
|
+// "spuCode" => $spuCode,
|
|
|
|
+// "wsm_code" => $wsmcode,
|
|
|
|
+// "usable_stock" => 0,
|
|
|
|
+// "wait_out_stock" => 0,
|
|
|
|
+// "wait_in_stock" => 0,
|
|
|
|
+// "total_stock" => 0,
|
|
|
|
+// "addtime" => $date,
|
|
|
|
+// "updatetime" => $date,
|
|
|
|
+// ];
|
|
|
|
+// }
|
|
|
|
+// $stock['usable_stock'] += $info['num'];
|
|
|
|
+// $stock['updatetime'] = $date;
|
|
|
|
+// $st_up = Db::name("good_stock")->save($stock);
|
|
|
|
+// if ($st_up == false) throw new Exception('可售商品入库失败');
|
|
|
|
+//
|
|
|
|
+// $stockid = isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID();
|
|
|
|
+// $sabebn = Db::name("sale_info")
|
|
|
|
+// ->where(["orderCode" => $orderinfo["orderCode"]])
|
|
|
|
+// ->select()
|
|
|
|
+// ->toArray();
|
|
|
|
+// if (!empty($sabebn)) {
|
|
|
|
+// $total_num = $info['num'];
|
|
|
|
+// foreach ($sabebn as $ve) {
|
|
|
|
+// $tempnum = 0;
|
|
|
|
+// if ($total_num == 0) break;
|
|
|
|
+// if ($total_num >= $ve['num']) {
|
|
|
|
+// $tempnum = $ve['num'];
|
|
|
|
+// $total_num -= $ve['num'];
|
|
|
|
+// $ve['th_num'] += $ve['num'];
|
|
|
|
+// $ve['num'] = 0;
|
|
|
|
+// } else {
|
|
|
|
+// $tempnum = $total_num;
|
|
|
|
+// $ve['num'] -= $total_num;
|
|
|
|
+// $ve['th_num'] += $total_num;
|
|
|
|
+// $total_num = 0;
|
|
|
|
+// }
|
|
|
|
+// $bnin = GoodStockInfo::AddBn($stockid, $ve['bnCode'], $tempnum, $ve['origin_price']);
|
|
|
|
+// if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// $ve['updatetime'] = $date;
|
|
|
|
+// $up = Db::name("sale_info")->save($ve);
|
|
|
|
+// if ($up == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// $bnin = GoodStockInfo::ReturnBn($info['returnCode'], $ve['id'], $tempnum);
|
|
|
|
+// if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// $bn = makeNo("BN");
|
|
|
|
+// $bnin = GoodStockInfo::AddBn($stockid, $bn, $info['num'], $cgd['good_price'] ?? 0);
|
|
|
|
+// if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => $stockid, "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
|
|
|
|
+// GoodLog::LogAdd(['id' => $this->uid, 'nickname' => $this->uname], $good_data, 'XSTHD');
|
|
|
|
+// } else {
|
|
|
|
+// $sabebn = Db::name("sale_info")
|
|
|
|
+// ->where(["orderCode" => $orderinfo["orderCode"]])
|
|
|
|
+// ->select()
|
|
|
|
+// ->toArray();
|
|
|
|
+// if (!empty($sabebn)) {
|
|
|
|
+// $total_num = $info['num'];
|
|
|
|
+// foreach ($sabebn as $ve) {
|
|
|
|
+// $stock = Db::name("good_stock")
|
|
|
|
+// ->where(['is_del' => 0, "spuCode" => $orderinfo['good_code'], 'id' => $ve['stockid']])
|
|
|
|
+// ->findOrEmpty();
|
|
|
|
+// if ($stock == false) throw new Exception('商品库存数据未找到');
|
|
|
|
+//
|
|
|
|
+// $tempnum = 0;
|
|
|
|
+// if ($total_num == 0) break;
|
|
|
|
+// if ($total_num >= $ve['num']) {
|
|
|
|
+// $tempnum = $ve['num'];
|
|
|
|
+// $total_num -= $ve['num'];
|
|
|
|
+// $ve['th_num'] += $ve['num'];
|
|
|
|
+// $ve['num'] = 0;
|
|
|
|
+// } else {
|
|
|
|
+// $tempnum = $total_num;
|
|
|
|
+// $ve['num'] -= $total_num;
|
|
|
|
+// $ve['th_num'] += $total_num;
|
|
|
|
+// $total_num = 0;
|
|
|
|
+// }
|
|
|
|
+// $stock['usable_stock'] += $tempnum;
|
|
|
|
+// $stock['wait_out_stock'] -= $tempnum;
|
|
|
|
+// $stock['updatetime'] = $date;
|
|
|
|
+// $st_up = Db::name("good_stock")->save($stock);
|
|
|
|
+// if ($st_up == false) throw new Exception('可售商品入库失败');
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// $bnin = GoodStockInfo::AddBn($ve['stock_id'], $ve['bnCode'], $tempnum, $ve['origin_price']);
|
|
|
|
+// if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// $ve['updatetime'] = $date;
|
|
|
|
+// $up = Db::name("sale_info")->save($ve);
|
|
|
|
+// if ($up == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// $bnin = GoodStockInfo::ReturnBn($info['returnCode'], $ve['id'], $tempnum);
|
|
|
|
+// if ($bnin == false) throw new Exception('可售商品Bn库存数入库失败');
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+//
|
|
|
|
+// $ordernum = Db::name("order_num")->where(['orderCode' => $orderinfo["orderCode"]])->findOrEmpty();
|
|
|
|
+// if ($ordernum == false) throw new Exception('未找到关联采购单');
|
|
|
|
+//
|
|
|
|
+// $cgd = Db::name("purchease_order")
|
|
|
|
+// ->where(["cgdNo" => $ordernum['cgdNo'], "is_del" => 0])
|
|
|
|
+// ->findOrEmpty();
|
|
|
|
+// if ($cgd == false) throw new Exception('未找到采购单数据');
|
|
|
|
+//
|
|
|
|
+// $bn = makeNo("BN");
|
|
|
|
+// $stock = Db::name("good_stock")
|
|
|
|
+// ->where(["spuCode" => $orderinfo['good_code'], 'wsm_code' => $cgd['wsm_code'], "is_del" => 0, "status" => 1])
|
|
|
|
+// ->findOrEmpty();
|
|
|
|
+// if ($stock == false) throw new Exception('商品库存数据未找到');
|
|
|
|
+//
|
|
|
|
+// $stock['usable_stock'] += $info['num'];
|
|
|
|
+// $stock['wait_out_stock'] -= $info['num'];
|
|
|
|
+// $stock['updatetime'] = $date;
|
|
|
|
+// $st_up = Db::name("good_stock")->save($stock);
|
|
|
|
+// if ($st_up == false) throw new Exception('可售商品入库失败');
|
|
|
|
+//
|
|
|
|
+// $yp = GoodStockInfo::AddBn($stock['id'], $bn, $info['num'], $cgd['good_price']);
|
|
|
|
+// if ($yp == false) throw new Exception('商品批次退货入库失败');
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
|
|
|
|
|
|
$data = [
|
|
$data = [
|