|
|
@@ -30,6 +30,7 @@ use App\Warehouse;
|
|
|
use Carbon\Carbon;
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
use Illuminate\Support\Collection;
|
|
|
+use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use App\Traits\ServiceAppAop;
|
|
|
@@ -88,6 +89,7 @@ class OrderService
|
|
|
$ordernos = $params["ordernos"] ?? null;
|
|
|
$edisendflag2=$params["edisendflag2"] ?? null;
|
|
|
$edisendflag=$params["edisendflag"] ?? null;
|
|
|
+ $manualflag=$params["manualflag"] ?? null;
|
|
|
$checkAllSign = $params['checkAllSign'] ?? null;
|
|
|
if ($ordernos){
|
|
|
$sql .= " AND orderno IN ".$ordernos;
|
|
|
@@ -219,6 +221,7 @@ class OrderService
|
|
|
}
|
|
|
if ($edisendflag2) $sql.=" and edisendflag2 like '".$edisendflag2."%'";
|
|
|
if ($edisendflag) $sql.=" and edisendflag like '".$edisendflag."%'";
|
|
|
+ if ($manualflag) $sql.=" and manualflag = '".$manualflag."'";
|
|
|
if ($soreference1){
|
|
|
$arr=array_values(array_filter(preg_split('/[,, ]+/is', $soreference1)));
|
|
|
if (count($arr)==1){
|
|
|
@@ -252,10 +255,10 @@ class OrderService
|
|
|
if ($ordernos)$params['ordernos'] = $ordernos;
|
|
|
else return null;
|
|
|
}
|
|
|
- $sql="SELECT * FROM (select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID as header_customer_id
|
|
|
+ $sql="SELECT * FROM (select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.MANUALFLAG,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID as header_customer_id
|
|
|
,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,DOC_ORDER_HEADER.EDIREMARKS2,
|
|
|
DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
|
|
|
- ,NVL(ACT_ALLOCATION_DETAILS.PICKTOTRACEID,DOC_ORDER_HEADER.soreference5) as soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
|
|
|
+ ,NVL(DOC_ORDER_HEADER.soreference5,ACT_ALLOCATION_DETAILS.PICKTOTRACEID) as soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
|
|
|
DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG
|
|
|
,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,DOC_ORDER_HEADER.OrderTime,DOC_Order_Details.CustomerID,
|
|
|
DOC_Order_Details.SKU,DOC_Order_Details.QtyOrdered,DOC_Order_Details.LOTNUM,DOC_Order_Details.LineStatus,DOC_Order_Details.OrderLineNo,order_code.codename_c as orderCodeName,
|
|
|
@@ -264,7 +267,7 @@ class OrderService
|
|
|
$sql=$this->preciseQuery($params,$sql);
|
|
|
;$sql.=" ) as counted from (";
|
|
|
if ($paginate && $page)$sql.=" select * from (";
|
|
|
- $sql.=" select ROWNUM as rn,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
|
|
|
+ $sql.=" select ROWNUM as rn,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.MANUALFLAG,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
|
|
|
,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
|
|
|
DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
|
|
|
,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
|
|
|
@@ -295,10 +298,10 @@ class OrderService
|
|
|
left join BAS_SKU on DOC_Order_Details.CustomerID=BAS_SKU.CustomerID and DOC_Order_Details.SKU=BAS_SKU.SKU
|
|
|
left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno = ACT_ALLOCATION_DETAILS.orderno
|
|
|
and DOC_Order_Details.ORDERLINENO = ACT_ALLOCATION_DETAILS.ORDERLINENO
|
|
|
- GROUP BY ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,
|
|
|
+ GROUP BY ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.MANUALFLAG,
|
|
|
DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,
|
|
|
DOC_ORDER_HEADER.CustomerID,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
|
|
|
- DOC_ORDER_HEADER.EDIREMARKS2,DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1, NVL(ACT_ALLOCATION_DETAILS.PICKTOTRACEID,DOC_ORDER_HEADER.soreference5),
|
|
|
+ DOC_ORDER_HEADER.EDIREMARKS2,DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1, NVL(DOC_ORDER_HEADER.soreference5,ACT_ALLOCATION_DETAILS.PICKTOTRACEID),
|
|
|
DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
|
|
|
DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,
|
|
|
DOC_ORDER_HEADER.OrderTime,DOC_Order_Details.CustomerID,DOC_Order_Details.SKU,DOC_Order_Details.QtyOrdered,DOC_Order_Details.LOTNUM,
|
|
|
@@ -1504,4 +1507,39 @@ sql;
|
|
|
else $order->is_order_issue = false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param $orderno
|
|
|
+ * @return bool
|
|
|
+ * 一键回传 调用flux的sp
|
|
|
+ */
|
|
|
+ public function manualBack($orderno): bool
|
|
|
+ {
|
|
|
+ $who = 'WAS' . (Auth::user() ? '-' . Auth::user()["name"] : '');
|
|
|
+ $host=config('database.connections.oracle.host');
|
|
|
+ $serviceName=config('database.connections.oracle.service_name');
|
|
|
+ $user=config('database.connections.oracle.username');
|
|
|
+ $password=config('database.connections.oracle.password');
|
|
|
+ $conn=oci_connect($user,$password,$host.'/'.$serviceName,'utf8');
|
|
|
+ $IN_WarehouseID='';
|
|
|
+ $IN_OrderNo=$orderno;
|
|
|
+ $IN_Language='';
|
|
|
+ $IN_UserID=$who;
|
|
|
+ $OUT_Return_Code='';
|
|
|
+ $sql_sp="begin SPSOUDF_BS_ManualCF(:IN_WarehouseID,:IN_OrderNo,:IN_Language,:IN_UserID,:OUT_Return_Code); end;";
|
|
|
+ $stmt = oci_parse($conn, $sql_sp);
|
|
|
+ oci_bind_by_name($stmt,':IN_WarehouseID',$IN_WarehouseID);
|
|
|
+ oci_bind_by_name($stmt,':IN_OrderNo',$IN_OrderNo);
|
|
|
+ oci_bind_by_name($stmt, ':IN_Language', $IN_Language);
|
|
|
+ oci_bind_by_name($stmt, ':IN_UserID', $IN_UserID);
|
|
|
+ oci_bind_by_name($stmt, ':OUT_Return_Code', $OUT_Return_Code,300);
|
|
|
+ oci_execute($stmt);
|
|
|
+
|
|
|
+ if (substr($OUT_Return_Code,0,3) != '000'){
|
|
|
+ app('LogService')->log(__METHOD__,'调用sp一键回传订单失败'.__FUNCTION__,"ORDERNO:".$orderno."ERROR:".$OUT_Return_Code);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ oci_close($conn);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|