wugg 2 years ago
parent
commit
2a7b473ef0

+ 4 - 0
app/admin/controller/After.php

@@ -322,6 +322,9 @@ class After extends Base
 
 //        $userCommon = \app\admin\common\User::getIns();
 //        $customer_ = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($list, 'customer_code'), array_column($list, 'supplierNo')))]);
+        //校验是否开通了供应商账号
+        $supp_account = checkHasAccountBySupplierNos(array_unique(array_column($list,'supplierNo')));
+
 
         $data = [];
         foreach ($list as $value) {
@@ -329,6 +332,7 @@ class After extends Base
 //            $value['customer_name'] = $customer_['data'][$value['customer_code']] ?? '';
 //            $value['supplierName'] = $customer_['data'][$value['supplierNo']] ?? '';
             $value['company_name'] = $item[$value['apply_id']] ?? '';
+            $value['has_account'] = (int)isset($supp_account[$value['supplierNo']]);
 
             //是否具有编辑权限
 //            $value['is_allow_update'] = 0;

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

@@ -537,7 +537,7 @@ class AfterChild extends Base
 
         $info = Db::name('order_return_child')
             ->alias('a')
-            ->where(['a,is_del' => 0, 'a.id' => $param['id']])
+            ->where(['a.is_del' => 0, 'a.id' => $param['id']])
             ->findOrEmpty();
 
         if (empty($info)) return json_show(1004, '该退货工单不存在');

+ 4 - 0
app/admin/controller/OrderOutChild.php

@@ -100,11 +100,15 @@ class OrderOutChild extends Base
         $all_apply_id = array_column($list, 'apply_id');
         $company_name = get_company_name_by_uid($all_apply_id);
 
+        //校验是否开通了供应商账号
+        $supp_account = checkHasAccountBySupplierNos(array_unique(array_column($list,'supplierNo')));
+
         $data = [];
         foreach ($list as $value) {
 
             $value['company_name'] = $company_name[$value['apply_id']] ?? '';
 
+            $value['has_account'] = (int)isset($supp_account[$value['supplierNo']]);
             $data[] = $value;
         }
 

+ 22 - 11
app/admin/controller/Purchin.php

@@ -142,7 +142,7 @@ class Purchin extends Base
             ->where($where)
              ->where(function ($query)use ($condition){$query->whereOr($condition);})
             ->page($page,$size)
-            ->field("a.apply_name,a.sendtime,b.order_type,b.order_source,a.status,a.cgdNo,a.wsm_in_code,a.send_num,a.wsm_code,b.good_name,b.spuCode,a.post_company,a.post_code,a.post_fee,a.apply_id,a.wsm_num,a.error_num,a.wait_num,a.status,a.check_name,a.checkid,b.bkcode,b.supplierNo,'' cgder_id,'' cgder,b.good_createrid,b.good_creater,c.name wsm_name,b.supplierNo,b.supplier_name,c.supplierNo wsm_supplierNo,b.companyNo")
+            ->field("a.apply_name,a.sendtime,b.order_type,b.order_source,a.status,a.cgdNo,a.wsm_in_code,a.send_num,a.wsm_code,b.good_name,b.spuCode,a.post_company,a.post_code,a.post_fee,a.apply_id,a.wsm_num,a.error_num,a.wait_num,a.status,a.check_name,a.checkid,b.bkcode,'' cgder_id,'' cgder,b.good_createrid,b.good_creater,c.name wsm_name,b.supplierNo,b.supplier_name,c.supplierNo wsm_supplierNo,c.supplierName wsm_supplier,b.companyNo,b.companyName")
             ->order("a.addtime desc")
             ->select()
             ->toArray();
@@ -152,11 +152,15 @@ class Purchin extends Base
 
         //获取采购单供应商和仓库供应商的名称
         $userCommon = \app\admin\common\User::getIns();
-        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_merge(array_column($list,'companyNo'),array_column($list,'wsm_supplierNo')))]);
+//        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_column($list,'wsm_supplierNo'))]);
+        $all_supplierNos = array_unique(array_column($list,'supplierNo'));
 
-        $all_supplier = $userCommon->handle('sGetList',['more_code'=>array_column($list,'supplierNo'),'page'=>1,'size'=>$size]);
+        $all_supplier = $userCommon->handle('sGetList',['more_code'=>$all_supplierNos,'page'=>1,'size'=>$size]);
         $all_supplier_list = array_column($all_supplier['data']['list'],null,'code');
 
+        //校验是否开通了供应商账号
+        $supp_account = checkHasAccountBySupplierNos($all_supplierNos);
+
         $data=[];
         foreach ($list as $value){
 
@@ -211,8 +215,8 @@ class Purchin extends Base
 //                ->field("k.name as wsm_name,c.name,c.code")
 //                ->find();
 //            $value['wsm_name'] = $wsmcode['wsm_name'];
-            $value['wsm_supplier'] = $names['data'][$value['wsm_supplierNo']]??'';
-            $value['companyName'] = $names['data'][$value['companyNo']]??'';
+//            $value['wsm_supplier'] = $names['data'][$value['wsm_supplierNo']]??'';
+//            $value['companyName'] = $names['data'][$value['companyNo']]??'';
 //            $value['wsm_supplierNo'] = $wsmcode['code'];
 
             $value['company_name'] = $item[$value['apply_id']]??'';
@@ -221,6 +225,8 @@ class Purchin extends Base
 //            $value['is_allow_update'] = 0;
 //            if (in_array($this->roleid, [1, 33]) || in_array($value['apply_id'], $role[DataGroupModel::$type_可编辑])) $value['is_allow_update'] = 1;
 
+            $value['has_account'] = (int)isset($supp_account[$value['supplierNo']]);
+
             $data[]=$value;
         }
 
@@ -1942,24 +1948,29 @@ class Purchin extends Base
             ->leftJoin("good_basic c","c.spuCode=b.spuCode")
             ->where($where)
             ->page($page,$size)
-            ->field("a.*,b.spuCode,b.good_price,b.order_type,b.good_price,b.total_fee,b.good_name,b.order_source,c.is_stock,b.supplierNo,b.supplier_name,b.companyNo")
+            ->field("a.*,b.spuCode,b.good_price,b.order_type,b.good_price,b.total_fee,b.good_name,b.order_source,c.is_stock,b.supplierNo,b.supplier_name,b.companyNo,b.companyName")
             ->order("a.addtime desc")
             ->select()
             ->toArray();
         $data=[];
 
-        $userCommon = \app\admin\common\User::getIns();
-        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_column($list,'companyNo'))]);
+//        $userCommon = \app\admin\common\User::getIns();
+//        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_column($list,'companyNo'))]);
 
+        //校验是否开通了供应商账号
+        $supp_account = checkHasAccountBySupplierNos(array_unique(array_column($list,'supplierNo')));
+        
         foreach ($list as $value){
             if (in_array($value['order_type'], [3, 4])) {
-                $goon = Db::name("good_zixun")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
+                $goon = Db::name("good_zixun")->field('cat_id')->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
             }else {
-                $goon =Db::name('good_basic')->where(['spuCode'=>$value['spuCode']])->find();
+                $goon =Db::name('good_basic')->field('cat_id')->where(['spuCode'=>$value['spuCode']])->find();
             }
             $value['can']= isset($goon['cat_id']) && $goon['cat_id'] !=0 ? made($goon['cat_id']):[];
             $value['return_fee']= round($value['good_price']*$value['return_num'],2);
-            $value['companyName'] = $names['data'][$value['companyNo']]??'';
+
+
+            $value['has_account'] = (int)isset($supp_account[$value['supplierNo']]);
 
             $data[]=$value;
         }

+ 4 - 0
app/admin/controller/Reorder.php

@@ -514,6 +514,9 @@ class Reorder extends Base
 //		 $userCommon = \app\admin\common\User::getIns();
 //        $names = $userCommon->handle('getCodeAndName',['code'=>array_merge(array_column($list,'supplierNo'),array_column($list,'customer_code'))]);
 
+        //校验是否开通了供应商账号
+        $supp_account = checkHasAccountBySupplierNos(array_unique(array_column($list,'supplierNo')));
+
         $data = [];
         foreach ($list as $value) {
 //            $value['error_msg']='';
@@ -531,6 +534,7 @@ class Reorder extends Base
             //是否具有编辑权限
 //            $value['is_allow_update'] = 0;
 //            if (in_array($this->roleid, [1, 33]) || in_array($value['apply_id'], $role[DataGroupModel::$type_可编辑])) $value['is_allow_update'] = 1;
+            $value['has_account'] = (int)isset($supp_account[$value['supplierNo']]);
 
             $data[] = $value;
         }

+ 76 - 25
app/admin/controller/ReorderChild.php

@@ -71,7 +71,7 @@ class ReorderChild extends Base
                     'orderCode' => $saleReturn['orderCode'],
                     'returnCode' => $param['returnCode'],
                     'outCode' => $param['type'] == 2 ? $orderOutChild[$value['outChildCode']]['outCode'] : '',
-                    'outChildCode' => $value['outChildCode'],
+                    'outChildCode' => $value['outChildCode'] ?? '',
                     'order_out_child_status' => $param['type'] == 2 ? $orderOutChild[$value['outChildCode']]['status'] : '',
                     'saleReturnChildCode' => substr(makeNo('KCC'), 0, -2) . str_pad($i++, 2, '0', STR_PAD_LEFT),
                     'type' => $param['type'],
@@ -148,7 +148,7 @@ class ReorderChild extends Base
     //库管收货(退货工单)
     public function receive()
     {
-        $param = $this->request->only(['id', 'good_receive_type', 'loss_num', 'remark' => '', 'record' => ''], 'post', 'trim');
+        $param = $this->request->only(['id', 'good_receive_type', 'loss_num', 'remark' => ''], 'post', 'trim');
 
         $val = Validate::rule([
             'id|ID' => 'require|number|gt:0',
@@ -168,7 +168,7 @@ class ReorderChild extends Base
             ->where(['a.is_del' => 0, 'a.id' => $param['id']])
             ->findOrEmpty();
         if (empty($info)) return json_show(1004, '该退货工单不存在');
-        if ($info['status'] == 1) return json_show(1004, '该退货工单已收货');
+        if ($info['status'] != 1) return json_show(1004, '该退货工单已收货');
         if ($param['loss_num'] > $info['num']) return json_show(1004, '丢失数量大于下单数量');
 
         Db::startTrans();
@@ -186,7 +186,6 @@ class ReorderChild extends Base
                     'good_receive_type' => $param['good_receive_type'],
                     'loss_num' => $param['loss_num'],
                     'remark' => $param['remark'],
-                    'record' => $param['record']
                 ]);
 
             //检查所属销售单的退货工单是否全部完成退货
@@ -202,18 +201,25 @@ class ReorderChild extends Base
                 //维护销售单
                 $order = Db::name('sale')->where(['is_del' => 0, 'id' => $info['saleid']])->findOrEmpty();
                 //未发货数量要减去发货单上的发货数量
-                $out_send_num = Db::name('order_out')
-                    ->where(['is_del' => 0, 'orderCode' => $info['orderCode'], 'status' => [0, 1]])
-                    ->sum('send_num');
+//                $out_send_num = Db::name('order_out')
+//                    ->where(['is_del' => 0, 'orderCode' => $info['orderCode'], 'status' => [0, 1]])
+//                    ->sum('send_num');
 
-                $order['wsend_num'] -= $out_send_num;
+//                $order['wsend_num'] -= $out_send_num;
 
                 $thnum = $info['thnum'];//退货总数量
-                if ($order['wsend_num'] < $thnum) throw new Exception("销售单未发货数量不足退货");
+//                if ($order['wsend_num'] < $thnum) throw new Exception("销售单未发货数量不足退货");
+
+                //如果  发货  维护销售单的
+                //else 未发货数量减,
+                if ($info['order_out_status'] == 1) {
+                    $order['wsend_num'] -= $thnum;
+                    $order['send_num'] += $thnum;
+                }
+
+
+//                $lor = $order['status'];
 
-                $lor = $order['status'];
-                $order['wsend_num'] -= $thnum;
-                $order['send_num'] += $thnum;
                 $order['status'] = $order['wsend_num'] == 0 ? 2 : ($order['send_num'] == 0 ? 0 : 1);
                 $order['send_status'] = $order['wsend_num'] == 0 ? 3 : ($order['send_num'] == 0 ? 1 : 2);
                 $order['th_num'] += $thnum;
@@ -225,19 +231,19 @@ class ReorderChild extends Base
                 $uap = Db::name("sale")->save($order);
                 if ($uap == false) throw new Exception('销售单订单更新失败');
 
-                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
-                    "order_code" => $order["orderCode"],//出库单号
-                    "status" => $lor,//这里的status是之前的值
-                    "action_remark" => '',//备注
-                    "action_type" => "status"//新建create,编辑edit,更改状态status
-                ], "XSQRD", $order['status'], $order);
-
-                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
-                    "order_type" => 'XSQRD',
-                    "order_code" => $order["orderCode"],//出库单号
-                    "order_id" => $order["id"],
-                    "order_status" => $order['status'], "before_status" => $lor
-                ]);
+//                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
+//                    "order_code" => $order["orderCode"],//出库单号
+//                    "status" => $lor,//这里的status是之前的值
+//                    "action_remark" => '',//备注
+//                    "action_type" => "status"//新建create,编辑edit,更改状态status
+//                ], "XSQRD", $order['status'], $order);
+//
+//                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
+//                    "order_type" => 'XSQRD',
+//                    "order_code" => $order["orderCode"],//出库单号
+//                    "order_id" => $order["id"],
+//                    "order_status" => $order['status'], "before_status" => $lor
+//                ]);
             }
 
             //发货工单数量减少
@@ -271,4 +277,49 @@ class ReorderChild extends Base
 
     }
 
+    //详情
+    public function info()
+    {
+        $param = $this->request->only(['id'], 'post', 'trim');
+
+        $val = Validate::rule(['id' => 'require|number|gt:0']);
+
+        if ($val->check($param) == false) return json_show(1004, $val->getError());
+
+        $info = Db::name('sale_return_child')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->findOrEmpty();
+
+        return empty($info) ? json_show(1004, '该退货工单不存在') : json_show(0, '获取退货工单详情成功', $info);
+
+    }
+
+    //更新退货工单标记
+    public function setRecord()
+    {
+
+        $param = $this->request->only(['id', 'record'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'id|退货工单id' => 'require|number|gt:0',
+            'record|标记内容' => 'require',
+        ]);
+
+        if ($val->check($param) == false) return json_show(1004, $val->getError());
+
+        $temp = Db::name('sale_return_child')
+            ->field('id')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->findOrEmpty();
+
+        if (empty($temp)) return json_show(1004, '该退货工单不存在');
+
+        $rs = Db::name('sale_return_child')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->update(['record' => $param['record'], 'updatetime' => date('Y-m-d H:i:s')]);
+
+        return $rs ? json_show(0, '更新退货工单标记内容成功') : json_show(1004, '更新退货工单标记内容失败');
+
+    }
+
 }

+ 34 - 50
app/admin/controller/SaleReport.php

@@ -31,51 +31,43 @@ class SaleReport extends Base
     //【一、管理报表】1.日报_列表
     public function consultDay()
     {
-        $param = $this->request->only(['token', 'date' => date('Y-m-d'), 'relaComNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['token', 'date' => date('Y-m-d')], 'post', 'trim');
 
-        $rs_1_where = [
-            ['ci.is_del', '=', 0],
-            ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_1_where[] = ['co.companyNo', '=', $param['relaComNo']];
         $rs_1 = Db::name('consult_info')
             ->alias('ci')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
-            ->where($rs_1_where)
+            ->where([
+                ['ci.is_del', '=', 0],
+                ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('co.createrid,co.creater')
             ->column('COUNT(ci.id) 当日咨询单数量,SUM(ci.budget_price*ci.num) 金额,co.creater 创建人', 'co.createrid');
 
-        $rs_2_where = [
-            ['is_del', '=', 0],
-            ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
-            ->where($rs_2_where)
+            ->where([
+                ['is_del', '=', 0],
+                ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('apply_id,apply_name')
             ->column('COUNT(id) 当日下单数量,SUM(total_price) 金额,apply_name 创建人', 'apply_id');
 
-        $rs_3_where = [
-            ['oo.status', '=', 3],
-            ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_3 = Db::name('order_out')
             ->alias('oo')
             ->leftJoin('sale s', 's.orderCode=oo.orderCode')
-            ->where($rs_3_where)
+            ->where([
+                ['oo.status', '=', 3],
+                ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('oo.apply_id,oo.apply_name')
             ->column('COUNT(oo.id) 当日签收数量,SUM(s.total_price) 金额,oo.apply_name 创建人', 'oo.apply_id');
 
-        $rs_4_where = [
-            ['or.is_del', '=', 0],
-            ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_4 = Db::name('order_return')
             ->alias('or')
             ->leftJoin('sale s', 's.orderCode=or.orderCode')
-            ->where($rs_4_where)
+            ->where([
+                ['or.is_del', '=', 0],
+                ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('or.apply_id,or.apply_name')
             ->column('COUNT(or.id) 单日售后单数,SUM(s.total_price) 金额,or.apply_name 创建人', 'or.apply_id');
 
@@ -123,51 +115,43 @@ class SaleReport extends Base
     //【一、管理报表】1.日报_导出
     public function consultDayExport()
     {
-        $param = $this->request->only(['token', 'date' => date('Y-m-d'), 'relaComNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['token', 'date' => date('Y-m-d')], 'post', 'trim');
 
-        $rs_1_where = [
-            ['ci.is_del', '=', 0],
-            ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_1_where[] = ['co.companyNo', '=', $param['relaComNo']];
         $rs_1 = Db::name('consult_info')
             ->alias('ci')
             ->leftJoin('consult_order co', 'co.zxNo=ci.zxNo')
-            ->where($rs_1_where)
+            ->where([
+                ['ci.is_del', '=', 0],
+                ['ci.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('co.createrid,co.creater')
             ->column('COUNT(ci.id) 当日咨询单数量,SUM(ci.budget_price*ci.num) 金额,co.creater 创建人', 'co.createrid');
 
-        $rs_2_where = [
-            ['is_del', '=', 0],
-            ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
-            ->where($rs_2_where)
+            ->where([
+                ['is_del', '=', 0],
+                ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('apply_id,apply_name')
             ->column('COUNT(id) 当日下单数量,SUM(total_price) 金额,apply_name 创建人', 'apply_id');
 
-        $rs_3_where = [
-            ['oo.status', '=', 3],
-            ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_3 = Db::name('order_out')
             ->alias('oo')
             ->leftJoin('sale s', 's.orderCode=oo.orderCode')
-            ->where($rs_3_where)
+            ->where([
+                ['oo.status', '=', 3],
+                ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('oo.apply_id,oo.apply_name')
             ->column('COUNT(oo.id) 当日签收数量,SUM(s.total_price) 金额,oo.apply_name 创建人', 'oo.apply_id');
 
-        $rs_4_where = [
-            ['or.is_del', '=', 0],
-            ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
-        ];
-        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_4 = Db::name('order_return')
             ->alias('or')
             ->leftJoin('sale s', 's.orderCode=or.orderCode')
-            ->where($rs_4_where)
+            ->where([
+                ['or.is_del', '=', 0],
+                ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+            ])
             ->group('or.apply_id,or.apply_name')
             ->column('COUNT(or.id) 单日售后单数,SUM(s.total_price) 金额,or.apply_name 创建人', 'or.apply_id');
 

+ 2 - 0
app/admin/route/app.php

@@ -326,6 +326,8 @@ Route::rule('reorderExport', 'admin/Reorder/export');//退货单导出
 Route::rule('reorder_child_add', 'admin/ReorderChild/add');//退货工单创建
 Route::rule('reorder_child_list', 'admin/ReorderChild/getList');//退货工单列表
 Route::rule('reorder_child_receive', 'admin/ReorderChild/receive');//退货工单库管收货
+Route::rule('reorder_child_info', 'admin/ReorderChild/info');//退货工单详情
+Route::rule('reorder_child_set_record', 'admin/ReorderChild/setRecord');//更新退货工单标记
 
 Route::rule('salezxcreate', 'admin/Salezx/create');
 Route::rule('salezxedit', 'admin/Salezx/edit');