Ver código fonte

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP20_WEB_GLOBAL

li.shaoyi 2 anos atrás
pai
commit
6e88f7818e

+ 9 - 8
oem/gstj/config/router.json

@@ -30,6 +30,7 @@
                                 "authType": 3,
                                 "title": "交收",
                                 "code": "bottom_goods_position_delivery16",
+                                "hidden": true,
                                 "component": "views/footer/goods/position/components/delivery16/index.vue",
                                 "className": "el-button--primary"
                             },
@@ -242,20 +243,20 @@
                                 "code": "market_trade_goods_50102",
                                 "component": "views/market/trade/goods/list/index.vue"
                             },
-                            {
+							 {
                                 "authType": 2,
                                 "sort": 2,
-                                "title": "协议转让",
-                                "code": "market_trade_goods_50101",
-                                "component": "views/market/trade/goods/list/index.vue"
+                                "title": "现货挂牌",
+                                "code": "market_trade_spot",
+                                "component": "views/market/trade/spot/index.vue"
                             },
                             {
                                 "authType": 2,
                                 "sort": 3,
-                                "title": "现货挂牌",
-                                "code": "market_trade_spot",
-                                "component": "views/market/trade/spot/index.vue"
-                            }
+                                "title": "协议转让",
+                                "code": "market_trade_goods_50101",
+                                "component": "views/market/trade/goods/list/index.vue"
+                            }                           
                         ]
                     }
                 ]

+ 11 - 0
src/filters/index.ts

@@ -192,6 +192,17 @@ export function formatDate(value?: string, format = 'YYYY-MM-DD HH:mm:ss') {
 }
 
 /**
+ * 计算两者之间的天数
+ * @param value 
+ * @returns 
+ */
+export function diffDays(value?: string) {
+    const end = moment(new Date().toISOString())
+    const start = moment(value)
+    return end.diff(start, 'days')
+}
+
+/**
  * 更换数字单位
  * @param value
  * @returns

+ 1 - 1
src/packages/mobile/views/bank/wallet/components/deposit/Index.vue

@@ -16,7 +16,7 @@
                 </template>
             </CellGroup>
         </Form>
-        <div class="g-form__bank" v-else>
+        <div class="g-form__bank" v-if="cusBank.caninamount === 0">
             <span>{{ msg }}</span>
         </div>
         <div class="g-form__time">

+ 1 - 1
src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue

@@ -30,7 +30,7 @@
                 </template>
             </CellGroup>
         </Form>
-        <div class="g-form__bank" v-else>
+        <div class="g-form__bank" v-if="cusBank.canoutamount === 0">
             <span>{{ msg }}</span>
         </div>
         <div class="g-form__time">

+ 193 - 5
src/packages/pc/components/layouts/header/components/report/index.vue

@@ -1,31 +1,219 @@
 <!-- 交易商结算单 -->
 <template>
-    <app-drawer title="交易商结算单" width="80%" v-model:show="show" :refresh="refresh">
+    <app-drawer title="交易商结算单" :width="1000" v-model:show="show" :refresh="refresh">
+        <el-select placeholder="请选择" v-model="reporttype" @change="onChange">
+            <el-option v-for="option in selectList" :key="option.value" :value="option.value" :label="option.label" />
+        </el-select>
+        <el-date-picker :type="reporttype === 1 ? 'date' : 'month'" placeholder="查询日期" :value-format="reporttype === 1 ? 'YYYYMMDD' : 'YYYYMM'" v-model="cycletime" />
+        <el-button type="danger" @click="reloadData">查询</el-button>
+        <app-table-details title="账户信息" :data="ta" :label-width="180" :cell-props="accountDetailProps" :column="2" >
+            <!-- 名称 -->
+            <template #accountname>
+                {{ userinfo?.customername }}
+            </template>
+            <!-- 结算时间 -->
+            <template #currencyid>
+                {{ 'RMB' }}
+            </template>
+            <!-- 结算时间 -->
+            <template #tradestatuschangetime="{ value }">
+                {{ formatDate(value) }}
+            </template>
+        </app-table-details>
+        <app-table-details v-if="reporttype === 1 && dtaaccounts.length != 0" title="资金信息" :data="dtaaccounts[0]" :label-width="180" :cell-props="taDetailProps" :column="2" ></app-table-details>
+        <app-table-details v-if="reporttype === 2 && mtaaccounts.length != 0" title="资金信息" :data="mtaaccounts[0]" :label-width="180" :cell-props="taDetailProps" :column="2" ></app-table-details>
+        <span>出入金明细</span>
+        <app-table :data="logs" v-model:columns="logsTableColumns" />
+        <span>持仓汇总</span>
+        <app-table :data="dpostions" v-model:columns="dpostionsTableColumns" />
+        <span>成交明细</span>
+        <app-table :data="tradedetails" v-model:columns="tradeDetailsTableColumns" />
         <template #footer>
-            <el-button type="info" @click="onAgree(false)">同意进入系统</el-button>
+            <el-button type="info" @click="onAgree">同意进入系统</el-button>
             <el-button type="danger" @click="onDisAgree">不同意,退出系统</el-button>
         </template>
     </app-drawer>
 </template>
 
 <script lang="ts" setup>
-import { ref } from 'vue'
+import { ref, shallowRef } from 'vue'
 import { useRouter } from 'vue-router'
 import eventBus from '@/services/bus'
+import { useAccountStore, useUserStore } from '@/stores'
+import { formatDate } from '@/filters'
+import { localData } from '@/stores/storage'
+import { onMounted } from 'vue'
+import { queryReportBankAccountOutInLog, queryReportMonthTaaccount, queryReportReckonDayPosition, queryReportReckonDayTaaccount, queryReportTradeDetail } from '@/services/api/report'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppTable from '@pc/components/base/table/index.vue'
+import AppTableDetails from '@pc/components/base/table-details/index.vue'
 
 const show = ref(true)
 const refresh = ref(false)
 const router = useRouter()
+/// 报表类型 日报表-1 月报表-2
+const reporttype = ref(1)
+/// 查询时间
+const cycletime = shallowRef(formatDate(new Date().toISOString(), 'YYYYMMDD'))
 
-const onAgree = (isRefresh = false) => {
+const ta = useAccountStore().currentAccount
+const userinfo = useUserStore().userInfo
+
+const logs = shallowRef<Model.ReportBankAccountOutInLogRsp[]>([])
+const mtaaccounts = shallowRef<Model.ReportMonthTaaccountRsp[]>([])
+const dpostions = shallowRef<Model.ReportReckonDayPositionRsp[]>([])
+const dtaaccounts = shallowRef<Model.ReportReckonDayTaaccountRsp[]>([])
+const tradedetails = shallowRef<Model.ReportTradeDetailRsp[]>([])
+
+const onAgree = () => {
+    /// 记录时间和是否同意
+    localData.setValue('isReportAgree', true) 
+    localData.setValue('reportTime', new Date().toISOString())
     show.value = false
-    refresh.value = isRefresh
+    refresh.value = false
 }
 
 const onDisAgree = () => {
+    /// 记录时间和是否同意
+    localData.setValue('isReportAgree', false) 
     eventBus.$emit('LogoutNotify')
     router.replace({ name: 'login' })
 }
 
+const reloadData = () => {
+    /// 报表 - 交易商结算单 - 出入金明细
+    queryReportBankAccountOutInLog({
+        data: {
+            tradedate: cycletime.value,
+            reporttype: reporttype.value,
+        }
+    }).then(res => {
+        /// 查询成功
+        if (res.data.length) {
+            logs.value = res.data
+        }
+    })
+
+    if (reporttype.value === 2) {
+        /// 表 - 交易商结算单 - 资金信息(月)
+        queryReportMonthTaaccount({
+            data: {
+                cycletime: cycletime.value,
+            }
+        }).then(res => {
+            /// 查询成功
+            if (res.data.length) {
+                mtaaccounts.value = res.data
+            }
+        })
+    } else {
+        /// 报表 - 交易商结算单 - 资金信息(日)
+        queryReportReckonDayTaaccount({
+            data: {
+                reckondate: cycletime.value,
+            }
+        }).then(res => {
+            /// 查询成功
+            if (res.data.length) {
+                dtaaccounts.value = res.data
+            }
+        })
+    }
+
+    /// 报表 - 交易商结算单 - 持仓汇总
+    queryReportReckonDayPosition({
+        data: {
+            reckondate: cycletime.value,
+            reporttype: reporttype.value
+        }
+    }).then(res => {
+        /// 查询成功
+        if (res.data.length) {
+            dpostions.value = res.data
+        }
+    })
+
+    /// 报表 - 交易商结算单 - 成交明细
+    queryReportTradeDetail({
+        data: {
+            histradedate: cycletime.value,
+            reporttype: reporttype.value
+        }
+    }).then(res => {
+        /// 查询成功
+        if (res.data.length) {
+            tradedetails.value = res.data
+        }
+    })
+}
+
+const onChange = () => {
+    cycletime.value = formatDate(cycletime.value, reporttype.value === 1 ? 'YYYYMMDD' : 'YYYYMM')
+}
+
+/// 账户信息
+const accountDetailProps = [
+    { prop: 'currencyid', label: '币种:' },
+    { prop: 'accountid', label: '账号:' },
+    { prop: 'accountname', label: '名称:' },
+    { prop: 'tradestatuschangetime', label: '结算日期:' },
+]
+
+/// 资金信息
+const taDetailProps = [
+    { prop: 'balance', label: '期初余额:' },
+    { prop: '', label: '' },
+    { prop: 'inamount', label: '银行入金:' },
+    { prop: 'closepl', label: '平仓损益:' },
+    { prop: 'outamount', label: '银行出金:' },
+    { prop: 'reckonpl', label: '结算损益:' },
+    { prop: 'freezecharge', label: '服务费:' },
+    { prop: '', label: '' },
+    { prop: 'currentbalance', label: '期末余额:' },
+    { prop: '', label: '' },
+    { prop: 'oriusedmargin', label: '占用资金:' },
+    { prop: 'orioutamountfreeze', label: '冻结资金:' },
+    { prop: 'avaiablemoney', label: '可用资金:' },
+    { prop: 'avaiableoutmoney', label: '可出资金:' },
+]
+
+/// 出入金明细
+const logsTableColumns = shallowRef<Model.TableColumn[]>([
+    { prop: 'updatetime', label: '时间' },
+    { prop: 'executetypedisplay', label: '资金类型' },
+    { prop: 'amount', label: '金额' },
+    { prop: 'applystatusdisplay', label: '状态' },
+])
+
+/// 持仓汇总
+const dpostionsTableColumns = shallowRef<Model.TableColumn[]>([
+    { prop: 'goodsdisplay', label: '商品' },
+    { prop: 'buyorselldisplay', label: '方向' },
+    { prop: 'curpositionqty', label: '持有数量' },
+    { prop: 'frozenqty', label: '冻结数量' },
+    { prop: 'curholderamount', label: '持仓金额' },
+    { prop: 'avagepricedisplay', label: '均价' },
+])
+
+/// 成交明细
+const tradeDetailsTableColumns = shallowRef<Model.TableColumn[]>([
+    { prop: 'goodsdisplay', label: '商品' },
+    { prop: 'buyorselldisplay', label: '类型/方向', width: 100 },
+    { prop: 'tradeqty', label: '数量', width: 80 },
+    { prop: 'tradeprice', label: '价格', width: 80 },
+    { prop: 'tradeamount', label: '成交金额', width: 100 },
+    { prop: 'charge', label: '服务费', width: 80 },
+    { prop: 'tradetime', label: '时间' },
+])
+
+const selectList = [
+    { label: '日报表', value: 1 },
+    { label: '月报表', value: 2 },
+]
+
+/// 请求数据
+onMounted(() => {
+    reloadData()
+})
+
 </script>

+ 7 - 2
src/packages/pc/components/layouts/header/index.vue

@@ -10,7 +10,7 @@
                 <el-badge type="danger" :is-dot="noticeStore.unreadList.length > 0">
                     <app-icon icon="g-icon--notice" @click="openComponent('notice')" />
                 </el-badge>
-                <!-- <app-icon icon="Tickets" @click="openComponent('report')" /> -->
+                <app-icon icon="Tickets" @click="openComponent('report')" />
                 <app-icon icon="Setting" @click="openComponent('setting')" />
                 <span class="g-icon--minimize" @click="exitFullSreen" v-if="fullScreen"></span>
                 <span class="g-icon--maximize" @click="setFullSreen" v-else></span>
@@ -39,11 +39,12 @@
 <script lang="ts" setup>
 import { ref, onMounted, computed, defineAsyncComponent } from 'vue'
 import { SwitchButton, Unlock, Delete, Avatar } from '@element-plus/icons-vue'
-import { getFileUrl } from '@/filters'
+import { getFileUrl, diffDays } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useUserStore, useGlobalStore, useNoticeStore } from '@/stores'
 import eventBus from '@/services/bus'
 import AppIcon from '@pc/components/base/icon/index.vue'
+import { localData } from '@/stores/storage'
 
 const componentMap = new Map<string, unknown>([
     ['notice', defineAsyncComponent(() => import('./components/notice/index.vue'))],
@@ -77,6 +78,10 @@ const exitFullSreen = () => {
 }
 
 onMounted(() => {
+    /// 如果未同意 或者跨天
+    if (!localData.getValue('isReportAgree') || diffDays(localData.getValue('reportTime')) > 0) {
+        openComponent('report')
+    }
     // 监听全屏变化
     window.addEventListener('fullscreenchange', () => {
         if (document.fullscreenElement) {

+ 5 - 7
src/packages/pc/views/account/sign/index.vue

@@ -52,7 +52,7 @@ const componentMap = new Map<string, unknown>([
     ['certification-aq', defineAsyncComponent(() => import('./components/certification-aq/index.vue'))], // 实名认证
 ])
 
-const authStatus = shallowRef(AuthStatus.Uncertified) // 实名认证状态
+const authStatus = shallowRef(AuthStatus.Certified) // 实名认证状态
 const signStatus = shallowRef(SignStatus.Unsigned)
 
 const { rowKey, expandKeys, rowClick, selectedRow } = useComposeTable<Model.BankAccountSignRsp>({ rowKey: 'applyexchticket' })
@@ -82,12 +82,10 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
 ])
 
 onMounted(() => {
-    if (authStatus.value !== AuthStatus.Certified) {
-        // 获取用户账号信息
-        queryUserAccount().then((res) => {
-            authStatus.value = res.data.hasauth
-        })
-    }
+    // 获取用户账号信息
+    queryUserAccount().then((res) => {
+        authStatus.value = res.data.hasauth
+    })
 })
 
 </script>

+ 2 - 2
src/packages/pc/views/footer/capital/summary/deposit/index.vue

@@ -1,7 +1,7 @@
 <!-- 资金信息-资金汇总-充值 -->
 <template>
     <app-drawer title="充值" :width="500" v-model:show="show" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" v-if="cusBank.caninamount === 1" class="el-form--vertical" label-width="100px" :model="formData"
+        <el-form ref="formRef" v-if="cusBank.caninamount === 1" class="el-form--vertical" label-width="120px" :model="formData"
             :rules="formRules">
             <el-form-item prop="Amount" label="充值金额">
                 <el-input-number placeholder="请输入" :max="9999999999" :precision="2" v-model="formData.Amount"
@@ -16,7 +16,7 @@
                 </el-form-item>
             </template>
         </el-form>
-        <span v-else>{{ msg }}</span>
+        <span v-if="cusBank.caninamount === 0">{{ msg }}</span>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
             <el-button type="primary" @click="formSubmit">提交</el-button>

+ 2 - 2
src/packages/pc/views/footer/capital/summary/withdraw/index.vue

@@ -1,7 +1,7 @@
 <!-- 资金信息-资金汇总-出金申请 -->
 <template>
     <app-drawer title="提现申请" :width="500" v-model:show="show" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" v-if="cusBank.canoutamount === 1" class="el-form--vertical" label-width="100px" :model="formData" :rules="formRules">
+        <el-form ref="formRef" v-if="cusBank.canoutamount === 1" class="el-form--vertical" label-width="120px" :model="formData" :rules="formRules">
             <el-form-item label="资金账号">
                 <span>{{ accountStore.currentAccountId }}</span>
             </el-form-item>
@@ -21,7 +21,7 @@
                 <el-input type="textarea" :maxlength="50" :rows="3" v-model="formData.Remark" />
             </el-form-item>
             </el-form>
-        <span v-else>{{ msg }}</span>
+        <span v-if="cusBank.canoutamount === 0">{{ msg }}</span>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
             <el-button type="primary" @click="formSubmit">提交</el-button>

+ 2 - 5
src/packages/pc/views/market/trade/presell/ballot/index.vue

@@ -23,7 +23,7 @@ import { getFileUrl } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable'
-import { getWRPresaleStatusName } from '@/constants/order'
+import { getWRPresaleStatusList, getWRPresaleStatusName } from '@/constants/order'
 import { queryPresaleAuctions } from '@/services/api/presale'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppFilter from '@pc/components/base/table-filter/index.vue'
@@ -57,10 +57,7 @@ filterOptons.selectList = [
     {
         key: 'presalestatus',
         selectedValue: 2,
-        options: [
-            { label: getWRPresaleStatusName(1), value: 1 },
-            { label: getWRPresaleStatusName(2), value: 2 },
-        ],
+        options: getWRPresaleStatusList(),
         locked: true,
     }
 ]

+ 68 - 0
src/services/api/report/index.ts

@@ -0,0 +1,68 @@
+import { getAccountId } from '@/services/methods/user'
+import { RequestConfig } from '@/services/http/types'
+import http from '@/services/http'
+
+/**
+ * 报表 - 交易商结算单 - 出入金明细
+ */
+export function queryReportBankAccountOutInLog(config: RequestConfig<Model.ReportBankAccountOutInLogReq> = {}) {
+    return http.commonRequest<Model.ReportBankAccountOutInLogRsp[]>({
+        url: '/Report/QueryReportBankAccountOutInLog',
+        params: {
+            accountid: getAccountId(),
+            ...config.data
+        },
+    })
+}
+
+/**
+ * 报表 - 交易商结算单 - 资金信息(月)
+ */
+export function queryReportMonthTaaccount(config: RequestConfig<Model.ReportMonthTaaccountReq> = {}) {
+    return http.commonRequest<Model.ReportMonthTaaccountRsp[]>({
+        url: '/Report/QueryReportMonthTaaccount',
+        params: {
+            accountid: getAccountId(),
+            ...config.data
+        },
+    })
+}
+
+/**
+ * 报表 - 交易商结算单 - 持仓汇总
+ */
+export function queryReportReckonDayPosition(config: RequestConfig<Model.ReportReckonDayPositionReq> = {}) {
+    return http.commonRequest<Model.ReportReckonDayPositionRsp[]>({
+        url: '/Report/QueryReportReckonDayPosition',
+        params: {
+            accountid: getAccountId(),
+            ...config.data
+        },
+    })
+}
+
+/**
+ * 报表 - 交易商结算单 - 资金信息(日)
+ */
+export function queryReportReckonDayTaaccount(config: RequestConfig<Model.ReportReckonDayTaaccountReq> = {}) {
+    return http.commonRequest<Model.ReportReckonDayTaaccountRsp[]>({
+        url: '/Report/QueryReportReckonDayTaaccount',
+        params: {
+            accountid: getAccountId(),
+            ...config.data
+        },
+    })
+}
+
+/**
+ * 报表 - 交易商结算单 - 成交明细
+ */
+export function queryReportTradeDetail(config: RequestConfig<Model.ReportTradeDetailReq> = {}) {
+    return http.commonRequest<Model.ReportTradeDetailRsp[]>({
+        url: '/Report/QueryReportTradeDetail',
+        params: {
+            accountid: getAccountId(),
+            ...config.data
+        },
+    })
+}

+ 3 - 1
src/stores/storage.ts

@@ -8,7 +8,9 @@ function createLocalData() {
         appTheme: AppTheme.Default,
         loginInfo: <Model.LoginRsp | undefined>undefined,
         autoLoginEncryptedData: '', // 自动登录加密数据
-        settings: <Model.LocalSetting[]>([])
+        settings: <Model.LocalSetting[]>([]),
+        reportTime: '', 
+        isReportAgree: false
     }
 }
 

+ 0 - 1
src/types/model/order.d.ts

@@ -1728,5 +1728,4 @@ declare namespace Model {
         /// 确认时间
         confirmtime: string;
     }
-
 }

+ 447 - 0
src/types/model/report.d.ts

@@ -0,0 +1,447 @@
+declare namespace Model {
+    /** 报表 - 交易商结算单 - 出入金明细 请求 */
+    interface ReportBankAccountOutInLogReq {
+       /// 资金账户
+       accountid?: number
+       /// 查询日期 日报表-yyyyMMdd 月报表-yyyyMM
+       tradedate?: string
+       /// 报表类型 日报表-1 月报表-2
+       reporttype?: number	
+       /// 页码
+       page?: number	
+       /// 每页条数
+       pagesize?: number
+   }
+
+   /** 报表 - 交易商结算单 - 出入金明细 响应 */
+   interface ReportBankAccountOutInLogRsp {
+       /// 资金账户
+       accountId: number
+       /// 金额
+       amount: number
+       /// 申请状态
+       applystatusdisplay: string
+       /// 申请类型
+       executetypedisplay: string
+       /// 报表类型 日报表-1 月报表-2
+       reportType: number
+       /// 查询日期 日报表-yyyyMMdd 月报表-yyyyMM
+       tradedate: string
+       /// 更新时间
+       updatetime: string
+   }
+
+   /** 报表 - 交易商结算单 - 资金信息(月) 请求 */
+   interface ReportMonthTaaccountReq {
+       /// 资金账户
+       accountid?: number
+       /// 月份(yyyyMM)
+       cycletime?: string
+   }
+
+   /** 报表 - 交易商结算单 - 资金信息(月) 响应 */
+   interface ReportMonthTaaccountRsp {
+       /// 资金账户ID
+       accountid: number
+       /// 账户名称
+       accountname: string
+       /// 今日账户盈亏 = 今日净值-昨日净值+今日出金-今日入金-今日划转+今日授信减少-今日授信增加+今日其它授信减少-今日其它授信增加+今日三方出金-今日三方入金;由统计服务更新
+       accountpl: number
+       /// 可用资金【期末】
+       avaiablemoney: number
+       /// 可出资金【期末】
+       avaiableoutmoney: number
+       /// 期初余额
+       balance: number
+       /// 本周期本金余额[外部子账户实际出入金余额]
+       capitalbalance: number
+       /// 清算余额 = 期末余额 - 授信金额 - 其它授信金额
+       clearbalance: number
+       /// 清算盈亏
+       clearpl: number
+       /// 本周期平仓盈亏
+       closepl: number
+       /// 平仓盈亏(逐笔)
+       closepl2: number
+       /// 本周期授信减少
+       creditdecrease: number
+       /// 本周期授信增加
+       creditincrease: number
+       /// 期末欠款【期末】
+       curdebt: number
+       /// 货币ID
+       currencyid: number
+       /// 期末余额
+       currentbalance: number
+       /// 周期时间 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(0)
+       cycletime: string
+       /// 周期类型 - 1:月 2:季 3:年 4:周 5:全报表
+       cycletype: number
+       /// 本周期递延费2支出[111, 112]
+       defercharge: number
+       /// 本周期交收货款收入
+       deliveryamountin: number
+       /// 本周期交收货款支出
+       deliveryamountout: number
+       /// 本周期交收手续费支出 [105,106]
+       deliverycharge: number
+       /// 本周期交收补偿费收入
+       deliverycompensationfeein: number
+       /// 本周期交收补偿费支出
+       deliverycompensationfeeout: number
+       /// 本周期已收手续费分成
+       dividedcharge: number
+       /// 浮动净值【期末】
+       floatnetvalue: number
+       /// 浮动盈亏【期末】
+       floatpl: number
+       /// 手续费冻结
+       freezecharge: number
+       /// 冻结保证金
+       freezemargin: number
+       /// 所属上级账户
+       fromaccountid: number
+       /// 本周期持仓过夜费支出[108,109, 110]
+       holdcharge: number
+       /// 本周期入金金额
+       inamount: number
+       /// 本周期递延费支出[103, 104]
+       interestcharge: number
+       /// 是否母账号 0:不是母账户 1:是母账户
+       ismain: number
+       /// 授信金额
+       mortgagecredit: number
+       /// 净值 = 期末余额 + 所有权市值
+       netvalue: number
+       /// 期初欠款【期初】
+       oridebt: number
+       /// 期初手续费冻结
+       orifreezecharge: number
+       /// 期初冻结保证金
+       orifreezemargin: number
+       /// 期初授信金额
+       orimortgagecredit: number
+       /// 期初其它授信金额
+       oriothercredit: number
+       /// 期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
+       oriotherfreezemargin: number
+       /// 期初出金冻结
+       orioutamountfreeze: number
+       /// 期初占用保证金
+       oriusedmargin: number
+       /// 其它授信金额
+       othercredit: number
+       /// 本周期其它授信减少
+       othercreditdecrease: number
+       /// 本周期其它授信增加
+       othercreditincrease: number
+       /// 其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
+       otherfreezemargin: number
+       /// 其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
+       otherincome: number
+       /// 其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
+       otherpay: number
+       /// 本周期出金金额
+       outamount: number
+       /// 出金冻结
+       outamountfreeze: number
+       /// 出金阈值
+       outthreshold: number
+       /// 所有权市值
+       ownershipvalue: number
+       /// 所属根账户
+       parentaccountid: number
+       /// 本周期手续费支出
+       paycharge: number
+       /// 今日手续费支出(外部配置)
+       paycharge2: number
+       /// 本周期应付交易所手续费
+       payexchcharge: number
+       /// 本周期结算盈亏
+       reckonpl: number
+       /// 结算盈亏(逐笔) - 汇总取期末
+       reckonpl2: number
+       /// 关联用户
+       relateuserid: number
+       /// 风险率【期末】
+       riskrate: number
+       /// 现货市值-统计服务更新
+       spotvalue: number
+       /// 账号层级路径(逗号分隔,首尾加逗号)
+       sublevelpath: string
+       /// 外部/内部账号 - 1:外部账号 2:内部账号
+       taaccounttype: number
+       /// 本周期三方入金
+       thirdinamount: number
+       /// 本周期三方出金
+       thirdoutamount: number
+       /// 本周期成交金额
+       tradeamount: number
+       /// 本周期交易手续费支出 [101,102]
+       tradecharge: number
+       /// 本周期成交量
+       tradeqty: number
+       /// 本周期划转金额(母子账号资金划转,从账号划入为正,从账号划出为负)
+       transferamount: number
+       /// 更新时间
+       updatetime: string
+       /// 占用保证金
+       usedmargin: number
+       /// 用户ID
+       userid: number
+   }
+
+   /** 报表 - 交易商结算单 - 持仓汇总 请求 */
+   interface ReportReckonDayPositionReq {
+       /// 资金账户
+       accountid?: number
+       /// 查询日期 日报表-yyyyMMdd 月报表-yyyyMM
+       reckondate?: string 
+       /// 报表类型 日报表-1 月报表-2
+       reporttype?: number 
+       /// 页码
+       page?: number 
+       /// 每页条数
+       pagesize?: number 
+   }
+
+   /** 报表 - 交易商结算单 - 持仓汇总 响应 */
+   interface ReportReckonDayPositionRsp {
+       /// 账号Id
+       accountid: number
+       /// 均价
+       avagepricedisplay: string
+       /// 方向
+       buyorselldisplay: string
+       /// 当前持仓总金额
+       curholderamount: number
+       /// 当前持仓总数量
+       curpositionqty: number
+       /// 报价小数位
+       decimalplace: number
+       /// 持仓冻结
+       frozenqty: number
+       /// 商品名称
+       goodsdisplay: string
+       /// 商品Id
+       goodsid: number
+       /// 日照日期(yyyyMMdd)
+       reckondate: string
+       /// 报表类型 日报表-1 月报表-2
+       reportType: number
+   }
+
+   /** 报表 - 交易商结算单 - 资金信息(日) 请求 */
+   interface ReportReckonDayTaaccountReq {
+       /// 资金账户
+       accountid?: number 
+       /// 日照日期(yyyyMMdd)
+       reckondate?: string
+   }
+
+   /** 报表 - 交易商结算单 - 资金信息(日) 响应 */
+   interface ReportReckonDayTaaccountRsp {
+       /// 资金账户ID
+       accountid: number
+       /// 账户名称
+       accountname: string
+       /// 今日账户盈亏 = 今日净值-昨日净值+今日出金-今日入金-今日划转+今日授信减少-今日授信增加+今日其它授信减少-今日其它授信增加+今日三方出金-今日三方入金;由统计服务更新
+       accountpl: number
+       /// 可用资金
+       avaiablemoney: number
+       /// 可出资金
+       avaiableoutmoney: number
+       /// 期初余额
+       balance: number
+       /// 本金余额[外部子账户实际出入金余额]
+       capitalbalance: number
+       /// 变动标志(当前账户资金有任何变动更新为1系统结算时更新0;供清算时使用) 0:无变动 1:有变动
+       changeflag: number
+       /// 清算余额 = 期末余额 - 授信金额 - 其它授信金额
+       clearbalance: number
+       /// 真实资金变动值(除出入金、应付交易所手续费)清算盈亏 = 期末余额 - 期初余额 - (今日入金 + 今日出金) - 今日应付交易所手续费 - 【(今日授信增加 + 今日授信减少) - (今日其它授信增加 + 今日其它授信减少) ----母账户】 = 今日手续费支出 + 今日平仓盈亏 + 今日结算盈亏 + 其他支出 + 其他收入 + 今日划转金额 + 今日已收手续费分成 - 今日应付交易所手续费
+       clearpl: number
+       /// 今日平仓盈亏
+       closepl: number
+       /// 平仓盈亏(逐笔)
+       closepl2: number
+       /// 今日授信减少
+       creditdecrease: number
+       /// 今日授信增加
+       creditincrease: number
+       /// 期末欠款
+       curdebt: number
+       /// 货币ID
+       currencyid: number
+       /// 期末余额
+       currentbalance: number
+       /// 今日递延费2支出[111, 112]
+       defercharge: number
+       /// 今日交收货款收入
+       deliveryamountin: number
+       /// 今日交收货款支出
+       deliveryamountout: number
+       /// 今日交收手续费支出 [105,106]
+       deliverycharge: number
+       /// 今日交收补偿费收入
+       deliverycompensationfeein: number
+       /// 今日交收补偿费支出
+       deliverycompensationfeeout: number
+       /// 今日已收手续费分成
+       dividedcharge: number
+       /// 浮动净值 = 净值 + 浮动盈亏
+       floatnetvalue: number
+       /// 浮动盈亏 - 每日有负债类商品
+       floatpl: number
+       /// 手续费冻结
+       freezecharge: number
+       /// 冻结保证金
+       freezemargin: number
+       /// 所属上级账户
+       fromaccountid: number
+       /// 今日持仓过夜费支出[108,109,110]
+       holdcharge: number
+       /// 今日入金金额
+       inamount: number
+       /// 今日递延费支出[103, 104]
+       interestcharge: number
+       /// 是否账号 0:不是母账户 1:是母账户
+       ismain: number
+       /// 是否机构接单账号 0:不是 1:是
+       ismarketaccount: number
+       /// 是否机构分润账号 0:不是 1:是
+       isreckonaccount: number
+       /// 授信金额
+       mortgagecredit: number
+       /// 净值 = 期末余额 + 所有权市值 + 仓单市值仓单市值由统计服务更新
+       netvalue: number
+       /// 期初欠款
+       oridebt: number
+       /// 期初手续费冻结
+       orifreezecharge: number
+       /// 期初冻结保证金
+       orifreezemargin: number
+       /// 期初授信金额
+       orimortgagecredit: number
+       /// 期初其它授信金额
+       oriothercredit: number
+       /// 期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
+       oriotherfreezemargin: number
+       /// 期初出金冻结
+       orioutamountfreeze: number
+       /// 期初占用保证金
+       oriusedmargin: number
+       /// 其它授信金额
+       othercredit: number
+       /// 今日其它授信减少
+       othercreditdecrease: number
+       /// 今日其它授信增加
+       othercreditincrease: number
+       /// 其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
+       otherfreezemargin: number
+       /// 其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
+       otherincome: number
+       /// 其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
+       otherpay: number
+       /// 今日出金金额
+       outamount: number
+       /// 出金冻结
+       outamountfreeze: number
+       /// 出金阈值
+       outthreshold: number
+       /// 所有权市值
+       ownershipvalue: number
+       /// 所属根账户
+       parentaccountid: number
+       /// 资金密码
+       password: string
+       /// 今日手续费支出
+       paycharge: number
+       /// 今日手续费支出(外部配置)
+       paycharge2: number
+       /// 今日应付交易所手续费
+       payexchcharge: number
+       /// 日照日期(yyyyMMdd)
+       reckondate: string
+       /// 今日结算盈亏
+       reckonpl: number
+       /// 结算盈亏(逐笔) - 汇总取期末
+       reckonpl2: number
+       /// 关联用户交易状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
+       relatedaccountstatus: number
+       /// 关联用户
+       relateuserid: number
+       /// 风险率 = 占用/ 浮动净值 或 浮动净值/占用
+       riskrate: number
+       /// 签约状态 - 1:未签约 2:已签约 3:已解约
+       signstatus: number
+       /// 现货市值-统计服务更新
+       spotvalue: number
+       /// 账号层级路径(逗号分隔,首尾加逗号)
+       sublevelpath: string
+       /// 外部/内部账号 - 1:外部账号 2:内部账号
+       taaccounttype: number
+       /// 今日三方入金
+       thirdinamount: number
+       /// 今日三方出金
+       thirdoutamount: number
+       /// 今日成交金额
+       tradeamount: number
+       /// 今日交易手续费支出 [101,102]
+       tradecharge: number
+       /// 今日成交量
+       tradeqty: number
+       /// 交易状态 - 1:正常 2:受限 3:冻结 4:禁止建仓(人工受限) 5:禁止交易(人工冻结)
+       tradestatus: number
+       /// 今日划转金额(母子账号资金划转,从账号划入为正,从账号划出为负)
+       transferamount: number
+       /// 占用保证金
+       usedmargin: number
+       /// 用户ID
+       userid: number
+   }
+
+   /** 报表 - 交易商结算单 - 成交明细 请求 */
+   interface ReportTradeDetailReq {
+       /// 资金账户
+       accountid?: number
+       /// 查询日期 日报表-yyyyMMdd 月报表-yyyyMM
+       histradedate?: string 
+       /// 报表类型 日报表-1 月报表-2
+       reporttype?: number
+       /// 页码
+       page?: number
+       /// 每页条数
+       pagesize?: number
+   }
+
+   /** 报表 - 交易商结算单 - 成交明细 响应 */
+   interface ReportTradeDetailRsp {
+       /// 资金账户
+       accountid: number
+       /// 类型/方向
+       buyorselldisplay: string
+       /// 服务费
+       charge: number
+       /// 报价小数位
+       decimalplace: number
+       /// 商品
+       goodsdisplay: string
+       /// 期货合约ID(自增ID SEQ_GOODS)
+       goodsid: number
+       /// 查询日期 日报表-yyyyMMdd 月报表-yyyyMM
+       histradedate: string
+       /// 报表类型 日报表-1 月报表-2
+       reportType: number
+       /// 成交金额
+       tradeamount: number
+       /// 成交单号
+       tradeid: string
+       /// 价格
+       tradeprice: number
+       /// 数量
+       tradeqty: number
+       /// 时间
+       tradetime: string
+   }
+}