Browse Source

Merge branch 'plm' of ssh://192.168.10.210:10022/wugg/stock into plm

panlumeng 3 years ago
parent
commit
6d639b08b5
4 changed files with 155 additions and 52 deletions
  1. 27 20
      app/admin/controller/Allot.php
  2. 19 0
      app/admin/controller/Purch.php
  3. 108 32
      app/admin/controller/Resign.php
  4. 1 0
      app/admin/route/app.php

+ 27 - 20
app/admin/controller/Allot.php

@@ -235,14 +235,19 @@ class Allot extends BaseController
 //            ->where(['a.id'=>$id,'a.is_del'=>0])->find();
        // var_dump( Db::name('allot_stock')->getLastSql());
 
-        $vmp = Db::name('allot_info')->where(['allot_code'=>$str['allot_code']])->select();
+        $vmp = Db::name('allot_info')->where(['allot_code'=>$str['allot_code'],'is_del'=>0])->select();
 
             $data=[];
         foreach ($vmp as $k=>$value){
             $s =Db::name('good_stock')->where(['good_type_code'=>$value['good_type_code'],'wsm_code'=>$str['wsm_out']])->find();
-            if($str['status']==0) {
+            if($str['status']<=1) {
                 $value['usable_num'] = $s['usable_stock'];
             }
+            $value['error_msg']="";
+            if($value['error_code']!=""){
+                $msg =Db::name("result_info")->where(['result_code'=>$value['error_code'],"is_del"=>0])->find();
+                $value['error_code_name']= isset($msg['result']) &&$msg['result']!="" ? $msg['result']:"";
+            }
             $data[]=$value;
         }
         $str['item']=$data;
@@ -323,7 +328,7 @@ class Allot extends BaseController
                         return error_show(2000,"库存数量不足");
                     }
                     $temp = [];
-                   isset($value['id']) ? $temp['id'] = $value['id']:'';
+                   isset($value['id'])&&$value['id']!=="" ? $temp['id'] = $value['id']:'';
                     $temp['good_name'] = $st['good_name'];
                     $temp['good_type_code'] = $value['good_code'];
                     $temp['allot_num'] = $value['allot_num'];
@@ -334,8 +339,8 @@ class Allot extends BaseController
                     $temp['stock_num'] = 0;
                     $temp['good_num']=$st['usable_stock'];
                     $temp['error_code']="";
-                    $stmp['is_del']=$value['is_del'];
-                    isset($value['id']) ? '' :$temp['addtime'] = date("Y-m-d H:i:s");
+                    $temp['is_del']=$value['is_del'];
+                    isset($value['id'])&&$value['id']!=="" ? '' :$temp['addtime'] = date("Y-m-d H:i:s");
                     $temp['updatetime'] = date("Y-m-d H:i:s");
                     $np = Db::name('allot_info')->save($temp);
                     if ($np==false) {
@@ -390,8 +395,8 @@ class Allot extends BaseController
             $st['updatetime']= date('Y-m-d H:i:s');
             $sv = Db::name('allot_stock')->save($st);
             if($sv){
-                if($status==2){
-                    $vmp = Db::name('allot_info')->where(['allot_code'=>$st['allot_code']])->select();
+                if($status==2 || $status==1){
+                    $vmp = Db::name('allot_info')->where(['allot_code'=>$st['allot_code'],"is_del"=>0])->select();
                     foreach ($vmp as $value){
                         $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"wsm_code"=>$st['wsm_out'],"is_del"=>0])->find();
                         //var_dump($value['allot_num'],$stock['usable_stock']);
@@ -399,15 +404,17 @@ class Allot extends BaseController
                             Db::rollback();
                             return error_show(2000,"超出库存数量");
                         }
-                        $stock['usable_stock']-=$value['allot_num'];
-                        $stock['wait_out_stock']+=$value['allot_num'];
-                        $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
-                        $stock['updatetime']= date('Y-m-d H:i:s');
-                        $Db = Db::name('good_stock')->update($stock);
-                        //var_dump(Db::name('good_stock')->getLastSql());
-                        if($Db==false){
-                            Db::rollback();
-                            return error_show(1002,"状态更新失败");
+                        if($status==2){
+                            $stock['usable_stock']-=$value['allot_num'];
+                            $stock['wait_out_stock']+=$value['allot_num'];
+                            $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
+                            $stock['updatetime']= date('Y-m-d H:i:s');
+                            $Db = Db::name('good_stock')->update($stock);
+                            //var_dump(Db::name('good_stock')->getLastSql());
+                            if($Db==false){
+                                Db::rollback();
+                                return error_show(1002,"状态更新失败");
+                            }
                         }
                     }
                 }
@@ -456,7 +463,7 @@ class Allot extends BaseController
             ];
             $datainfo = Db::name('allot_stock')->where(['allot_code'=>$allot_code])->update($data);
             if($datainfo){
-                    $vnp = Db::name('allot_info')->where(['allot_code'=>$al['allot_code']])->select();
+                    $vnp = Db::name('allot_info')->where(['allot_code'=>$al['allot_code'],'is_del'=>0])->select();
                    // var_dump(Db::name('allot_info')->getLastSql());
                     foreach ($vnp as $value){
                         $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
@@ -516,7 +523,7 @@ class Allot extends BaseController
                     Db::rollback();
                     return error_show(1003, "未找到商品");
                 }
-                $n = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->find();
+                $n = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code'],'is_del'=>0])->find();
                 if(empty($n)){
                     Db::rollback();
                     return error_show(10032, "未找到数据");
@@ -532,7 +539,7 @@ class Allot extends BaseController
                 $temp['error_remark'] = $value['error_remark'];
                 $temp['stock_num']=$n['allot_num'];
                 $temp['updatetime'] = date("Y-m-d H:i:s");
-                $np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->save($temp);
+                $np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code'],'is_del'=>0])->save($temp);
                 if($np==false){
                     Db::rollback();
                     return error_show(1001,"数据更新失败");
@@ -628,7 +635,7 @@ public function vesio(){
                     Db::rollback();
                     return error_show(1001,"数据更新失败");
                 }
-                $p = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=>$al['allot_code']])->find();
+                $p = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=>$al['allot_code'],"is_del"=>0])->find();
                 if($p==""){
                     Db::rollback();
                     return error_show(1002,"未找到数据");

+ 19 - 0
app/admin/controller/Purch.php

@@ -58,6 +58,23 @@ class Purch extends \app\BaseController
            // $where['good_code'] = Db::raw(" like %{$good_code}%");
             $where[]=['good_code',"like", "%{$good_code}%"];
         }
+        $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo']!="" ? trim($this->post['supplierNo'])
+            :"";
+        if($supplierNo!=""){
+            // $where['good_code'] = Db::raw(" like %{$good_code}%");
+            $where[]=['supplierNo',"=", $supplierNo];
+        }
+        $wsm_supplierNo = isset($this->post['wsm_supplierNo']) && $this->post['wsm_supplierNo']!="" ? trim($this->post['wsm_supplierNo'])
+            :"";
+        if($wsm_supplierNo!=""){
+            $supplier = Db::name("supplier")->where(["code"=>$wsm_supplierNo])->find();
+            if(empty($supplier)){
+                return error_show(1004,"未找到供应商信息");
+            }
+            $wsmcode = Db::name("warehouse_info")->where([
+                "is_del"=>0,"supplierNo"=>$supplierNo])->column("wsm_code");
+            $where[]=['wsm_code',"in", $wsmcode];
+        }
         $start = isset($this->post['start']) && $this->post['start']!="" ?$this->post['start']:"";
         if($start!=""){
            // $where['addtime'] = Db::raw(" >= '{$start}'");
@@ -93,6 +110,8 @@ class Purch extends \app\BaseController
                 $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
                 $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
             }
+            $inorder= Db::name("purchease_in")->where(['cgdNo'=>$value['cgdNo'],"is_del"=>0])->select();
+            $value['child']=empty($inorder)? [] : $inorder;
             $data[]=$value;
         }
         return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);

+ 108 - 32
app/admin/controller/Resign.php

@@ -158,6 +158,43 @@ class Resign extends BaseController
         return $in ? app_show(0,"新建成功",['bk_code'=>$bk_code]):error_show(1005,"新建失败");
     }
 
+    /**
+     * @return \think\response\Json|void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+    public  function  copy(){
+        $id = isset($this->post['id']) ? intval($this->post['id']) : "";
+        if($id==""){
+            return error_show(1001,'id不能为空');
+        }
+        $info = Db::name("purchease")->where(["id"=>$id,"is_del"=>0])->find();
+        if(empty($info)){
+            return error_show(1002,'未找到数据');
+        }
+        $data = GetUserInfo($this->post['token']);
+        if((!empty($data) && $data['code']!=0) ||empty($data) ){
+            return error_show($data['code'],$data['message']);
+        }
+        $userinfo = $data['data'];
+        $bk_code=makeNo("BK");
+        $info['bk_code']=$bk_code;
+        $info['status']=0;
+        $info['addtime']=date("Y-m-d H:i:s");
+        $info['updatetime']=date("Y-m-d H:i:s");
+        $info['apply_id']=$userinfo['id'];
+        $info['apply_name']=$userinfo['nickname'];
+        unset($info['id']);
+        $in = Db::name("purchease")->insert($info);
+        return $in ? app_show(0,"新建成功",['bk_code'=>$bk_code]):error_show(1005,"新建失败");
+    }
+    /**
+     * @return \think\response\Json|void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
     public function info(){
         $id = isset($this->post['id']) ? intval($this->post['id']) : "";
         if($id==""){
@@ -362,8 +399,26 @@ class Resign extends BaseController
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s")
         ];
-        $in = Db::name('purchease_feedback')->insert($data);
-        return $in ? app_show(0,"新建成功"):error_show(1005,"新建失败");
+        Db::startTrans();
+        try{
+            $in = Db::name('purchease_feedback')->insert($data);
+            if($in){
+                $info['status']=2;
+                $info['addtime']=date("Y-m-d H:i:s");
+                $ood=Db::name('purchease')->save($info);
+                if($ood){
+                    Db::commit();
+                    return app_show(0,"新建成功");
+                }
+            }
+            Db::rollback();
+            return error_show(1005,"新建失败");
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1005,"新建失败");
+        }
+
+       // return $in ? app_show(0,"新建成功"):error_show(1005,"新建失败");
     }
 
     public function delFeed(){
@@ -395,7 +450,7 @@ class Resign extends BaseController
         }
         $feed = Db::name("purchease_feedback")->where(['bkcode'=>$info['bk_code'],'is_del'=>0])->find();
         if(empty($feed)){
-            return error_show(1004,'未找到数据');
+            return error_show(1004,'未找到反馈数据');
         }
         $feed['wsm_name']="";
         if($feed['warehouse']!=""){
@@ -413,7 +468,7 @@ class Resign extends BaseController
         if($id==""){
             return error_show(1001,'id不能为空');
         }
-        $feed = Db::name("purchease_feedback")->where(['id'=>$id,'is_del'=>0])->find();
+        $feed = Db::name("purchease")->where(['id'=>$id,'is_del'=>0])->find();
         if(empty($feed)){
             return error_show(1004,'未找到数据');
         }
@@ -427,44 +482,51 @@ class Resign extends BaseController
             $feed['remark']= $remark;
             $feed['status']= $status;
             $feed['updatetime']=date("Y-m-d H:i:s");
-            $up = Db::name("purchease_feedback")->update($feed);
+            $up = Db::name("purchease")->update($feed);
             if($up){
-                if($status==1){
+                if($status==3){
                   //  $ware = Db::name("warehouse_addr")->where(["wsm_code"=>$feed['warehouse'],"is_del"=>0])->find();
-                    $purse = Db::name("purchease")->where(['bk_code'=>$feed['bkcode'],"is_del"=>0])->find();
+                    $purse = Db::name("purchease_feedback")->where(['bkcode'=>$feed['bk_code'],"is_del"=>0])->find();
                     if(empty($purse)){
                         Db::rollback();
-                        return error_show(1001,'未找到备库申请数据');
+                        return error_show(1001,'未找到备库反馈数据');
+                    }
+                    $purse['status']=1;
+                    $purse['addtime']=date("Y-m-d H:i:s");
+                    $up = Db::name("purchease_feedback")->save($purse);
+                    if($up==false){
+                        Db::rollback();
+                        return error_show(1001,'备库反馈数据状态修改失败');
                     }
-                    $supplier = Db::name("supplier")->where(["code"=>$feed['supplier']])->find();
+                    $supplier = Db::name("supplier")->where(["code"=>$purse['supplier']])->find();
                     $inw = makeNo("CG");
                     $data=[
-                        "bkcode"=>$feed['bkcode'],
+                        "bkcode"=>$purse['bkcode'],
                         'cgdNo'=>$inw,
-                        "wsm_code"=>$feed['warehouse'],
-                        "good_code"=>$purse['good_code'],
-                        "good_name"=>$purse['good_name'],
-                        "good_type_code"=>$purse['good_type_code'],
-                        "good_num"=>$purse['good_num'],
+                        "wsm_code"=>$purse['warehouse'],
+                        "good_code"=>$feed['good_code'],
+                        "good_name"=>$feed['good_name'],
+                        "good_type_code"=>$feed['good_type_code'],
+                        "good_num"=>$feed['good_num'],
                         "send_num"=>0,
-                        "wsend_num"=>$purse['good_num'],
-                        'good_price'=>$feed['good_price'],
-                        "total_fee"=>$feed['good_price'],
-                        'pakge_fee'=>$feed['pakge_fee'],
-                        'cert_fee'=>$feed['cert_fee'],
-                        'open_fee'=>$feed['open_fee'],
-                        'mark_fee'=>$feed['mark_fee'],
-                        'teach_fee'=>$feed['teach_fee'],
-                        'nake_fee'=>$feed['nake_fee'],
-                        'delivery_fee'=>$feed['delivery_fee'],
-                        'weight'=>$feed['weight'],
-                        'diff_weight'=>$feed['diff_weight'],
-                        'diff_price'=>$feed['diff_price'],
-                        'cgder_id'=>$feed['purchaser_id'],
-                        'cgder'=>$feed['purchaser'],
-                        'supplierNo'=>$feed['supplier'],
+                        "wsend_num"=>$feed['good_num'],
+                        'good_price'=>$purse['good_price'],
+                        "total_fee"=>$purse['good_price'],
+                        'pakge_fee'=>$purse['pakge_fee'],
+                        'cert_fee'=>$purse['cert_fee'],
+                        'open_fee'=>$purse['open_fee'],
+                        'mark_fee'=>$purse['mark_fee'],
+                        'teach_fee'=>$purse['teach_fee'],
+                        'nake_fee'=>$purse['nake_fee'],
+                        'delivery_fee'=>$purse['delivery_fee'],
+                        'weight'=>$purse['weight'],
+                        'diff_weight'=>$purse['diff_weight'],
+                        'diff_fee'=>$purse['diff_price'],
+                        'cgder_id'=>$purse['purchaser_id'],
+                        'cgder'=>$purse['purchaser'],
+                        'supplierNo'=>$purse['supplier'],
                         'supplier_name'=>isset($supplier['name']) ? $supplier['name']:"",
-                        'lasttime'=>$feed['expecttime'],
+                        'lasttime'=>$purse['expecttime'],
                         "addtime"=>date("Y-m-d H:i:s"),
                         "updatetime"=>date("Y-m-d H:i:s")
                     ];
@@ -474,6 +536,20 @@ class Resign extends BaseController
                         return app_show(0,"更新成功",['cgdNo'=>$inw]);
                     }
                 }else{
+                    if($status==4){
+                        $purse = Db::name("purchease_feedback")->where(['bkcode'=>$feed['bk_code'],"is_del"=>0])->find();
+                        if(empty($purse)){
+                            Db::rollback();
+                            return error_show(1001,'未找到备库反馈数据');
+                        }
+                        $purse['status']=2;
+                        $purse['addtime']=date("Y-m-d H:i:s");
+                        $up = Db::name("purchease_feedback")->save($purse);
+                        if($up==false){
+                            Db::rollback();
+                            return error_show(1001,'备库反馈数据状态修改失败');
+                        }
+                    }
                     Db::commit();
                     return app_show(0,"更新成功");
                 }

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

@@ -157,6 +157,7 @@ Route::rule("getstockbet","admin/Good/GetStockBet");
 
 Route::rule("purchlist","admin/Resign/list");
 Route::rule("purchadd","admin/Resign/add");
+Route::rule("purchcopy","admin/Resign/copy");
 Route::rule("purchedit","admin/Resign/edit");
 Route::rule("purchdel","admin/Resign/delete");
 Route::rule("purchinfo","admin/Resign/info");