Ben Lin
2024-10-13 234b6cf8944ef95c415c4898f19b8fb4d12e898f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import { UpdateReq } from './../wms/materialreq';
import { buildUUID } from '../../../utils/uuid';
import { ApiActionPage } from '../../model/baseModel';
import {
  MaterialInfoListItem,
  MaterialInfoPageParams,
  MaterialInfoPageListGetResultModel,
} from '../model/basModel';
import { genAction, Api, genActionPage } from '../system';
import { defHttp } from '/@/utils/http/axios';
import { useUserStore } from '../../../store/modules/user';
 
/*
 * 获取物料分页列表
 */
export const getMaterialListByPage = async (params: MaterialInfoPageParams) => {
  let sqlcmd = '';
  if (params?.ITEM_CODE != undefined && params?.ITEM_CODE != '') {
    sqlcmd += "And ITEM_CODE like '%" + params?.ITEM_CODE + "%'";
  }
  const rParams = genActionPage('BAS_ITEM', sqlcmd, params.page, params.pageSize);
  return getMaterialListByPageAsync(rParams);
};
async function getMaterialListByPageAsync(params: ApiActionPage) {
  const data = await defHttp.post<ApiActionPage>(
    { url: Api.EntityPageList, params },
    {
      isTransformResponse: false,
    },
  );
  const model: MaterialInfoPageListGetResultModel = {
    items: data.Data.data,
    total: data.Data.totals,
  };
  return model;
}
//保存物料
export const SaveRegionB = async (params: MaterialInfoListItem, isUpdate: boolean) => {
  let data: any;
  if (isUpdate) {
    data = await defHttp.post(
      { url: Api.UpdateEntity, params: genAction('BAS_ITEM', params) },
      {
        errorMessageMode: 'none',
        isTransformResponse: false,
      },
    );
  } else {
    params.ID = buildUUID(); //生成GUID
    params.CREATE_USER = useUserStore().getUserInfo.username;
    data = await defHttp.post(
      { url: Api.AddEntity, params: genAction('BAS_ITEM', params) },
      {
        errorMessageMode: 'none',
        isTransformResponse: false,
      },
    );
  }
  return data;
};
//保存
export const SaveRegion = async (params: MaterialInfoListItem, isUpdate: boolean) => {
  let data: any;
  if (isUpdate) {
    data = await defHttp.post(
      { url: Api.UpdateEntity, params: genAction('WMS_ITEM', params) },
      {
        errorMessageMode: 'none',
        isTransformResponse: false,
      },
    );
  } else {
    params.ID = buildUUID(); //生成GUID
    params.CREATE_USER = useUserStore().getUserInfo.username;
    data = await defHttp.post(
      { url: Api.AddEntity, params: genAction('WMS_ITEM', params) },
      {
        errorMessageMode: 'none',
        isTransformResponse: false,
      },
    );
  }
  return data;
};
//删除
export const DeleteMaterial = async (params: Recordable) => {
  const usParams = genAction('BAS_ITEM', [params]);
  return await defHttp.post(
    { url: Api.DeleteList, params: usParams },
    {
      errorMessageMode: 'none',
      isTransformResponse: false,
    },
  );
};
 
/*
 * 批量更新产品有效期和预存天数分页列表
 */
export const getMaterialUpdateByPage = async (params: any) => {
  let sqlcmd = '1=1';
  if (params?.ITEM_CODE != undefined && params?.ITEM_CODE != '') {
    sqlcmd += " And ITEM_CODE like '" + params?.ITEM_CODE + "%'";
    const usParams = genAction('BAS_ITEM', {
      QueryAble_T: '',
      where: sqlcmd,
      order: '',
      page: {
        pageAble_T: 'string',
        draw: 1,
        pageIndex: params.page,
        pageSize: params.pageSize,
      },
    });
    return getMaterialUpdateByPageAsync(usParams);
  }
  // if (params?.ITEM_NAME != undefined && params?.ITEM_NAME != '') {
  //   sqlcmd += "And ITEM_NAME like '%" + params?.ITEM_NAME + "%'";
  // }
  // const rParams = genActionPage('BAS_ITEM', sqlcmd, params.page, params.pageSize);
  // return null;
};
 
async function getMaterialUpdateByPageAsync(params: any) {
  const data = await defHttp.post<any>(
    { url: Api.QueryUrl, params },
    {
      isTransformResponse: false,
    },
  );
  const model: MaterialInfoPageListGetResultModel = {
    items: data.Data.page.data,
    total: data.Data.page.totals,
  };
  return model;
}
export const UpdateTime = async (params: any) => {
  const data = await defHttp.post<any>(
    { url: Api.GetUpdateTime, params },
    {
      isTransformResponse: false,
    },
  );
  return data;
};