Parcourir la source

修改范围判断

moonsflyer il y a 2 mois
Parent
commit
190fcb62c3
1 fichiers modifiés avec 18 ajouts et 7 suppressions
  1. 18 7
      app/adminapi/lists/asset/AssetLeaseLists.php

+ 18 - 7
app/adminapi/lists/asset/AssetLeaseLists.php

@@ -269,12 +269,23 @@ class AssetLeaseLists extends BaseAdminDataLists implements ListsSearchInterface
         $where = [];
 //        $where[] = ['lease_end_time', '>=', $params['lease_start_time']];
         $where[] = ['a_id', '=', $params['a_id']];
-       $tswhere = "(lease_start_time <". $params['lease_end_time'].") or ( lease_start_time < ".$params['lease_start_time']." and lease_end_time >".$params['lease_start_time'].")";
-        $assetLeaseInfo = AssetLeaseInfo::where($where)->where($tswhere)->findOrEmpty();
-
-        if (!$assetLeaseInfo->isEmpty()) {
-            return ['code' => 0, 'msg' => '租赁期内有未到期的租赁信息!','data'=>$assetLeaseInfo];
-        }
+//       $tswhere = "(lease_start_time <". $params['lease_end_time'].") or ( lease_start_time < ".$params['lease_start_time']." and lease_end_time >".$params['lease_start_time'].")";
+//        $assetLeaseInfo = AssetLeaseInfo::where($where)->where($tswhere)->findOrEmpty();
+//
+//        if (!$assetLeaseInfo->isEmpty()) {
+//            return ['code' => 0, 'msg' => '租赁期内有未到期的租赁信息!','data'=>$assetLeaseInfo];
+//        }
+		$assetLeaseInfo = AssetLeaseInfo::where($where)->select()->toArray();
+		foreach ($assetLeaseInfo as $alv){
+			$lease_start_time = strtotime($params['lease_start_time']);
+			$lease_end_time = strtotime($params['lease_end_time']);
+			$o_lease_start_time = strtotime($alv['lease_start_time']);
+			$o_lease_end_time = strtotime($alv['lease_end_time']);
+			if(($lease_start_time >= $o_lease_start_time && $lease_start_time <= $o_lease_end_time) || ($lease_end_time >= $o_lease_start_time && $lease_end_time <= $o_lease_end_time)){
+				throw new \Exception('租赁期内有重叠的租赁信息');
+				break;
+			}
+		}
         $area_id = AssetInfo::where(['id'=>$params['a_id']])->value('area_id');
 
         AssetLeaseInfo::create([
@@ -336,7 +347,7 @@ class AssetLeaseLists extends BaseAdminDataLists implements ListsSearchInterface
 				$o_lease_start_time = strtotime($alv['lease_start_time']);
 				$o_lease_end_time = strtotime($alv['lease_end_time']);
 				if(($lease_start_time >= $o_lease_start_time && $lease_start_time <= $o_lease_end_time) || ($lease_end_time >= $o_lease_start_time && $lease_end_time <= $o_lease_end_time)){
-					throw new \Exception('租赁期内有未到期的租赁信息');
+					throw new \Exception('租赁期内有重叠的租赁信息');
 					break;
 				}
 			}