rabin 3 年之前
父节点
当前提交
e7027f52cc
共有 3 个文件被更改,包括 100 次插入44 次删除
  1. 7 1
      service/bill/database/cash.php
  2. 2 1
      service/bill/database/tixian.php
  3. 91 42
      service/bill/lib/Manage.php

+ 7 - 1
service/bill/database/cash.php

@@ -67,9 +67,15 @@ return array
     	'status' => $status,
     	'type' => $type,
     ),
+    'start' => array
+    (
+        'updatemul' => 'bill/lib/manage.cashAuditUpdateStart',
+    ),
+
     'end' => array
     (
         'update' => 'bill/lib/manage.cashAuditUpdate',
+        'updatemul' => 'bill/lib/manage.cashAuditUpdate',
     ),
     'order' => 99,
     # 数据结构
@@ -304,7 +310,7 @@ return array
         'delete' => false,
         'edit' => false,
         'button' => $button,
-        'mul' => true,
+        'mul' => '{status} == 1',
         'list_button' => $list_button,
     ),
 

+ 2 - 1
service/bill/database/tixian.php

@@ -41,6 +41,7 @@ return array
     'end' => array
     (
         'update' => 'bill/lib/manage.tixianAuditUpdate',
+        'updatemul' => 'bill/lib/manage.tixianAuditUpdate',
     ),
     'order' => 80,
     # 数据结构
@@ -283,7 +284,7 @@ return array
         'insert' => false,
         'delete' => false,
         'edit' => false,
-        'mul'  => true,
+        'mul' => '{status} == 1',
         'list_button' => $list_button,
     ),
 

+ 91 - 42
service/bill/lib/Manage.php

@@ -26,36 +26,65 @@ class Manage
         }
     }
 
+    public function cashAuditUpdateStart($param, $name, $data)
+    {
+        $mul_type = Dever::config('base')->mul_type;
+        if ($mul_type == 2) {
+            $list = Dever::db('bill/cash')->select(array('status' => 1));
+        } else {
+            $list = explode(',', $param['where_id']);
+        }
+    }
+
     public function cashAuditUpdate($id, $name, $data)
     {
     	Dever::config('base')->hook = true;
         $audit = Dever::param('audit', $data);
         if ($audit > 1) {
-            #已审核
-        	if ($audit == 2) {
-	        	Dever::db('bill/cash')->update(array('where_id' => $id, 'status' => 2, 'operdate' => time()));
-	        	$info = Dever::db('bill/cash')->find($id);
-	        	if ($info && $info['type'] <= 10) {
-	        		$where['where_id'] = $info['mid'];
-	        		$where['cash'] = $info['cash'];
-	        		Dever::db('agent/member')->upCash($where);
-	        	}elseif ($info && $info['type'] == 11) {
-                    $tixian = Dever::db('bill/tixian')->find($info['type_id']);
-                    $where['where_id'] = $tixian['id'];
-                    $where['status'] = 1;
-                    Dever::db('bill/tixian')->update($where);
+            $mul_type = Dever::config('base')->mul_type;
+            if ($mul_type == 2) {
+                $list = Dever::db('bill/cash')->select(array('status' => 1));
+            } else {
+                $list = explode(',', $id);
+            }
+            
+            foreach ($list as $k => $v) {
+                if (is_array($v)) {
+                    $id = $v['id'];
+                } else {
+                    $id = $v;
+                    $info  = Dever::db('bill/cash')->find(array('id' => $id, 'clear' => true));
+                }
+                
+                if ($info['status'] != 1) {
+                    continue;
+                }
+                #已审核
+                if ($audit == 2) {
+                    Dever::db('bill/cash')->update(array('where_id' => $id, 'status' => 2, 'operdate' => time()));
+                    $info = Dever::db('bill/cash')->find($id);
+                    if ($info && $info['type'] <= 10) {
+                        $where['where_id'] = $info['mid'];
+                        $where['cash'] = $info['cash'];
+                        Dever::db('agent/member')->upCash($where);
+                    }elseif ($info && $info['type'] == 11) {
+                        $tixian = Dever::db('bill/tixian')->find($info['type_id']);
+                        $where['where_id'] = $tixian['id'];
+                        $where['status'] = 1;
+                        Dever::db('bill/tixian')->update($where);
+                    }
+                } else {
+                    #作废
+                    Dever::db('bill/cash')->update(array('where_id' => $id, 'status' => 3, 'operdate' => time()));
+                    $info = Dever::db('bill/cash')->find($id);
+                    if ($info && $info['type'] == 11) {
+                        $tixian = Dever::db('bill/tixian')->find($info['type_id']);
+                        $where['where_id'] = $info['mid'];
+                        $where['cash'] = -1*$tixian['ycash'];
+                        Dever::db('agent/member')->upCash($where);
+                    }
                 }
-	        } else {
-                #作废
-	        	Dever::db('bill/cash')->update(array('where_id' => $id, 'status' => 3, 'operdate' => time()));
-	        	$info = Dever::db('bill/cash')->find($id);
-	        	if ($info && $info['type'] == 11) {
-	        		$tixian = Dever::db('bill/tixian')->find($info['type_id']);
-	        		$where['where_id'] = $info['mid'];
-	        		$where['cash'] = -1*$tixian['ycash'];
-	        		Dever::db('agent/member')->upCash($where);
-	        	}
-	        }
+            }
         }
     }
 
@@ -65,25 +94,45 @@ class Manage
         $audit = Dever::param('audit', $data);
         $desc = Dever::param('audit_desc', $data);
         if ($audit > 1) {
-        	$info = Dever::db('bill/cash')->find(array('type' => 11, 'type_id' => $id));
-        	if (!$info) {
-        		Dever::alert('系统错误');
-        	}
-        	if ($audit == 2) {
-	        	Dever::db('bill/tixian')->update(array('where_id' => $id, 'status' => 2, 'operdate' => time()));
-	        	if ($info && $info['status'] == 1) {
-	        		Dever::db('bill/cash')->update(array('where_id' => $id, 'status' => 2, 'operdate' => time()));
-	        	}
-                # 通知短信
-                if (Dever::project('sms')) {
-                    $member = Dever::db('agent/member')->find($info['mid']);
-                    Dever::load('sms/api')->send('daili_tixian_yes', $member['mobile'], array('name' => $member['name']));
+            $mul_type = Dever::config('base')->mul_type;
+            if ($mul_type == 2) {
+                $list = Dever::db('bill/tixian')->select(array('status' => 1));
+            } else {
+                $list = explode(',', $id);
+            }
+            
+            foreach ($list as $k => $v) {
+                if (is_array($v)) {
+                    $id = $v['id'];
+                } else {
+                    $id = $v;
+                    $info  = Dever::db('bill/tixian')->find(array('id' => $id, 'clear' => true));
                 }
-	        } else {
-                # 通知短信
-                if (Dever::project('sms')) {
-                    $member = Dever::db('agent/member')->find($info['mid']);
-                    Dever::load('sms/api')->send('daili_tixian_no', $member['mobile'], array('name' => $member['name'], 'content' => $desc));
+                
+                if ($info['status'] != 1) {
+                    continue;
+                }
+
+                $info = Dever::db('bill/cash')->find(array('type' => 11, 'type_id' => $id));
+                if (!$info) {
+                    continue;
+                }
+                if ($audit == 2) {
+                    Dever::db('bill/tixian')->update(array('where_id' => $id, 'status' => 2, 'operdate' => time()));
+                    if ($info && $info['status'] == 1) {
+                        Dever::db('bill/cash')->update(array('where_id' => $id, 'status' => 2, 'operdate' => time()));
+                    }
+                    # 通知短信
+                    if (Dever::project('sms')) {
+                        $member = Dever::db('agent/member')->find($info['mid']);
+                        Dever::load('sms/api')->send('daili_tixian_yes', $member['mobile'], array('name' => $member['name']));
+                    }
+                } else {
+                    # 通知短信
+                    if (Dever::project('sms')) {
+                        $member = Dever::db('agent/member')->find($info['mid']);
+                        Dever::load('sms/api')->send('daili_tixian_no', $member['mobile'], array('name' => $member['name'], 'content' => $desc));
+                    }
                 }
             }
         }