Browse Source

Merge branch 'master-new-dev-wf' of wugg/phpstock into master-new

wufeng 2 years ago
parent
commit
e457f5116a

+ 56 - 27
app/admin/controller/SaleReport.php

@@ -2,8 +2,8 @@
 
 namespace app\admin\controller;
 
-use app\abutment\model\SupplierRelationUser;
-use app\abutment\model\SupplierUser;
+//use app\abutment\model\SupplierRelationUser;
+//use app\abutment\model\SupplierUser;
 use think\facade\Db;
 
 //前端报表处理类
@@ -2186,20 +2186,20 @@ class SaleReport extends Base
 
         $data = Db::name('order_out')
             ->alias('a')
-            ->field('a.addtime,a.orderCode,a.sendtime,a.outCode,a.status,b.good_name,b.sale_price,a.send_num,a.apply_name,ci.name apply_company,c.person cgder,a.post_name,a.post_code,oa.contactor,oa.mobile,oa.addr,oa.addr_code,a.remark,b.order_type')
+            ->field('a.addtime,a.orderCode,a.sendtime,a.outCode,a.status,b.good_name,b.sale_price,a.send_num,a.apply_name,ci.name apply_company,"" cgder,a.post_name,a.post_code,oa.contactor,oa.mobile,oa.addr,oa.addr_code,a.remark,b.order_type,po.supplierNo')
             ->leftJoin("sale b", "b.orderCode=a.orderCode")
             ->leftJoin("order_send os", "os.outCode=a.outCode")
             ->leftJoin("purchease_order po", "po.cgdNo=os.cgdNo")
             ->leftJoin("order_addr oa", "oa.id=a.addrid")
             ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
             ->leftJoin("company_item ci", "ci.id=u.itemid")
-            ->leftJoin("supplier c", "c.code=po.supplierNo")
+//            ->leftJoin("supplier c", "c.code=po.supplierNo")
             ->where($where)
             ->page($param['page'], $param['size'])
             ->order("a.addtime desc")
             ->cursor();
 
-        $list = [];
+        $list = $tmp=[];
         foreach ($data as $value) {
 
             $value['send_total_price'] = round($value['send_num'] * $value['sale_price'], 2);
@@ -2213,10 +2213,20 @@ class SaleReport extends Base
             }
 
             $value['addr'] = GetAddr($value['addr_code']) . $value['addr'];
+            if(!isset($tmp[$value['supplierNo']])) $tmp[$value['supplierNo']] = $value['supplierNo'];
 
             $list[] = $value;
         }
 
+        $person = \app\admin\common\User::getIns()->handle('sGetList',['more_code'=>array_values($tmp),'size'=>count($tmp)]);
+        $person = array_column($person['data']['list'],'person','code');
+        foreach ($list as &$value){
+            $value['cgder'] = $person[$value['supplierNo']]??'';
+        }
+
+        unset($tmp);
+        unset($person);
+
         return app_show(0, '请求成功', ['list' => $list, 'count' => $count]);
 
     }
@@ -2236,19 +2246,19 @@ class SaleReport extends Base
 
         $data = Db::name('order_out')
             ->alias('a')
-            ->field('a.addtime 下单日期,a.orderCode 订单编号,a.sendtime 发货时间,a.outCode 发货申请单号,a.status 发货申请单状态,b.good_name 商品名称,b.sale_price 产品单价,a.send_num 发货数量,"" 发货申请单总价,a.apply_name 申请人,ci.name 部门,c.person 采购员,a.post_name 快递公司,a.post_code 快递单号,oa.contactor 收货人,oa.mobile 收货电话,oa.addr 收货地址,oa.addr_code,a.remark 备注,b.order_type 订单类型')
+            ->field('a.addtime 下单日期,a.orderCode 订单编号,a.sendtime 发货时间,a.outCode 发货申请单号,a.status 发货申请单状态,b.good_name 商品名称,b.sale_price 产品单价,a.send_num 发货数量,"" 发货申请单总价,a.apply_name 申请人,ci.name 部门,"" 采购员,a.post_name 快递公司,a.post_code 快递单号,oa.contactor 收货人,oa.mobile 收货电话,oa.addr 收货地址,oa.addr_code,a.remark 备注,b.order_type 订单类型,po.supplierNo')
             ->leftJoin("sale b", "b.orderCode=a.orderCode")
             ->leftJoin("order_send os", "os.outCode=a.outCode")
             ->leftJoin("purchease_order po", "po.cgdNo=os.cgdNo")
             ->leftJoin("order_addr oa", "oa.id=a.addrid")
             ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
             ->leftJoin("company_item ci", "ci.id=u.itemid")
-            ->leftJoin("supplier c", "c.code=po.supplierNo")
+//            ->leftJoin("supplier c", "c.code=po.supplierNo")
             ->where($where)
             ->order("a.addtime desc")
             ->cursor();
 
-        $list = [];
+        $list = $tmp = [];
         foreach ($data as $value) {
 
             $value['发货申请单总价'] = round(bcmul($value['发货数量'], $value['产品单价'], 3), 2);
@@ -2264,11 +2274,23 @@ class SaleReport extends Base
 
             $value['收货地址'] = GetAddr($value['addr_code']) . $value['收货地址'];
 
+            if(!isset($tmp[$value['supplierNo']])) $tmp[$value['supplierNo']] = $value['supplierNo'];
+
             unset($value['addr_code']);
+            unset($value['supplierNo']);
 
             $list[] = $value;
         }
 
+        $person = \app\admin\common\User::getIns()->handle('sGetList',['more_code'=>array_values($tmp),'size'=>count($tmp)]);
+        $person = array_column($person['data']['list'],'person','code');
+        foreach ($list as &$value){
+            $value['采购员'] = $person[$value['supplierNo']]??'';
+        }
+
+        unset($tmp);
+        unset($person);
+
         if (empty($list)) $list[] = ['没有相关可导出的数据'];
         excelSave('直接发货申请单统计' . date('YmdHis'), array_keys($list[0]), $list);
 
@@ -2499,9 +2521,10 @@ class SaleReport extends Base
         $list = [];
 //        $total = ['cat_1' => '总计', 'cat_2' => '', 'cat_3' => '', 'tag_1' => 0, 'tag_2' => 0, 'tag_3' => 0, 'tag_supplier' => 0, 'tag_person' => 0, 'tag_logistics' => 0, 'tag_total' => 0];
 
-        $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
-            ->group('supplierNo')
-            ->column('supplierNo');
+//        $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
+//            ->group('supplierNo')
+//            ->column('supplierNo');
+        $has_sup_acc=checkHasAccountBySupplierNos();
 
         foreach ($data as $val) {
 
@@ -2527,7 +2550,7 @@ class SaleReport extends Base
                     break;
                 case 2: //非库存品
                 case 3: //咨询采反
-                    if (in_array($val['supplierNo'], $supplierNos)) $list[$val['cat_id']]['tag_supplier']++;
+                    if (in_array($val['supplierNo'], $has_sup_acc)) $list[$val['cat_id']]['tag_supplier']++;
                     else $list[$val['cat_id']]['tag_person']++;
                     break;
 
@@ -2562,9 +2585,11 @@ class SaleReport extends Base
             ->where($where)
             ->cursor();
 
-        $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
-            ->group('supplierNo')
-            ->column('supplierNo');
+        $has_sup_acc=checkHasAccountBySupplierNos();
+
+//        $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
+//            ->group('supplierNo')
+//            ->column('supplierNo');
 
         $list = [];
 
@@ -2598,12 +2623,12 @@ class SaleReport extends Base
                 case 2:
                     $list[$val['cat_id']]['非库存品']++;
 //                    $total['非库存品']++;
-                    if (in_array($val['supplierNo'], $supplierNos)) $list[$val['cat_id']]['供应商发货']++;
+                    if (in_array($val['supplierNo'], $has_sup_acc)) $list[$val['cat_id']]['供应商发货']++;
                     else $list[$val['cat_id']]['负责人发货']++;
                     break;
                 case 3:
                     $list[$val['cat_id']]['咨询采反']++;
-                    if (in_array($val['supplierNo'], $supplierNos)) $list[$val['cat_id']]['供应商发货']++;
+                    if (in_array($val['supplierNo'], $has_sup_acc)) $list[$val['cat_id']]['供应商发货']++;
                     else $list[$val['cat_id']]['负责人发货']++;
 //                    $total['咨询采反']++;
                     break;
@@ -2803,11 +2828,13 @@ class SaleReport extends Base
         if ($param['start_day'] != '' && $param['end_day'] != '') $where[] = ['a.addtime', 'between', [$param['start_day'] . ' 00:00:00', $param['end_day'] . ' 23:59:59']];
 
         if ($param['flag'] != '') {
-            $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
-                ->group('supplierNo')
-                ->column('supplierNo');
-            if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', $supplierNos];//1.开通账号的
-            else $where[] = ['a.supplierNo', 'not in', $supplierNos];//2.未开通账号的
+//            $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
+//                ->group('supplierNo')
+//                ->column('supplierNo');
+            $has_sup_acc = checkHasAccountBySupplierNos();
+
+            if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', array_keys($has_sup_acc)];//1.开通账号的
+            else $where[] = ['a.supplierNo', 'not in', array_keys($has_sup_acc)];//2.未开通账号的
         }
 
         $data = Db::name('purchease_order')
@@ -2903,11 +2930,13 @@ class SaleReport extends Base
         if ($param['start_day'] != '' && $param['end_day'] != '') $where[] = ['a.addtime', 'between', [$param['start_day'] . ' 00:00:00', $param['end_day'] . ' 23:59:59']];
 
         if ($param['flag'] != '') {
-            $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
-                ->group('supplierNo')
-                ->column('supplierNo');
-            if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', $supplierNos];//1.开通账号的
-            else $where[] = ['a.supplierNo', 'not in', $supplierNos];//2.未开通账号的
+//            $supplierNos = SupplierRelationUser::where(['is_del' => SupplierUser::$is_del_normal, 'status' => SupplierUser::$status_normal])
+//                ->group('supplierNo')
+//                ->column('supplierNo');
+            $has_sup_acc = checkHasAccountBySupplierNos();
+
+            if ($param['flag'] == 1) $where[] = ['a.supplierNo', 'in', array_keys($has_sup_acc)];//1.开通账号的
+            else $where[] = ['a.supplierNo', 'not in', array_keys($has_sup_acc)];//2.未开通账号的
         }
 
         $data = Db::name('purchease_order')

+ 1 - 1
app/admin/controller/UserCompanyBasic.php

@@ -14,7 +14,7 @@ class UserCompanyBasic extends Base
     public function getList()
     {
 
-        $param = $this->request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10, 'level' => '2', 'companyNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['nickname' => '', 'username' => '', 'status' => '', 'page' => 1, 'size' => 10, 'level' => '2,3', 'companyNo' => ''], 'post', 'trim');
 
         if ($param['level'] == 1) return json_show(1004, '这里不能查看超管账号');//排除超管账号
 

+ 2 - 3
app/admin/controller/WareHouse.php

@@ -355,8 +355,7 @@ class WareHouse extends Base
 //        }
 
         $userCommon = \app\admin\common\User::getIns();
-        $tmp = $userCommon->handle('bInfo',['companyNo'=>$companyNo]);
-        if(!isset($tmp['code']) || $tmp['code']!=0) return json_show($tmp['code'],$tmp['message'],$tmp['data']);
+        $tmp = $userCommon->handle('getCodeAndName',['code'=>$companyNo]);
         if(empty($tmp['data'])) return json_show(1004,'业务企业未找到');
 
         $user = $userCommon->handle('userinfo',['id'=>$contactor]);
@@ -386,7 +385,7 @@ class WareHouse extends Base
                 'mobile'=>$mobile,
                 'position'=>$position,
                 'companyNo' => $companyNo,
-                'companyName' => $tmp['data']['name'],
+                'companyName' => $tmp['data'][$companyNo],
                 'updaterid'=>$this->uid,
                 'updater'=>$this->uname,
                 "addrs_code"=>json_encode($addrs_code),