Browse Source

采购单修改供应商添加记录

wufeng 2 năm trước cách đây
mục cha
commit
cded7f13dd
2 tập tin đã thay đổi với 78 bổ sung18 xóa
  1. 77 18
      app/admin/controller/Purch.php
  2. 1 0
      app/admin/route/app.php

+ 77 - 18
app/admin/controller/Purch.php

@@ -7,6 +7,7 @@ namespace app\admin\controller;
 use app\admin\model\ActionLog;
 use app\admin\model\ProcessOrder;
 use think\App;
+use think\Exception;
 use think\facade\Db;
 use think\facade\Validate;
 
@@ -283,7 +284,8 @@ class Purch extends Base
         if($cgdNo==""){
             return error_show(1004,"参数cgdNo 不能为空");
         }
-        $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
+        $old = $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
+
         if(empty($data)){
             return error_show(1004,"未找到数据");
         }
@@ -380,29 +382,61 @@ class Purch extends Base
         if($remark!=""){
             $data['remark'] = $remark;
         }
-        $data['good_price'] = round(($data['pakge_fee']+$data['weight']*$data['gold_price']+$data['nake_fee']+$data['mark_fee']+$data['cert_fee']+$data['open_fee']/$data['good_num']
-        +$data['teach_fee']*$data['weight']+$data['delivery_fee']),2);
+        $data['good_price'] = round(($data['pakge_fee']+$data['weight']*$data['gold_price']+$data['nake_fee']+$data['mark_fee']+$data['cert_fee']+$data['open_fee']/$data['good_num']+$data['teach_fee']*$data['weight']+$data['delivery_fee']),2);
         $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);
-        if($upd){
+
+        Db::startTrans();
+        try{
+
+            $upd=Db::name("purchease_order")->save($data);
+            if($upd){
 //            ActionLog::logAdd($this->post['token'],$order,'cgd',$data['status'],$this->post);
 
-            //修改状态,添加待办
-            ActionLog::logAdd($this->post['token'], $order, "CGD", $data['status'], $this->post);
 
-            ProcessOrder::AddProcess($this->post['token'], [
-                "order_type" => 'CGD',
-                "order_code" => $cgdNo,//销售单code
-                "order_id" => $data['id'],
-                "order_status" => $data['status']
-            ]);
+                //如果修改了供应商信息,需要记录
+                if($supplierNo!="" && $supplierNo!=$old['supplierNo']){
+                    $change_log_data=[
+                        'cgdNo'=>$cgdNo,
+                        'cgder_id_old'=>$old['cgder_id'],
+                        'cgder_id'=>$data['cgder_id'],
+                        'cgder_old'=>$old['cgder'],
+                        'cgder'=>$data['cgder'],
+                        'supplierNo_old'=>$old['supplierNo'],
+                        'supplierNo'=>$data['supplierNo'],
+                        'supplier_name_old'=>$old['supplier_name'],
+                        'supplier_name'=>$data['supplier_name'],
+                        'addtime'=>date('Y-m-d H:i:s'),
+                        'updatetime'=>date('Y-m-d H:i:s'),
+                        'creater_id'=>$data['cgder_id'],
+                        'creater'=>$data['cgder'],
+                    ];
+                    Db::name('purchease_change_supplier_log')->insert($change_log_data);
+                }
 
+                //修改状态,添加待办
+                ActionLog::logAdd($this->post['token'], $order, "CGD", $data['status'], $this->post);
 
-            return app_show(0,"更新成功");
-        }else{
-            return error_show(1004,'更新失败');
+                ProcessOrder::AddProcess($this->post['token'], [
+                    "order_type" => 'CGD',
+                    "order_code" => $cgdNo,//销售单code
+                    "order_id" => $data['id'],
+                    "order_status" => $data['status']
+                ]);
+
+                Db::commit();
+
+                return app_show(0,"更新成功");
+            }else{
+                Db::rollback();
+                return error_show(1004,'更新失败');
+            }
+
+        }catch (Exception $exception){
+            Db::rollback();
+            return error_show(1004,'更新失败,'.$exception->getMessage());
         }
+
     }
 
     public function status()
@@ -743,8 +777,7 @@ class Purch extends Base
 
         $rs = Db::name("purchease_order")
             ->where('id', $data['id'])
-            ->update(['updatetime' => date('Y-m-d H:i:s'), 'gold_price' => $param['gold_price'],
-                "good_price"=>$sale_price,"total_fee"=>$total_price]);
+            ->update(['updatetime' => date('Y-m-d H:i:s'), 'gold_price' => $param['gold_price'],"good_price"=>$sale_price,"total_fee"=>$total_price]);
 
         return $rs ? app_show(0, '修改采购单实时金价成功') : error_show(1005, '修改采购单实时金价失败');
 
@@ -822,6 +855,32 @@ class Purch extends Base
         excelSave('采购单导出' . date('YmdHis'), $headerArr, $list);
     }
 
+    //获取采购单修改供应商的记录列表
+    public function getChangeSupplierList(){
+
+        $param = $this->request->only(['cgdNo'=>'','start'=>'','end'=>'','page'=>1,'size'=>15],'post','trim');
+
+        $where=[['is_del','=',0]];
+        if(!empty($param['cgdNo'])) $where[]=['cgdNo','like','%'.$param['cgdNo'].'%'];
+        if(!empty($param['start'])) $where[]=['addtime','>=',$param['start']];
+        if(!empty($param['end'])) $where[]=['addtime','<=',$param['end'].' 23:59:59'];
+
+        $total = Db::name('purchease_change_supplier_log')
+            ->where($where)
+            ->count('id');
+
+        $list =Db::name('purchease_change_supplier_log')
+            ->withoutField('status,remark')
+            ->where($where)
+            ->order('id','desc')
+            ->page($param['page'],$param['size'])
+            ->select()
+            ->toArray();
+
+        return app_show(0,'获取成功',['list'=>$list,'count'=>$total]);
+
+    }
+
 //    public function create(){
 //        $customer = isset($this->post['customer_code'])&&$this->post['customer_code']!="" ?trim($this->post['customer_code']):"";
 //        if($customer==""){

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

@@ -201,6 +201,7 @@ Route::rule("cgddiffinfo","admin/Purch/diffinfo");
 Route::rule("cgddiffstatu","admin/Purch/diffstatu");
 Route::rule("cgdeditgoldprice","admin/Purch/editGoldPrice");//修改采购单实时金价
 Route::rule("exportcgdlist","admin/Purch/exportCgdList");//导出采购单
+Route::rule("cgdgetchangesupplierlist","admin/Purch/getChangeSupplierList");//导出采购单
 
 Route::rule("orderinlist","admin/Purchin/list");
 Route::rule("orderinadd","admin/Purchin/add");