Kaynağa Gözat

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

wufeng 2 yıl önce
ebeveyn
işleme
d47a77b499

+ 10 - 5
app/admin/controller/After.php

@@ -1299,13 +1299,18 @@ class After extends Base
         try {
             $returninfo = Db::name("order_returninfo")->where(["returnCode" => $bkcode])->findOrEmpty();
             if (empty($returninfo)) {
+                //查询次品仓的信息
+                $wsm = Db::name('warehouse_info')
+                    ->where(['is_del' => 0, 'companyNo' => $sale['supplierNo'], 'status' => 1, 'wsm_type' => 4])
+                    ->findOrEmpty();
+
                 $returninfo = [
                     "returnCode" => $bkcode,
-                    "return_wsm" => "",
-                    "contactor" => "",
-                    "mobile" => "",
-                    "addr" => "",
-                    "addr_code" => "",
+                    "return_wsm" => $wsm['wsm_code'] ?? '',
+                    "contactor" => $wsm['contactor_name'] ?? '',
+                    "mobile" => $wsm['mobile'] ?? '',
+                    "addr" => $wsm['addr'] ?? '',
+                    "addr_code" => $wsm['addrs_code'] ?? '',
                     "post_code" => $post_code,
                     "post_company" => $company,
                     "post_fee" => $post_fee,

+ 21 - 1
app/admin/controller/OrderOutChild.php

@@ -3,6 +3,7 @@
 namespace app\admin\controller;
 
 //发货工单(从属于发货单)
+use app\admin\model\DataGroup as DataGroupModel;
 use app\admin\model\GoodStockInfo;
 use think\Exception;
 use think\facade\Db;
@@ -61,6 +62,7 @@ class OrderOutChild extends Base
             'apply_id' => '',
             'apply_name' => '',
             'order_type' => '',
+            'relaComNo' => '',
         ], 'post', 'trim');
 
         $where = [['a.is_del', '=', 0]];
@@ -80,8 +82,26 @@ class OrderOutChild extends Base
         if ($param['apply_id'] !== '') $where[] = ['a.apply_id', '=', $param['apply_id']];
         if ($param['apply_name'] != '') $where[] = ['a.apply_name', 'like', '%' . $param['apply_name'] . '%'];
         if ($param['order_type'] != '') $where[] = ['a.order_type', '=', $param['order_type']];
+        if ($param['relaComNo'] != '') $where[] = ['a.companyNo', '=', $param['relaComNo']];
+
+        //只有level2的账号过滤数据权限
+        if ($this->level == 2) {
+
+            //如果是供应商负责人,根据供应商筛选
+            $person_supplier = Db::connect('mysql_sys')
+                ->name('supplier')
+                ->where(['is_del' => 0, 'personid' => $this->uid])
+                ->column('code');
+
+            if (!empty($person_supplier)) $where[] = ['a.supplierNo', 'in', $person_supplier];//"b.supNo in ('" . implode('\',\'', $person_supplier) . "')";
+            else {
+                //不是供应商负责人,根据数据权限筛选申请人
+                $role = $this->checkDataShare();
+                if (!empty($role[DataGroupModel::$type_全部])) $where[] = ['a.apply_id', 'in', $role[DataGroupModel::$type_全部]];// " a.apply_id in (" . implode(',', $role[DataGroupModel::$type_全部]) . ")";
+            }
+        }
 
-        $count = Db::name('order_out_child')
+            $count = Db::name('order_out_child')
             ->alias('a')
             ->leftJoin('warehouse_info c','c.wsm_code=a.wsm_code AND c.is_del=0')
             ->where($where)

+ 9 - 2
app/admin/controller/Purchin.php

@@ -1903,11 +1903,18 @@ class Purchin extends Base
 				]);
 			if($valide->check($post)==false)return error_show(1004,$valide->getError());
 			$info = Db::name("purchease_in")->where(['wsm_in_code'=>$post['wsm_in_code'],"is_del"=>0])->findOrEmpty();
-	        if(empty($info)) return error_show(1004,"未找到发货单数据");
-	        if($info['status']!=1) return error_show(1004,"发货单状态有误");
+	        if(empty($info)) return error_show(1004,"未找到入库单数据");
+	        if($info['status']!=1) return error_show(1004,"入库单状态有误");
 	        if($info['send_num'] <$post['wsm_num'])return error_show(1004,"入库数量不可大于发货单总数量");
 	        $cgdinfo = Db::name("purchease_order")->where(["cgdNo"=>$info['cgdNo'],"is_del"=>0])->findOrEmpty();
 	        if(empty($cgdinfo)) return error_show(1004,"未找到采购单信息");
+
+        if ($cgdinfo['order_type'] == 1) {
+            //库存品,只能由仓库管理员操作
+            $contactor = Db::name('warehouse_info')->where(['is_del' => 0, 'wsm_code' => $info['wsm_code']])->value('contactor', 0);
+            if ($this->uid != $contactor) return json_show(1004, '库存品只能由仓库管理员操作');
+        }
+
 	         $good = Db::name("good_stock")->where(["wsm_code"=>$info['wsm_code'], "spuCode"=>$cgdinfo['spuCode'],"is_del"=>0])->findOrEmpty();
              if(empty($good)) {
                     $good=[