Ben Lin
2024-11-08 3d2c48733b86a03fc2e5a1f12ac3667ab0863b80
src/api/tigerapi/system.ts
@@ -65,7 +65,11 @@
  StartJob = '/Tsk/StartJob',
  StopJob = '/Tsk/PauseJob',
  AddJob = '/Tsk/AddJob',
  AddTskJob = '/Tsk/AddTskJob',
  ImmediateRun = '/Tsk/ImmediateRun',
  RemoveTskJob = '/Tsk/RemoveTskJob',
  UpdateJob = '/Tsk/UpdateJob',
  SaveTskJob = '/Tsk/SaveTskJob',
  urlQueryEnum = '/Base/QueryEnum',
  DeleteWareHouse = '/WMS/DelWareHouseModel',
  AddLocation = '/WMS/AddLoctionModel',
@@ -133,7 +137,7 @@
/*
 * 生成Action
 */
export function genAction<T>(datatype: string, data: T, option?: object) {
export function genAction<T>(datatype: string, data: T, option?: object, NeedInclude?: boolean) {
  const time = new Date();
  const params: ApiAction<T> = {
    ID: buildUUID(),
@@ -147,7 +151,23 @@
    StatusCode: 0,
    Data: data,
    LocaleMsg: undefined,
    NeedInclude: isNullOrEmpty(NeedInclude) ? false : NeedInclude,
  };
  return params;
}
/**
 * @desc 生成Action
 */
export function generateAction<T>(
  datatype: string,
  DataAssembly: string,
  data: T,
  option?: object,
  NeedInclude?: boolean,
) {
  const params = genAction(datatype, data, option, NeedInclude);
  params.DataAssembly = DataAssembly;
  return params;
}
export function genActionjob<sting>(
@@ -288,7 +308,7 @@
 * @param {T} data
 * @param {string} parentField 父字段名
 * @param {string} idField 唯一key字段名
 * @param {string} pid_val 父id值
 * @param {string} pid 父id值
 * @return {*}
 */
export function convertToTree<T>(data: T[], parentField: string, idField: string, pid?: string) {
@@ -307,6 +327,30 @@
    }
  }
  return result;
}
/**
 * @description: 获取父项
 * @param {any} nodes
 * @param {string} childId
 * @return {*}
 */
export function findParent(tree: any[], nodeId: string): any | undefined {
  for (const node of tree) {
    if (node.children) {
      for (const child of node.children) {
        if (child.tid === nodeId) {
          return node;
        }
        // 递归查找子树
        const potentialParent = findParent(node.children, nodeId);
        if (potentialParent) {
          return potentialParent;
        }
      }
    }
  }
  return undefined; // 没有找到对应的父亲节点
}
/*
@@ -714,24 +758,27 @@
  }
  const rParams = genAction(
    params['TABLE_NAME'],
    {
      QueryAble_T: '',
      where: sqlcmd,
      order: order,
      page: {
        pageAble_T: 'string',
        draw: 1,
        pageIndex: params['page'],
        pageSize: params['pageSize'],
      },
    },
    !isNullOrEmpty(params['apiUrl'])
      ? params
      : {
          QueryAble_T: '',
          where: sqlcmd,
          order: order,
          page: {
            pageAble_T: 'string',
            draw: 1,
            pageIndex: params['page'],
            pageSize: params['pageSize'],
          },
        },
    params['option'],
    params['NeedInclude'],
  );
  return getListByPageAsync(rParams);
  return getListByPageAsync(rParams, params['apiUrl']); //如果不想用默认的基础方法获取分页数据,可以换其他的api
}
async function getListByPageAsync(params: any) {
async function getListByPageAsync(params: any, apiUrl: string | null | undefined) {
  const data = await defHttp.post(
    { url: Api.QueryUrl, params, timeout: 50000 },
    { url: !isNullOrEmpty(apiUrl) ? apiUrl : Api.QueryUrl, params, timeout: 50000 },
    {
      isTransformResponse: false,
    },
@@ -762,15 +809,25 @@
      Keys[k] != 'field' &&
      Keys[k] != 'option' &&
      Keys[k] != '0' &&
      Keys[k] != 'apiUrl' &&
      Keys[k] != 'NeedInclude' &&
      Keys[k] != 'nolike' &&
      !Keys[k].toString().endsWith('PSelect_0')
    ) {
      if (!isNullOrEmpty(params[Keys[k]].length) && isTimeViaRegExp8601(params[Keys[k]][0])) {
        sqlcmd += ` And ${Keys[k]} > '${params[Keys[k]][0]}'`;
        sqlcmd += ` And ${Keys[k]} < '${params[Keys[k]][1]}'`;
      if (!isNullOrEmpty(params[Keys[k]].length) && isArray(params[Keys[k]])) {
        if (isTimeViaRegExp8601(params[Keys[k]][0])) {
          sqlcmd += ` And ${Keys[k]} > '${params[Keys[k]][0]}'`;
          sqlcmd += ` And ${Keys[k]} < '${params[Keys[k]][1]}'`;
        } else {
          sqlcmd += `And '${params[Keys[k]].join(',')}' like '%'+${Keys[k]}+'%'`;
        }
      } else if (isNumber(params[Keys[k]])) {
        sqlcmd += `And ${Keys[k]} = ${params[Keys[k]]}`;
      } else {
        sqlcmd += `And ${Keys[k]} like '%${params[Keys[k]]}%'`;
        sqlcmd +=
          params['nolike'] == 'Y'
            ? `And ${Keys[k]} = '${params[Keys[k]]}'`
            : `And ${Keys[k]} like '%${params[Keys[k]]}%'`;
      }
    }
  }
@@ -779,10 +836,6 @@
export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string, ...args) {
  let data;
  /* 针对模板地址做替换,特殊处理 */
  // if(params['TEMP_PATH']){
  //   params['TEMP_PATH'] = params['TEMP_PATH'].toString().replace('/','//');
  // }
  if (isUpdate) {
    data = await defHttp.post(
      { url: Api.UpdateEntity, params: genAction(entityName, params) },
@@ -792,7 +845,7 @@
      },
    );
  } else {
    var check = await isExist(genAction(entityName, args[0]));
    const check = await isExist(genAction(entityName, args[0]));
    if (check.Data) {
      check.IsSuccessed = false;
      check.Message = '记录已经存在,不能新增!';
@@ -811,7 +864,7 @@
}
export async function AddListEntity<T>(params: T, entityName: string) {
  let data = await defHttp.post(
  const data = await defHttp.post(
    { url: Api.AddListEntity, params: genAction(entityName, params) },
    {
      errorMessageMode: 'none',
@@ -840,7 +893,7 @@
 * @return {*}
 */
export async function AddAfterDelete(entityName: string, items: [], where: string) {
  let data = await defHttp.post(
  const data = await defHttp.post(
    {
      url: Api.AddAfterDelete,
      params: genAction(entityName, {