cqpCow hai 9 meses
pai
achega
19f08ce714
Modificáronse 1 ficheiros con 34 adicións e 12 borrados
  1. 34 12
      app/Service/AssetServerService.php

+ 34 - 12
app/Service/AssetServerService.php

@@ -103,8 +103,12 @@ class AssetServerService extends Service
         if(empty($data['id'])) return [false, 'ID不能为空'];
         if(empty($data['ssbm']) || empty($data['ssbm_show'])) return [false, '部门不能为空'];
         if(empty($data['ssfb']) || empty($data['ssfb_show'])) return [false, '分部不能为空'];
-        if(empty($data['borrow_start_date']) || empty($data['borrow_start_date_lt'])) return [false, '借用开始不能为空'];
-        if(empty($data['borrow_end_date']) || empty($data['borrow_end_date_lt'])) return [false, '借用结束不能为空'];
+        if(empty($data['borrow_days'])) return [false, '租借天数不能为空'];
+//        if(empty($data['borrow_start_date']) || empty($data['borrow_start_date_lt'])) return [false, '借用开始不能为空'];
+//        if(empty($data['borrow_end_date']) || empty($data['borrow_end_date_lt'])) return [false, '借用结束不能为空'];
+        list($borrow_start_date,$borrow_start_date_lt) = $this->getE8AndUTC();
+        $borrow_end_date = date("Y-m-d H:i:s", strtotime("+{$data['borrow_days']} days", strtotime($borrow_start_date)));
+        list($borrow_end_date,$borrow_end_date_lt) = $this->getE8AndUTC($borrow_end_date);
         if(empty($data['borrow_person']) || empty($data['borrow_person_show'])) return [false, '借用人不能为空'];
 
         $url = config("asset.create_fixed_borrow");
@@ -115,10 +119,10 @@ class AssetServerService extends Service
             'ssbm_show' => $data['ssbm_show'],
             'ssfb' => $data['ssfb'],
             'ssfb_show' => $data['ssfb_show'],
-            'borrow_start_date' => $data['borrow_start_date'],
-            'borrow_start_date_lt' => $data['borrow_start_date_lt'],
-            'borrow_end_date' => $data['borrow_end_date'],
-            'borrow_end_date_lt' => $data['borrow_end_date_lt'],
+            'borrow_start_date' => $borrow_start_date,
+            'borrow_start_date_lt' => $borrow_start_date_lt,
+            'borrow_end_date' => $borrow_end_date,
+            'borrow_end_date_lt' => $borrow_end_date_lt,
             'borrow_person' => $data['borrow_person'],
             'borrow_person_show' => $data['borrow_person_show'],
         ];
@@ -171,21 +175,19 @@ class AssetServerService extends Service
         if(empty($data['id'])) return [false, 'ID不能为空'];
         if(empty($data['ssbm']) || empty($data['ssbm_show'])) return [false, '部门不能为空'];
         if(empty($data['ssfb']) || empty($data['ssfb_show'])) return [false, '分部不能为空'];
-        if(empty($data['return_date']) || empty($data['return_date_lt'])) return [false, '归还开始不能为空'];
+        list($return_date,$return_date_lt) = $this->getE8AndUTC();
+//        if(empty($data['return_date']) || empty($data['return_date_lt'])) return [false, '归还开始不能为空'];
         if(empty($data['return_person']) || empty($data['return_person_show'])) return [false, '归还人不能为空'];
 
         $url = config("asset.create_fixed_return");
-
         $post = [
             'id' => $data['id'],
             'ssbm' => $data['ssbm'],
             'ssbm_show' => $data['ssbm_show'],
             'ssfb' => $data['ssfb'],
             'ssfb_show' => $data['ssfb_show'],
-            'return_start_date' => $data['return_start_date'],
-            'return_start_date_lt' => $data['return_start_date_lt'],
-            'return_end_date' => $data['return_date'],
-            'return_end_date_lt' => $data['return_end_date_lt'],
+            'return_date' => $return_date,
+            'return_date_lt' => $return_date_lt,
             'return_person' => $data['return_person'],
             'return_person_show' => $data['return_person_show'],
         ];
@@ -276,6 +278,26 @@ class AssetServerService extends Service
         return [true, $result];
     }
 
+    public function getE8AndUTC($dateTimeString = ""){
+        $eastEightTimeZone = new \DateTimeZone('Asia/Shanghai'); // 东八区时区
+        $utcTimeZone = new \DateTimeZone('UTC'); // UTC时区
+
+        // 假设的东八区时间,没有毫秒部分
+        if(! $dateTimeString) $dateTimeString = date("Y-m-d H:i:s");
+        $milliseconds = '000'; // 假设的毫秒值
+
+        // 创建DateTime对象并设置时区为东八区
+        $dateTime = new \DateTime($dateTimeString, $eastEightTimeZone);
+
+        // 将DateTime对象转换为UTC时区
+        $dateTime->setTimezone($utcTimeZone);
+
+        // 格式化DateTime对象为ISO 8601格式,并添加毫秒部分
+        $formattedDate = $dateTime->format('Y-m-d\TH:i:s') . '.' . str_pad($milliseconds, 3, '0', STR_PAD_LEFT) . 'Z';
+
+        return [$dateTimeString,$formattedDate];
+    }
+
     public function post_helper($url, $data, $header = [], $timeout = 20){
         Log::channel('apiLog')->info('资产盘点POST', ["api" => $url , "param" => $data ,"header" => $header]);