From 36acf8daf78fdc005a42ea682efec7174f4e283b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 20 六月 2024 11:58:42 +0800
Subject: [PATCH] 产品工艺路线

---
 src/api/tigerapi/system.ts |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 110 insertions(+), 6 deletions(-)

diff --git a/src/api/tigerapi/system.ts b/src/api/tigerapi/system.ts
index 3ead966..986e464 100644
--- a/src/api/tigerapi/system.ts
+++ b/src/api/tigerapi/system.ts
@@ -28,9 +28,10 @@
   iSYS_ROLE_WH,
   EntityParams,
   EntityList,
+  iSYS_ROLE_PROD,
 } from './model/systemModel';
 import { defHttp } from '/@/utils/http/axios';
-import { isNullOrEmpty, isTimeType } from '/@/utils/is';
+import { isArray, isDate, isNullOrEmpty, isTimeType, isTimeViaRegExp8601, isTimeViaRegExpSimple } from '/@/utils/is';
 
 export enum Api {
   QueryUrl = '/Base/Query',
@@ -50,6 +51,7 @@
   DeleteList = '/Base/DeleteList',
   DeleteWhere = '/Base/DeleteWhere',
   GetOrgTreeList = '/SYS/getOrgTreeList',
+  GetProdTreeList = '/SYS/getProdTreeList',
   GetHouseTreeList = '/WMS/GetHouseModel',
   GetHouseOrgTreeList = '/WMS/GetHouseModelOrg',
   GetCreateBillCode = '/WMS/CreateBillCode',
@@ -278,6 +280,32 @@
   return result;
 }
 
+/**
+ * @description: 鏍戝舰琛ㄧ粨鏋勮浆鏍戝舰Json
+ * @param {T} data
+ * @param {string} parentId
+ * @param {string} id
+ * @param {string} pid
+ * @return {*}
+ */
+export function convertToTree<T>(data: T[], parentId: string, id: string, pid?: string) {
+  const result: T[] = [];
+  let temp: T[] = [];
+  const _pid = isNullOrEmpty(pid) ? '' : pid;
+  for (let i = 0; i < data.length; i++) {
+    const currPid = data[i][parentId] == null ? '' : data[i][parentId];
+    if (currPid === _pid) {
+      const obj = data[i] as {};
+      temp = convertToTree(data, parentId, id, data[i][id]);
+      if (temp.length > 0) {
+        obj['children'] = temp;
+      }
+      result.push(obj);
+    }
+  }
+  return result;
+}
+
 /*
  * 淇濆瓨鍙傛暟
  */
@@ -421,6 +449,24 @@
 }
 async function getRoleOrg(params: ApiAction<string>) {
   const data = await defHttp.post<ApiAction<iSYS_ROLE_ORG[]>>(
+    {
+      url: Api.EntityList,
+      params,
+    },
+    {
+      errorMessageMode: 'modal',
+      isTransformResponse: false,
+    },
+  );
+  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,
@@ -652,7 +698,11 @@
   );
 };
 
-/* 閫氱敤鏌ヨ鍒嗛〉 */
+/**
+ * @description: 閫氱敤鏌ヨ鍒嗛〉
+ * @param {T} params
+ * @return {*}
+ */
 export async function getListByPage<T>(params: T) {
   const Keys = Object.getOwnPropertyNames(params);
   let sqlcmd = '1=1 ';
@@ -666,9 +716,10 @@
       Keys[k] != 'TABLE_NAME' &&
       Keys[k] != 'order' &&
       Keys[k] != 'field' &&
-      Keys[k] != '0'
+      Keys[k] != '0' &&
+      !Keys[k].toString().endsWith('PSelect_0')
     ) {
-      if (!isNullOrEmpty(params[Keys[k]].length) && isTimeType(params[Keys[k]][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]}'`;
       } else {
@@ -706,7 +757,7 @@
   return model;
 }
 
-export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string) {
+export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string, ...args) {
   let data;
   if (isUpdate) {
     data = await defHttp.post(
@@ -717,6 +768,12 @@
       },
     );
   } else {
+    var check = await isExist(genAction(entityName, args[0]));
+    if(check.Data){
+      check.IsSuccessed = false;
+      check.Message = '璁板綍宸茬粡瀛樺湪锛屼笉鑳芥柊澧烇紒';
+      return check;
+    }
     params.ID = buildUUID(); //鐢熸垚GUID
     data = await defHttp.post(
       { url: Api.AddEntity, params: genAction(entityName, params) },
@@ -726,6 +783,17 @@
       },
     );
   }
+  return data;
+}
+
+export async function AddListEntity<T>(params: T, entityName: string) {
+  let data = await defHttp.post(
+    { url: Api.AddListEntity, params: genAction(entityName, params) },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+    },
+  );
   return data;
 }
 
@@ -740,7 +808,28 @@
   );
 }
 
-//鑾峰彇鏈嶅姟鍣↗son鏂囦欢杩斿洖Json鏁版嵁
+/**
+ * @description: 鏍规嵁鏉′欢鍒犻櫎
+ * @param {string} sqlcmd
+ * @param {string} entityName
+ * @return {*}
+ */
+export const DeleteWhere = async (sqlcmd: string, entityName: string) => {
+  const usParams = genAction(entityName, sqlcmd);
+  return await defHttp.post(
+    { url: Api.DeleteWhere, params: usParams },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+    },
+  );
+};
+
+/**
+ * @description: 鑾峰彇鏈嶅姟鍣↗son鏂囦欢杩斿洖Json鏁版嵁
+ * @param {string} url
+ * @return {*}
+ */
 export async function fetchJson(url: string) {
   try {
     const response = await fetch(url);
@@ -809,3 +898,18 @@
     },
   );
 };
+
+/**
+ * @description: 鍒ゆ柇淇濆瓨鐨勫�煎鏋滄槸[]鏁扮粍鐨勶紝灏辩洿鎺ュ彇[0]绗竴涓�硷紝涓�鑸拡瀵逛笂浼犳ā鏉跨殑鍦板潃
+ * @param {any} values
+ * @return {*}
+ */
+export function formatValues(values: any) {
+  const Keys = Object.getOwnPropertyNames(values);
+  for (const k in Keys) {
+    if (isArray(values[Keys[k]])) {
+      values[Keys[k]] = values[Keys[k]][0];
+    }
+  }
+  return values;
+}

--
Gitblit v1.9.3