|
@@ -3439,7 +3439,7 @@ class Sale extends Base
|
|
|
}
|
|
|
$supplier_name = isset($this->post['supplier_name']) && $this->post['supplier_name'] !== "" ? trim($this->post['supplier_name']) : "";
|
|
|
if ($supplier_name !== "") {
|
|
|
- $where[] = ['wpo.supplier_name', "like", "%$supplier_name%"];
|
|
|
+ $where[] = ['b.supName', "like", "%$supplier_name%"];
|
|
|
}
|
|
|
$status = isset($this->post['status']) && $this->post['status'] !== "" ? trim($this->post['status']) : "";
|
|
|
if ($status !== "") {
|
|
@@ -3489,37 +3489,49 @@ class Sale extends Base
|
|
|
|
|
|
//只有level2的账号过滤数据权限
|
|
|
if ($this->level == 2) {
|
|
|
- $hand = resign_hand_user($this->uid, 0);
|
|
|
- $uidarr = implode(",", $hand);
|
|
|
- //库管只能看到库存品订单,供应商负责人只能看到非库存品订单
|
|
|
- if (!in_array($this->roleid, [1, 33])) {
|
|
|
- //库管看到所有的库存品发货申请单
|
|
|
- if (in_array($this->roleid, config('app.wsm_cgder_role'))) $condition .= " b.is_stock=1";
|
|
|
- else {
|
|
|
- $role = $this->checkDataShare();
|
|
|
- if (!empty($role[DataGroupModel::$type_全部])) {
|
|
|
- $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
|
|
|
- if ($condition != '') $condition .= " or ";
|
|
|
- $condition .= " a.apply_id in (" . implode(',', $arr) . ")";
|
|
|
- }
|
|
|
- }
|
|
|
-// $personid = Db::name('supplier')->field('id')->where(['is_del' => 0, 'personid' => $hand])->findOrEmpty();
|
|
|
- if (!empty($hand)) {
|
|
|
- if ($condition != '') $condition .= " or ";
|
|
|
-// $condition .= "(b.is_stock=0 and sip.personid in ($uidarr))";
|
|
|
|
|
|
- $person_supplier = Db::connect('mysql_sys')
|
|
|
- ->name('supplier')
|
|
|
- ->where(['is_del'=>0,'personid'=>$uidarr])
|
|
|
- ->column('code');
|
|
|
-
|
|
|
- $condition .= "(b.is_stock=0 and wpo.supplierNo in ('" . implode('\',\'', $person_supplier) . "'))";
|
|
|
- }
|
|
|
+ //如果是供应商负责人,根据供应商筛选
|
|
|
+ $person_supplier = Db::connect('mysql_sys')
|
|
|
+ ->name('supplier')
|
|
|
+ ->where(['is_del' => 0, 'personid' =>$this->uid])
|
|
|
+ ->column('code');
|
|
|
+
|
|
|
+ if(!empty($person_supplier)) $condition = "b.supNo in ('" . implode('\',\'', $person_supplier) . "')";
|
|
|
+ else{
|
|
|
+ //不是供应商负责人,根据数据权限筛选申请人
|
|
|
+ $role = $this->checkDataShare();
|
|
|
+ if (!empty($role[DataGroupModel::$type_全部])) $condition = " a.apply_id in (" . implode(',', $role[DataGroupModel::$type_全部]) . ")";
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- //供应商账号只能看到非库存品的订单
|
|
|
- if ($this->level == 3) $where[] = ['b.is_stock', '=', 0];
|
|
|
+
|
|
|
+// $hand = resign_hand_user($this->uid, 0);
|
|
|
+// $uidarr = implode(",", $hand);
|
|
|
+// //库管只能看到库存品订单,供应商负责人只能看到非库存品订单
|
|
|
+// if (!in_array($this->roleid, [1, 33])) {
|
|
|
+// //库管看到所有的库存品发货申请单
|
|
|
+// if (in_array($this->roleid, config('app.wsm_cgder_role'))) $condition .= " b.is_stock=1";
|
|
|
+// else {
|
|
|
+// $role = $this->checkDataShare();
|
|
|
+// if (!empty($role[DataGroupModel::$type_全部])) {
|
|
|
+// $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
|
|
|
+// if ($condition != '') $condition .= " or ";
|
|
|
+// $condition .= " a.apply_id in (" . implode(',', $arr) . ")";
|
|
|
+// }
|
|
|
+// }
|
|
|
+//// $personid = Db::name('supplier')->field('id')->where(['is_del' => 0, 'personid' => $hand])->findOrEmpty();
|
|
|
+// if (!empty($hand)) {
|
|
|
+// if ($condition != '') $condition .= " or ";
|
|
|
+//// $condition .= "(b.is_stock=0 and sip.personid in ($uidarr))";
|
|
|
+//
|
|
|
+// $person_supplier = Db::connect('mysql_sys')
|
|
|
+// ->name('supplier')
|
|
|
+// ->where(['is_del'=>0,'personid'=>$uidarr])
|
|
|
+// ->column('code');
|
|
|
+//
|
|
|
+// $condition .= "(b.is_stock=0 and wpo.supplierNo in ('" . implode('\',\'', $person_supplier) . "'))";
|
|
|
+// }
|
|
|
+// }
|
|
|
+ }
|
|
|
|
|
|
// if(!empty($role['platform']) ){
|
|
|
// $where[]=["b.platform_id","in",$role['platform']];
|
|
@@ -3545,11 +3557,11 @@ class Sale extends Base
|
|
|
// ->join("customer_info v", "v.companyNo=b.customer_code", "left")
|
|
|
->join("warehouse_info n", "n.wsm_code=a.wsm_code", "left")
|
|
|
->leftJoin("order_send os", "os.outCode=a.outCode")
|
|
|
- ->leftJoin("purchease_order wpo", "wpo.cgdNo=os.cgdNo")
|
|
|
+// ->leftJoin("purchease_order wpo", "wpo.cgdNo=os.cgdNo")
|
|
|
// ->leftJoin('supplier sip', 'sip.code=wpo.supplierNo')
|
|
|
->where($where)
|
|
|
->where($condition)
|
|
|
- ->count();
|
|
|
+ ->count('a.id');
|
|
|
$total = ceil($count / $size);
|
|
|
$page = $page >= $total ? $total : $page;
|
|
|
$list = Db::name('order_out')
|
|
@@ -3558,9 +3570,9 @@ class Sale extends Base
|
|
|
// ->join("customer_info v", "v.companyNo=b.customer_code", "left")
|
|
|
->join("warehouse_info n", "n.wsm_code=a.wsm_code AND n.is_del=0", "left")
|
|
|
->leftJoin("order_send os", "os.outCode=a.outCode")
|
|
|
- ->leftJoin("purchease_order wpo", "wpo.cgdNo=os.cgdNo")
|
|
|
+// ->leftJoin("purchease_order wpo", "wpo.cgdNo=os.cgdNo")
|
|
|
// ->leftJoin('supplier sip', 'sip.code=wpo.supplierNo')
|
|
|
- ->field("a.*,b.order_type,b.order_source,b.good_name,b.good_code,b.skuCode,b.customer_code,b.supplierNo companyNo,b.supplierName companyName,b.origin_price,b.sale_price,b.total_price,os.cgdNo,wpo.supplierNo,n.supplierNo wsm_supplierNo")
|
|
|
+ ->field("a.*,b.order_type,b.order_source,b.good_name,b.good_code,b.skuCode,b.customer_code,b.supplierNo companyNo,b.supplierName companyName,b.origin_price,b.sale_price,b.total_price,os.cgdNo,b.supNo supplierNo,n.supplierNo wsm_supplierNo")
|
|
|
->where($where)
|
|
|
->where($condition)
|
|
|
->order("addtime desc")
|
|
@@ -3576,6 +3588,8 @@ class Sale extends Base
|
|
|
// $userCommon = \app\admin\common\User::getIns();
|
|
|
// $names = $userCommon->handle('getCodeAndName',['code'=>array_column($list,'customer_code')]);
|
|
|
|
|
|
+ $has_account = checkHasAccountBySupplierNos(array_unique(array_column($list,'wsm_supplierNo')));
|
|
|
+
|
|
|
$data = [];
|
|
|
foreach ($list as $value) {
|
|
|
|
|
@@ -3606,7 +3620,7 @@ class Sale extends Base
|
|
|
} else {
|
|
|
$goon = Db::name('good_platform')->field('a.id,b.cat_id')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')->where(['a.skuCode' => $value['skuCode']])->find();
|
|
|
}
|
|
|
- $value['wsm_has_account'] = 0;//(int)isset(checkHasAccountBySupplierNos([$wsmcode['wsm_supplierNo']])[$wsmcode['wsm_supplierNo']]);
|
|
|
+ $value['wsm_has_account'] = (int)isset($has_account[$value['wsm_supplierNo']]);
|
|
|
$value['addr'] = isset($addr['addr']) ? $addr['addr_cn'] . $addr['addr'] : "";
|
|
|
$value['contactor'] = isset($addr['contactor']) ? $addr['contactor'] : "";
|
|
|
$value['mobile'] = isset($addr['mobile']) ? $addr['mobile'] : "";
|