wugg 3 years ago
parent
commit
c9da6be5c9
3 changed files with 120 additions and 32 deletions
  1. 14 4
      app/admin/controller/Purch.php
  2. 102 27
      app/admin/controller/Purchin.php
  3. 4 1
      app/admin/model/ActionLog.php

+ 14 - 4
app/admin/controller/Purch.php

@@ -172,6 +172,7 @@ class Purch extends \app\BaseController
         if(empty($data)){
             return error_show(1004,"未找到数据");
         }
+        $order = ["order_code"=>$cgdNo,"status"=> $data['status'] ,"action_remark"=>$this->post['remark'],"action_type"=>"edit"];
         $wsm_code = isset($this->post['wsm_code'])&&$this->post['wsm_code']!=""? trim($this->post['wsm_code']):"";
         if($wsm_code!=""){
             $ware = Db::name("warehouse_info")->where(["wsm_code"=>$wsm_code,"is_del"=>0])->find();
@@ -269,7 +270,12 @@ class Purch extends \app\BaseController
         $data['total_fee'] = round($data['good_price']*$data['good_num'],2);
         $data['updatetime'] =date("Y-m-d H:i:s");
         $upd=Db::name("purchease_order")->save($data);
-         return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败');
+        if($upd){
+            ActionLog::logAdd($this->post['token'],$order,'cgd',$data['status'],$this->post);
+            return app_show(0,"更新成功");
+        }else{
+            return error_show(1004,'更新失败');
+        }
     }
 
     public function status(){
@@ -290,13 +296,17 @@ class Purch extends \app\BaseController
         if($data['send_status']>1 && $status==0){
             return error_show(1004,"采购单发货中无法取消");
         }
-        $order = ["order_code"=>$cgdNo,"status"=>$data['status'],"action_remark"=>$remark];
+        $order = ["order_code"=>$cgdNo,"status"=> $data['status'] ,"action_remark"=>$remark,"action_type"=>"status"];
         $data['status'] = $status;
         $data['remark'] = $remark;
         $data['updatetime'] =date("Y-m-d H:i:s");
         $upd=Db::name("purchease_order")->save($data);
-        ActionLog::idd($this->post['token'],$order,1,$status);
-        return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败');
+        if($upd){
+            ActionLog::logAdd($this->post['token'],$order,'cgd',$status,$this->post);
+            return app_show(0,"更新成功");
+        }else{
+            return error_show(1004,'更新失败');
+        }
     }
 
 

+ 102 - 27
app/admin/controller/Purchin.php

@@ -1,6 +1,7 @@
 <?php
 namespace app\admin\controller;
 
+use app\admin\model\ActionLog;
 use app\BaseController;
 use think\facade\Db;
 use think\App;
@@ -83,7 +84,10 @@ class Purchin extends BaseController
         try{
             $win = Db::name("purchease_in")->insert($orin);
             if($win){
+                $order = ["order_code"=>$wsm_in_code,"status"=>$status,"action_remark"=>'',"action_type"=>"create"];
+                ActionLog::logAdd($this->post['token'],$order,"rkd",$status,$this->post);
                 if($status==1){
+                    $order = ["order_code"=>$cgdNo,"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     $cgdinfo['wsend_num']-=$send_num;
                     $cgdinfo['send_num']+=$send_num;
                     $cgdinfo['send_status']=$cgdinfo['wsend_num']==0 ? 3:($cgdinfo['send_num']==0 ?1:2);
@@ -91,6 +95,7 @@ class Purchin extends BaseController
                     $cgdinfo['updatetime']=date("Y-m-d H:i:s");
                     $up=Db::name("purchease_order")->save($cgdinfo);
                     if($up){
+                        ActionLog::logAdd($this->post['token'],$order,"cgd", $cgdinfo['status'],$cgdinfo);
                         Db::commit();
                         return app_show(0,'新建成功',["wsm_in_code"=>$wsm_in_code]);
                     }else{
@@ -153,11 +158,11 @@ class Purchin extends BaseController
         }
         $error_list = isset($this->post['error_list']) && $this->post['error_list']!==''?$this->post['error_list']:"";
 
-        $wait_num = isset($this->post['wait_num']) && $this->post['wait_num']!==''?intval($this->post['wait_num'])
-            :"";
-        if($wait_num===''){
-            return error_show(1004,"参数 wait_num 不为空");
-        }
+//        $wait_num = isset($this->post['wait_num']) && $this->post['wait_num']!==''?intval($this->post['wait_num'])
+//            :"";
+//        if($wait_num===''){
+//            return error_show(1004,"参数 wait_num 不为空");
+//        }
         $result = GetUserInfo($this->post['token']);
         if((!empty($result) && $result['code']!=0) ||empty($result) ){
             return error_show($result['code'],$result['message']);
@@ -165,8 +170,9 @@ class Purchin extends BaseController
         $userinfo = $result['data'];
         Db::startTrans();
         try{
+            $order = ["order_code"=>$incode,"status"=>$info['status'],"action_remark"=>'',"action_type"=>"edit"];
             $info['wsm_num'] = $order_num;
-            $info['wait_num'] = $wait_num;
+            $info['wait_num'] = $info['send_num'];
             $info['checkid'] = $userinfo['id'];
             $info['check_name'] = $userinfo['nickname'];
             $info['status'] =2;
@@ -174,6 +180,7 @@ class Purchin extends BaseController
             $info['updatetime'] = date("Y-m-d H:i:s");
             $up =Db::name("purchease_in")->save($info);
             if($up){
+                ActionLog::logAdd($this->post['token'],$order,"rkd",2,$this->post);
                 if(!empty($error_list)){
                     $data=[];
                     foreach ($error_list as $value ){
@@ -228,17 +235,20 @@ class Purchin extends BaseController
         $remark = isset($this->post['remark'])&&$this->post['remark']!="" ? trim($this->post['remark']) :"";
         Db::rollback();
         try{
+            $order = ["order_code"=>$incode,"status"=>$info['status'],"action_remark"=>'',"action_type"=>"status"];
             $info['status'] = $status;
             $info['remark'] = $remark;
             $info['updatetime'] = date("Y-m-d H:i:s");
             $update = Db::name("purchease_in")->save($info);
             if($update){
+                ActionLog::logAdd($this->post['token'],$order,"rkd",$status,$this->post);
                 if($status==0){
                     $cgdinfo=Db::name("purchease_order")->where(['cgdNo'=>$info['cgdNo'],"is_del"=>0])->find();
                     if(empty($cgdinfo)){
                         Db::rollback();
                         return error_show(1002,"未找到采购单数据");
                     }
+                    $order = ["order_code"=>$info['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     $cgdinfo['wsend_num']+=$info['send_num'];
                     $cgdinfo['send_num']-=$info['send_num'];
                     $cgdinfo['send_status']=$cgdinfo['wsend_num']==0 ? 3:($cgdinfo['send_num']==0 ?1:2);
@@ -246,6 +256,7 @@ class Purchin extends BaseController
                     $cgdinfo['updatetime']=date("Y-m-d H:i:s");
                     $up=Db::name("purchease_order")->save($cgdinfo);
                     if($up){
+                        ActionLog::logAdd($this->post['token'],$order,"cgd", $cgdinfo['status'],$cgdinfo);
                         Db::commit();
                         return app_show(0,'取消成功');
                     }else{
@@ -259,6 +270,7 @@ class Purchin extends BaseController
                         Db::rollback();
                         return error_show(1002,"未找到采购单数据");
                     }
+                    $order = ["order_code"=>$info['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     $cgdinfo['wsend_num']-=$info['send_num'];
                     $cgdinfo['send_num']+=$info['send_num'];
                     $cgdinfo['send_status']=$cgdinfo['wsend_num']==0 ? 3:($cgdinfo['send_num']==0 ?1:2);
@@ -266,6 +278,7 @@ class Purchin extends BaseController
                     $cgdinfo['updatetime']=date("Y-m-d H:i:s");
                     $up=Db::name("purchease_order")->save($cgdinfo);
                     if($up){
+                        ActionLog::logAdd($this->post['token'],$order,"cgd", $cgdinfo['status'],$cgdinfo);
                         Db::commit();
                         return app_show(0,'发货成功');
                     }else{
@@ -273,13 +286,14 @@ class Purchin extends BaseController
                         return error_show(1002,"发货失败");
                     }
                 }
-                if($status==3){
+                if($status==4){
                     $cgdinfo=Db::name("purchease_order")->where(['cgdNo'=>$info['cgdNo'],"is_del"=>0])->find();
                     if(empty($cgdinfo)){
                         Db::rollback();
                         return error_show(1002,"未找到采购单数据");
                     }
-                   $good = Db::name("good_stock")->where(["wsm_code"=>$info['wsm_code'],"good_type_code"=>$cgdinfo['good_type_code'],"is_del"=>0])->find();
+                    $good = Db::name("good_stock")->where(["wsm_code"=>$info['wsm_code'],"good_type_code"=>$cgdinfo['good_type_code'],"is_del"=>0])->find();
+
                     if(empty($good)) {
                       $good=[
                           "good_type_code"=>$cgdinfo['good_type_code'],
@@ -290,12 +304,17 @@ class Purchin extends BaseController
                           "addtime"=>date("Y-m-d H:i:s"),
                           "updatetime"=>date("Y-m-d H:i:s"),
                       ];
+                        $order = ["order_code"=>$good['good_type_code'],"status"=>1,"action_remark"=>'',"action_type"=>"create"];
+
+                    }else{
+                        $order = ["order_code"=>$good['good_type_code'],"status"=>1,"action_remark"=>'', "action_type"=>"edit"];
                     }
                     $good['usable_stock']+=$info['send_num'];
                     $good['total_stock']=$good['usable_stock']+$good['wait_out_stock'];
                     $good['updatetime'] = date("Y-m-d H:i:s");
                     $upd=  Db::name("good_stock")->save($good);
                     if($upd){
+                        ActionLog::logAdd($this->post['token'],$order,"gst", 1,$info  );
                         Db::commit();
                         return app_show(0,'商品入库成功');
                     }else{
@@ -316,6 +335,12 @@ class Purchin extends BaseController
 
     }
 
+    /**
+     * @return \think\response\Json|void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
     public function ReturnAdd(){
         $incode = isset($this->post['wsm_in_code'])&&$this->post['wsm_in_code']!="" ? trim($this->post['wsm_in_code']) :"";
         if($incode==""){
@@ -352,31 +377,81 @@ class Purchin extends BaseController
             return error_show($result['code'],$result['message']);
         }
         $userinfo = $result['data'];
+        Db::startTrans();
+       try{
+
+        $info['status'] = 3;
+        $info['updatetime'] = date("Y-m-d H:i:s");
+        $up= Db::name("purchease_in")->save($info);
+        if($up){
+            $data=[
+                "wsm_in_code"=>$incode,
+                "wsm_num"=>$wsm_num,
+                "reissue_num"=>$reissue_num,
+                "return_num"=>$return_num,
+                "return_contactor"=>$contactor,
+                "return_addr"=>$addr,
+                "return_mobile"=>$mobile,
+                "error_remark"=>$error_remark,
+                "post_code"=>$post_code,
+                "post_company"=>$post_company,
+                "remark"=>$remark ,
+                "apply_id"=>$userinfo['id'],
+                "apply_name"=>$userinfo['nickname'],
+                "status"=>$return_num>0?0:1,
+                "addtime"=>date("Y-m-d H:i:s"),
+                "updatetime"=>date("Y-m-d H:i:s")
+            ];
+            $res = Db::name("purchease_return")->insert($data);
+            if($res){
+                Db::commit();
+                return app_show(0,"验货审核完成");
+            }else{
+                Db::rollback();
+                return error_show(1002,"验货审核失败");
+            }
+        }
+       }catch (\Exception $e){
+           Db::rollback();
+           return error_show(1002,$e->getMessage());
+       }
+
+    }
+
+    public function ReturnSend(){
+        $incode = isset($this->post['wsm_in_code'])&&$this->post['wsm_in_code']!="" ? trim($this->post['wsm_in_code']) :"";
+        if($incode==""){
+            return error_show(1004,"参数wsm_in_code 不为空");
+        }
+        $info = Db::name("purchease_in")->where(['wsm_in_code'=>$incode,"is_del"=>0])->find();
+        if(empty($info)){
+            return error_show(1004,"未找到发货单数据");
+        }
+        $return = Db::name("purchease_return")->where(['wsm_in_code'=>$incode,"is_del"=>0])->find();
+        if(empty($return)){
+            return error_show(1004,"未找到退货单数据");
+        }
+        $post_code = isset($this->post['post_code']) &&$this->post['post_code']!=="" ? trim($this->post['post_code']):"" ;
+        if($post_code==""){
+            return error_show(1004,"参数 post_code 不能为空");
+        }
+        $post_company = isset($this->post['post_company']) &&$this->post['post_company']!=="" ? trim($this->post['post_company']):"" ;
+        if($post_company==""){
+            return error_show(1004,"参数 post_company 不能为空");
+        }
+        $remark = isset($this->post['remark']) &&$this->post['remark']!=="" ? trim($this->post['remark']):"" ;
         $data=[
-            "wsm_in_code"=>$incode,
-            "wsm_num"=>$wsm_num,
-            "reissue_num"=>$reissue_num,
-            "return_num"=>$return_num,
-            "return_contactor"=>$contactor,
-            "return_addr"=>$addr,
-            "return_mobile"=>$mobile,
-            "error_remark"=>$error_remark,
             "post_code"=>$post_code,
             "post_company"=>$post_company,
-            "remark"=>$remark ,
-            "apply_id"=>$userinfo['id'],
-            "apply_name"=>$userinfo['nickname'],
-            "status"=>0,
-            "addtime"=>date("Y-m-d H:i:s"),
+            "remark"=>$remark,
+            "status"=>1,
             "updatetime"=>date("Y-m-d H:i:s")
         ];
-       $res = Db::name("purchease_return")->insert($data);
-        if($res){
-            Db::commit();
-            return app_show(0,"退货新建完成");
+        $up =Db::name("purchease_return")->where($return)->save($data);
+        if($up){
+           return  app_show(0,"退货发货完成");
         }else{
-            Db::rollback();
-            return error_show(1002,"退货新建失败");
+            return  error_show(0,"退货发货失败");
         }
     }
 }

+ 4 - 1
app/admin/model/ActionLog.php

@@ -17,8 +17,9 @@ class ActionLog extends Model
      * @param $type
      * @param $status
      */
-    static function idd($token,$order,$type,$status){
+    static function logAdd($token,$order,$type,$status,$post){
         $user = GetUserInfo($token);
+        unset($post['token']);
         $uid = isset($user['data']['id']) ? $user['data']['id'] :0;
         $name = isset($user['data']['nickname']) ? $user['data']['nickname'] :'';
         $roleid=0;
@@ -34,6 +35,8 @@ class ActionLog extends Model
             "action_remark"=>isset($order['remark']) ? trim($order['remark']) :"",
             "order_code"=>isset($order['order_code']) ? trim($order['order_code']) :"",
             "order_type"=>$type,
+            "action_type"=>isset($order['action_type']) ? trim($order['action_type']) :"",
+            "action_data"=>json_encode($post),
             "order_status"=>isset($order['status']) ? trim($order['status']) :"",
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s")