From aa0bc81d06736cc1a1bd210dde61f57736585d43 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期五, 07 六月 2024 10:37:05 +0800
Subject: [PATCH] 很多更新

---
 src/api/tigerapi/system.ts |  270 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 243 insertions(+), 27 deletions(-)

diff --git a/src/api/tigerapi/system.ts b/src/api/tigerapi/system.ts
index 579e8b0..c961bb2 100644
--- a/src/api/tigerapi/system.ts
+++ b/src/api/tigerapi/system.ts
@@ -1,7 +1,8 @@
 import { UserConfigFn } from 'vite';
+import { useGlobSetting } from '/@/hooks/setting';
 import { buildUUID } from '../../utils/uuid';
 import { DateFormat } from '../../utils/dataformat';
-import { ApiAction,ApiActionJob, ApiActionPage } from '../model/baseModel';
+import { ApiAction, ApiActionJob, ApiActionPage } from '../model/baseModel';
 import {
   MenuParams,
   RoleParams,
@@ -25,9 +26,12 @@
   LoginLogPageListGetResultModel,
   iSYS_ROLE_ORG,
   iSYS_ROLE_WH,
+  EntityParams,
+  EntityList,
+  iSYS_ROLE_PROD,
 } from './model/systemModel';
 import { defHttp } from '/@/utils/http/axios';
-import { isUnDef } from '/@/utils/is';
+import { isNullOrEmpty, isTimeType } from '/@/utils/is';
 
 export enum Api {
   QueryUrl = '/Base/Query',
@@ -47,9 +51,10 @@
   DeleteList = '/Base/DeleteList',
   DeleteWhere = '/Base/DeleteWhere',
   GetOrgTreeList = '/SYS/getOrgTreeList',
+  GetProdTreeList = '/SYS/getProdTreeList',
   GetHouseTreeList = '/WMS/GetHouseModel',
   GetHouseOrgTreeList = '/WMS/GetHouseModelOrg',
-  GetCreateBillCode = '/WMS/CreateBillCode', 
+  GetCreateBillCode = '/WMS/CreateBillCode',
   GetCreateTFBillCode = '/WMS/CreateTFBillCode',
   GetAllRoleList = '/system/getAllRoleList',
   urlSetSysUserToGroup = '/SYS/SetSysUserToGroup',
@@ -57,23 +62,29 @@
   StartJob = '/Tsk/StartJob',
   StopJob = '/Tsk/PauseJob',
   AddJob = '/Tsk/AddJob',
-  UpdateJob= '/Tsk/UpdateJob',
-  urlQueryEnum= '/Base/QueryEnum',
-  DeleteWareHouse='/WMS/DelWareHouseModel',
-  AddLocation='/WMS/AddLoctionModel',
-  CheckLocation='/WMS/CheckLocation',
-  SummaryCount='/WMS/SummaryCount',
-  GenerateCount='/WMS/GenerateCount',
-  GetUpdateOrg='/WMS/GetUpdateOrg',
-  GetQrCode='/WMS/Item/GetQRCode',
-  UpdateReq='/WMS/UpdateReq',
-  MaterialResale='/WMS/MaterialResale',
-  GetProdctResult='/WMS/ProductInput/GetProdctResult',
+  UpdateJob = '/Tsk/UpdateJob',
+  urlQueryEnum = '/Base/QueryEnum',
+  DeleteWareHouse = '/WMS/DelWareHouseModel',
+  AddLocation = '/WMS/AddLoctionModel',
+  CheckLocation = '/WMS/CheckLocation',
+  SummaryCount = '/WMS/SummaryCount',
+  GenerateCount = '/WMS/GenerateCount',
+  GetUpdateOrg = '/WMS/GetUpdateOrg',
+  GetQrCode = '/WMS/Item/GetQRCode',
+  UpdateReq = '/WMS/UpdateReq',
+  MaterialResale = '/WMS/MaterialResale',
+  GetProdctResult = '/WMS/ProductInput/GetProdctResult',
   // 瀹屽伐鍏ュ簱鐘舵�佽繕鍘�
   GetStatusRestored = '/WMS/ProductInput/StatusRestored',
   // 鎵归噺鏇存柊鍐呭
-  GetUpdateTime = '/MaterialInfo/UpdateTime'
+  GetUpdateTime = '/MaterialInfo/UpdateTime',
+  //瀵煎叆
+  ValidateTableImport = '/SMT/ValidateTableImport',
+  SaveValidateTableImport = '/SMT/SaveValidateTableImport',
+  GetEntityNameList = '/System/Entitys/Get',
 }
+
+const globSetting = useGlobSetting();
 
 /**
  * 鐢熸垚apiaction,甯﹀垎椤�
@@ -83,12 +94,18 @@
  * @param pageSize
  * @returns
  */
-export function genActionPage(datatype: string, sqlcmd: string, page: number, pageSize: number,option?:object) {
+export function genActionPage(
+  datatype: string,
+  sqlcmd: string,
+  page: number,
+  pageSize: number,
+  option?: object,
+) {
   const time = new Date();
   const params: ApiActionPage = {
     id: buildUUID(),
     dataType: datatype,
-    Options:option,
+    Options: option,
     isAsync: true,
     timestamp: time.toDateString(),
     isSuccessed: true,
@@ -113,12 +130,12 @@
 /*
  * 鐢熸垚Action
  */
-export function genAction<T>(datatype: string, data: T,option?:object) {
+export function genAction<T>(datatype: string, data: T, option?: object) {
   const time = new Date();
   const params: ApiAction<T> = {
     ID: buildUUID(),
-    DataAssembly:'',
-    Options:option,
+    DataAssembly: '',
+    Options: option,
     DataType: datatype,
     IsAsync: true,
     Timestamp: time.toDateString(),
@@ -126,14 +143,21 @@
     Message: '',
     StatusCode: 0,
     Data: data,
+    LocaleMsg: undefined,
   };
   return params;
 }
-export function genActionjob<sting>(datatype: string, assembly: string, data: string,timeone:number,remark:string) {
+export function genActionjob<sting>(
+  datatype: string,
+  assembly: string,
+  data: string,
+  timeone: number,
+  remark: string,
+) {
   const time = new Date();
   const params: ApiActionJob<string> = {
     ID: buildUUID(),
-    DataAssembly:assembly,
+    DataAssembly: assembly,
     DataType: datatype,
     IsAsync: true,
     Timestamp: time.toDateString(),
@@ -141,9 +165,9 @@
     Message: '',
     StatusCode: 0,
     Data: {
-      jobName:data,
-      period:timeone,
-      remark: remark
+      jobName: data,
+      period: timeone,
+      remark: remark,
     },
   };
   return params;
@@ -411,6 +435,24 @@
   return data.Data;
 }
 
+export function getProdList(params: string) {
+  const rmParams = genAction('SYS_ROLE_PROD', " ROLE_CODE = '" + params + "'");
+  return getRoleProd(rmParams);
+}
+async function getRoleProd(params: ApiAction<string>) {
+  const data = await defHttp.post<ApiAction<iSYS_ROLE_PROD[]>>(
+    {
+      url: Api.EntityList,
+      params,
+    },
+    {
+      errorMessageMode: 'modal',
+      isTransformResponse: false,
+    },
+  );
+  return data.Data;
+}
+
 /*
  * 鑾峰彇瑙掕壊浠撳簱鍒楄〃锛岀敤浜庤鑹叉巿鏉冧粨搴撳垪琛�
  */
@@ -491,7 +533,7 @@
     },
   );
 
-  export const setBasStatus = (params: any) =>
+export const setBasStatus = (params: any) =>
   defHttp.post(
     { url: Api.UpdateEntity, params: genAction('BAS_ITEM', params) },
     {
@@ -613,3 +655,177 @@
   };
   return model;
 }
+
+/*
+ *閫氱敤鏂规硶========================================================
+ */
+
+export const GetEnum = async (enumName: { name: string }) => {
+  const usParams = genAction(enumName.name, '');
+  return await defHttp.post(
+    { url: Api.urlQueryEnum, params: usParams },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+      //apiUrl: globSetting.taskApiUrl
+    },
+  );
+};
+
+/* 閫氱敤鏌ヨ鍒嗛〉 */
+export async function getListByPage<T>(params: T) {
+  const Keys = Object.getOwnPropertyNames(params);
+  let sqlcmd = '1=1 ';
+  let order = '';
+  for (const k in Keys) {
+    console.log(`${k}:${Keys[k]}`);
+    if (
+      !isNullOrEmpty(params[Keys[k]]) &&
+      Keys[k] != 'page' &&
+      Keys[k] != 'pageSize' &&
+      Keys[k] != 'TABLE_NAME' &&
+      Keys[k] != 'order' &&
+      Keys[k] != 'field' &&
+      Keys[k] != '0'
+    ) {
+      if (!isNullOrEmpty(params[Keys[k]].length) && isTimeType(params[Keys[k]][0])) {
+        sqlcmd += ` And ${Keys[k]} > '${params[Keys[k]][0]}'`;
+        sqlcmd += ` And ${Keys[k]} < '${params[Keys[k]][1]}'`;
+      } else {
+        sqlcmd += `And ${Keys[k]} like '%${params[Keys[k]]}%'`;
+      }
+    }
+  }
+  if (!isNullOrEmpty(params['order'])) {
+    order = params['order'] == 'descend' ? params['field'] + ' desc' : params['field'];
+  }
+  const rParams = genAction(params['TABLE_NAME'], {
+    QueryAble_T: '',
+    where: sqlcmd,
+    order: order,
+    page: {
+      pageAble_T: 'string',
+      draw: 1,
+      pageIndex: params['page'],
+      pageSize: params['pageSize'],
+    },
+  });
+  return getListByPageAsync(rParams);
+}
+async function getListByPageAsync(params: any) {
+  const data = await defHttp.post(
+    { url: Api.QueryUrl, params },
+    {
+      isTransformResponse: false,
+    },
+  );
+  const model = {
+    items: data.Data.page.data,
+    total: data.Data.page.totals,
+  };
+  return model;
+}
+
+export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string) {
+  let data;
+  if (isUpdate) {
+    data = await defHttp.post(
+      { url: Api.UpdateEntity, params: genAction(entityName, params) },
+      {
+        errorMessageMode: 'none',
+        isTransformResponse: false,
+      },
+    );
+  } else {
+    params.ID = buildUUID(); //鐢熸垚GUID
+    data = await defHttp.post(
+      { url: Api.AddEntity, params: genAction(entityName, params) },
+      {
+        errorMessageMode: 'none',
+        isTransformResponse: false,
+      },
+    );
+  }
+  return data;
+}
+
+export async function DeleteEntity<T>(params: T, entityName: string) {
+  const usParams = genAction(entityName, [params]);
+  return await defHttp.post(
+    { url: Api.DeleteList, params: usParams },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+    },
+  );
+}
+
+//鑾峰彇鏈嶅姟鍣↗son鏂囦欢杩斿洖Json鏁版嵁
+export async function fetchJson(url: string) {
+  try {
+    const response = await fetch(url);
+    return await response.json();
+  } catch (error) {
+    console.error('Error fetching columns:', error);
+  }
+}
+
+// 娉涘瀷鍑芥暟锛岃幏鍙栫被鐨勫悕绉�
+export function getClassName<T>(ctor: new () => T): string {
+  return ctor.name;
+}
+
+export const getEntityList = (params?: EntityParams) =>
+  defHttp.get<EntityList>(
+    { url: Api.GetEntityNameList, params },
+    {
+      isTransformResponse: false,
+      apiUrl: globSetting.sysApiUrl,
+    },
+  );
+
+export async function getEntityNameList(params?: EntityParams) {
+  const data = await defHttp.get<EntityList>(
+    { url: Api.GetEntityNameList, params },
+    {
+      isTransformResponse: false,
+      apiUrl: globSetting.sysApiUrl,
+    },
+  );
+  const model = {
+    items: data.Data,
+    total: data.Total,
+  };
+  return model;
+}
+
+export async function getEntityPropertieList(params?: EntityParams) {
+  const data = await defHttp.get<EntityList>(
+    { url: Api.GetEntityNameList, params },
+    {
+      isTransformResponse: false,
+      apiUrl: globSetting.sysApiUrl,
+    },
+  );
+  const model = {
+    items: data.Data.filter((x) => x.Name == params?.StartWith)[0].Properties,
+    total: data.Total,
+  };
+  return model;
+}
+
+/* 閫氱敤鑾峰彇瀹炰綋璁板綍 */
+export const getEntity = async (params: { sqlcmd: string; entityName: string }) => {
+  const usParams = genAction(params.entityName, {
+    QueryAble_T: '',
+    where: params.sqlcmd,
+    order: '',
+  });
+  return await defHttp.post(
+    { url: Api.QueryUrl, params: usParams },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+    },
+  );
+};

--
Gitblit v1.9.3