---
# System prepended metadata

title: Custos Enterprise API - API-017 刪除移動紀錄 (新)
tags: [新 API]

---

# 刪除移動紀錄
Custos-EnterpriseAPP-API-017
V1.0
2023.09.25
	
Custos Enterprise APP 持續偵測使用者位置資訊並記錄其移動，此 API 可將有問題之紀錄進行刪除。

[toc]
## 作業啟動
1. 以傳入之使用者 token 取得使用者流水編號 #emp_data_id
2. 記錄 SystemLog：#emp_data_id|刪除移動紀錄|作業啟動

## API 作業啟動
1. 刪除 corp_ls_transportation_records 與 corp_ls_transportation_record_details 資料：以傳入之移動紀錄 #record_id (多筆以逗號隔開) 為條件刪除 corp_ls_transportation_records 與 corp_ls_transportation_record_details 資料，參考 SQL：
*delete from corp_ls_transportation_records where record_id in (#record_id)*
2. 刪除 corp_ls_carbon_records：
(1) 以傳入之移動紀錄 #record_id 為條件查詢 corp_ls_carbon_records，取得其樹葉數量總數，存入變數 #leaves，參考 SQL：
*select sum(leaves) from corp_ls_carbon_records where life_style_data_id in (#record_id)*
(2) 刪除 corp_ls_carbon_records，參考 SQL：
*delete from corp_ls_carbon_records where life_style_data_id in (#record_id)*
3. 更新 corp_ls_emp_carbon_records：將上述的樹葉總數從 corp_ls_emp_carbon_records 扣除，參考 SQL：
*update corp_ls_emp_carbon_records set leaves_accum = leaves_accum - #leaves where emp_data_id = #emp_data_id*

## 作業結束
記錄 SystemLog：#emp_data_id|刪除移動紀錄|作業結束

## 例外處理
若執行中有發生異常，將攔截到的 exception 訊息記錄 ErrorLog：[YYYYMMDDHHMMSS] EnterpriseAPP-API-017 發生異常：【#攔截到的 exception 訊息】

## 規格及範例
|API No|EnterpriseAPP-API-017|
|-|-|
|API Name|deleteTransportationRecords|
|URL|${url}/APP/setData/deleteTransportationRecords|
|Purpose|將使用者移動紀錄刪除|
|Description|透過 API 將使用者移動紀錄刪除|
|Protocol|JSON over HTTP POST|
|Content-Type|application/json|

**Request**
|參數|型態|必填|長度|說明|
|-|-|:-:|:-:|-|
|token|String|Y||使用者驗證字串|
|record_id|String|Y||要刪除的移動紀錄 id (即為 API-013 #period 為 T 時傳給 APP 的 record_id)[目前實際運作是013回傳的life_style_data_id帶入017的record_id]|

**Response**
|參數|型態|必回|說明|
|-|-|:-:|-|
|result|String|Y|API 執行結果，Y：成功，N：失敗|
|message|String|N|API 執行失敗的訊息說明|

**Request Sample**
```json
var input = {
  "token": "xxx",
  "record_id": "12, 18, 20" 
}
```

**Response Sample**
```json
{	
  "result": "Y",	//API 結果
  "message": "..."	//API 訊息，Ex："執行失敗，原因：XXXXXXXXX"
}


