panlumeng há 3 anos atrás
pai
commit
719ea6abfa
1 ficheiros alterados com 43 adições e 20 exclusões
  1. 43 20
      app/admin/controller/Allot.php

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

@@ -46,10 +46,26 @@ class Allot extends BaseController
         $count = Db::name('allot_stock')->where($where)->count();
         $total = ceil($count/$size);
         $page = $page >= $total ? $total : $page;
-        $list = Db::name('allot_stock')//->alias('a')->join("good_stock b","b.wsm")
-            ->where($where)->order("addtime desc")->page($page,$size)->select();
+        $list = Db::name('allot_stock')->where($where)->order("addtime desc")->page($page,$size)->select();
       // var_dump(Db::name('allot_stock')->getLastSql());
-        return app_show(0,"获取成功",['count'=>$count,'list'=>$list]);
+        $data=[];
+        foreach ($list as $value){
+            $db = Db::name('warehouse_info')->alias('a')->join("supplier b","b.code=a.supplierNo","left")
+                ->field("a.name,a.wsm_code,b.name rname,b.code")->where(['a.wsm_code'=>$value['wsm_out'],'a.is_del'=>0])->find();
+            $value['name'] =isset($db['name']) ? $db['name']:"";
+            $value['wsm_code'] =isset($db['wsm_code']) ? $db['wsm_code']:"";
+            $value['rname'] =isset($db['rname']) ? $db['rname']:"";
+           $value['code'] =isset($db['code']) ? $db['code']:"";
+            $dc = Db::name('warehouse_info')->alias('a')->join("supplier b","b.code=a.supplierNo","left")
+                ->field("a.name,a.wsm_code,b.name tname,b.code")->where(['a.wsm_code'=>$value['wsm_in'],'a.is_del'=>0])->find();
+            $value['wsm_in_name'] =isset($dc['name']) ? $dc['name']:"";
+            $value['wsm_in_code'] =isset($dc['wsm_code']) ? $dc['wsm_code']:"";
+            $value['tname'] =isset($dc['tname']) ? $dc['tname']:"";
+            $value['rcode'] =isset($dc['code']) ? $dc['code']:"";
+            $data []=$value;
+        }
+
+        return app_show(0,"获取成功",['count'=>$count,'list'=>$data]);
     }
     public function create(){
         $token =isset($this->post['token']) && $this->post['token'] !=="" ? trim($this->post['token']) :"";
@@ -151,10 +167,12 @@ class Allot extends BaseController
     public function info(){
         $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
         if($id==""){
-            return error_show(1002,"调拨编号不能为空");
+            return error_show(1002,"参数id不能为空");
         }
-
         $str = Db::name('allot_stock') ->where(['id'=>$id,'is_del'=>0])->find();
+        if(empty($str)){
+            return error_show(1003,"未找到调拨数据");
+        }
         $stv = Db::name('warehouse_info')->where(['supplierNo'=>$str['wsm_out'],'is_del'=>0])->field('supplierNo,wsm_code')->find();
         $vr = Db::name('supplier')->where(['code'=>$stv['supplierNo'],'is_del'=>0])->field('name,code')->find();
         $st = Db::name('warehouse_info')->where(['supplierNo'=>$str['wsm_in'],'is_del'=>0])->field('supplierNo,wsm_code')->find();
@@ -165,9 +183,6 @@ class Allot extends BaseController
 //            ->join('supplier c',"c.code=b.supplierNo","left")->field("c.name,c.code,")
 //            ->where(['a.id'=>$id,'a.is_del'=>0])->find();
        // var_dump( Db::name('allot_stock')->getLastSql());
-        if(empty($str)){
-            return error_show(1003,"未找到调拨数据");
-        }
         $vmp = Db::name('allot_info')->where(['allot_code'=>$str['allot_code']])->select();
         $str['item']=$vmp;
         if(empty($str)){
@@ -249,6 +264,7 @@ class Allot extends BaseController
                     $temp['error_remark'] = "";
                     $temp['allot_code'] = $etid['allot_code'];
                     $temp['stock_num'] = 0;
+                    $stmp['is_del']=$value['is_del'];
                     isset($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);
@@ -369,7 +385,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();
-                    var_dump(Db::name('allot_info')->getLastSql());
+                   // 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();
                        if($stock['wait_out_stock']<$value['allot_num']){
@@ -428,28 +444,34 @@ class Allot extends BaseController
                     Db::rollback();
                     return error_show(1003, "商品不能为空");
                 }
-
                 $temp = [];
                 $temp['usable_num'] = $value['usable_num'];
                 $temp['error_num'] = $value['error_num'];
                 $temp['error_remark'] = $value['error_remark'];
                 $temp['updatetime'] = date("Y-m-d H:i:s");
-                $np = Db::name('allot_info')->where(['good_type_code'=>$value['good_type_code'],'allot_code'=> $al['allot_code']])->save($temp);
-                $stock = Db::name("good_stock")->where(["good_type_code"=>$np['allot_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
+                $np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->save($temp);
+                $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
+              //var_dump(Db::name("good_stock")->getLastSql());
                 if($stock['intra_stock']<$np['allot_num']){
                     return error_show(1002,"超出库存数量");
                 }
-                $stock['intra_stock']-=$np['allot_num'];
-                $stock['wait_in_stock']+=$np['allot_num'];
                 $stock['updatetime']= date('Y-m-d H:i:s');
-                $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
+                $stock['intra_stock']-=$np['allot_num'];
                 $dr = Db::name('good_stock')->update($stock);
-                if ($dr==false) {
+                $instock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$al['wsm_in'],"is_del"=>0])->find();
+                if($instock==""){
+
+                }
+                $instock['wait_in_stock']+=$np['allot_num'];
+                $instock['updatetime']= date('Y-m-d H:i:s');
+//                $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
+                $sk = Db::name('good_stock')->update($instock);
+                if ($sk==false) {
                     Db::rollback();
-                    return error_show(0, "入库验货更新失败");
+                    return error_show(1003, "入库验货更新失败");
                 }
                 Db::commit();
-                return error_show(1003, "入库验货更新成功");
+                return error_show(0, "入库验货更新成功");
             }
         }
         Db::rollback();
@@ -496,14 +518,15 @@ public function vesio(){
                 $temp['stock_num'] = $value['stock_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);
-                $stock = Db::name("good_stock")->where(["good_type_code"=>$np['allot_code'],"wsm_code"=>$datainfo['wsm_in'],"is_del"=>0])->find();
+                $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_code'],"wsm_code"=>$datainfo['wsm_in'],"is_del"=>0])->find();
                if($stock['wait_in_stock'<$np['allot_num']]){
                    return error_show(1002,"超出库存数量");
                }
                 $stock['wait_in_stock']-=$np['allot_num'];
                 $stock['usable_stock']+=$np['allot_num'];
+                $stock['updatetime']=date('Y-m-d H:i:s');
                 $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
-                $dr = Db::name('good_stock')->update([$stock,"updatetime"=>date('Y-m-d H:i:s')]);
+                $dr = Db::name('good_stock')->update($stock);
                 if ($dr==false) {
                     Db::rollback();
                     return error_show(0, "验货更新失败");