Commit f1817715a453fb83037525de2237cd91c7af06a1
Merge branch 'develop4' of http://172.16.29.40:8010/wms/wms4 into develop4
Showing
21 changed files
with
872 additions
and
44 deletions
ant-design-vue-jeecg/src/views/jeecg/JeecgDemoList.vue
@@ -94,10 +94,9 @@ | @@ -94,10 +94,9 @@ | ||
94 | <template slot="content"> | 94 | <template slot="content"> |
95 | <a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns"> | 95 | <a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns"> |
96 | <a-row style="width: 400px"> | 96 | <a-row style="width: 400px"> |
97 | - <template v-for="(item,index) in defColumns"> | 97 | + <template v-for="(item) in defColumns"> |
98 | <template v-if="item.key!='rowIndex'&& item.dataIndex!='action'"> | 98 | <template v-if="item.key!='rowIndex'&& item.dataIndex!='action'"> |
99 | - <a-col :span="12"><a-checkbox :value="item.dataIndex"><j-ellipsis :value="item.title" | ||
100 | - :length="10"></j-ellipsis></a-checkbox></a-col> | 99 | + <a-col :span="12"><a-checkbox :value="item.dataIndex"><j-ellipsis :value="item.title" :length="10"></j-ellipsis></a-checkbox></a-col> |
101 | </template> | 100 | </template> |
102 | </template> | 101 | </template> |
103 | </a-row> | 102 | </a-row> |
@@ -124,7 +123,7 @@ | @@ -124,7 +123,7 @@ | ||
124 | <a-card> | 123 | <a-card> |
125 | <a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns"> | 124 | <a-checkbox-group @change="onColSettingsChange" v-model="settingColumns" :defaultValue="settingColumns"> |
126 | <a-row style="width: 400px"> | 125 | <a-row style="width: 400px"> |
127 | - <template v-for="(item,index) in defColumns"> | 126 | + <template v-for="(item) in defColumns"> |
128 | <template v-if="item.key!='rowIndex'&& item.dataIndex!='action'"> | 127 | <template v-if="item.key!='rowIndex'&& item.dataIndex!='action'"> |
129 | <a-col :span="12"> | 128 | <a-col :span="12"> |
130 | <a-checkbox :value="item.dataIndex"> | 129 | <a-checkbox :value="item.dataIndex"> |
ant-design-vue-jeecg/src/views/system/monitor/OperationLog.vue
0 → 100644
1 | +<template> | ||
2 | + <a-card :bordered="false"> | ||
3 | + <!-- 查询区域 --> | ||
4 | + <div class="table-page-search-wrapper"> | ||
5 | + <a-form layout="inline" @keyup.enter.native="searchQuery"> | ||
6 | + <a-row :gutter="24"> | ||
7 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | ||
8 | + <a-form-item label="业务ID"> | ||
9 | + <a-input placeholder="请输入业务ID" v-model="queryParam.bizId"></a-input> | ||
10 | + </a-form-item> | ||
11 | + </a-col> | ||
12 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | ||
13 | + <a-form-item label="业务类型"> | ||
14 | + <a-input placeholder="请输入业务类型" v-model="queryParam.bizType"></a-input> | ||
15 | + </a-form-item> | ||
16 | + </a-col> | ||
17 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | ||
18 | + <a-form-item label="操作内容"> | ||
19 | + <j-input placeholder="请输入操作内容" v-model="queryParam.operationMsg"></j-input> | ||
20 | + </a-form-item> | ||
21 | + </a-col> | ||
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | ||
23 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | ||
24 | + <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | ||
25 | + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | ||
26 | + </span> | ||
27 | + </a-col> | ||
28 | + </a-row> | ||
29 | + </a-form> | ||
30 | + </div> | ||
31 | + <!-- 查询区域-END --> | ||
32 | + | ||
33 | + <!-- 操作按钮区域 --> | ||
34 | + <div class="table-operator"> | ||
35 | + <a-button type="primary" icon="download" @click="handleExportXls('操作记录表')">导出</a-button> | ||
36 | + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | ||
37 | + <a-button type="primary" icon="import">导入</a-button> | ||
38 | + </a-upload> | ||
39 | + </div> | ||
40 | + | ||
41 | + <!-- table区域-begin --> | ||
42 | + <div> | ||
43 | + <a-table | ||
44 | + ref="table" | ||
45 | + size="middle" | ||
46 | + :scroll="{x:true}" | ||
47 | + bordered | ||
48 | + rowKey="id" | ||
49 | + :columns="columns" | ||
50 | + :dataSource="dataSource" | ||
51 | + :pagination="ipagination" | ||
52 | + :loading="loading" | ||
53 | + class="j-table-force-nowrap" | ||
54 | + @change="handleTableChange"> | ||
55 | + | ||
56 | + <template slot="htmlSlot" slot-scope="text"> | ||
57 | + <div v-html="text"></div> | ||
58 | + </template> | ||
59 | + <template slot="imgSlot" slot-scope="text"> | ||
60 | + <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> | ||
61 | + <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> | ||
62 | + </template> | ||
63 | + <template slot="fileSlot" slot-scope="text"> | ||
64 | + <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> | ||
65 | + <a-button | ||
66 | + v-else | ||
67 | + :ghost="true" | ||
68 | + type="primary" | ||
69 | + icon="download" | ||
70 | + size="small" | ||
71 | + @click="downloadFile(text)"> | ||
72 | + 下载 | ||
73 | + </a-button> | ||
74 | + </template> | ||
75 | + | ||
76 | + <span slot="action" slot-scope="text, record"> | ||
77 | + <a v-has="'operationLog:edit'" @click="handleEdit(record)">编辑</a> | ||
78 | + <a @click="handleDetail(record)">详情</a> | ||
79 | + </span> | ||
80 | + </a-table> | ||
81 | + </div> | ||
82 | + | ||
83 | + <operation-log-modal ref="modalForm" @ok="modalFormOk"></operation-log-modal> | ||
84 | + </a-card> | ||
85 | +</template> | ||
86 | + | ||
87 | +<script> | ||
88 | + import {filterObj} from '@/utils/util'; | ||
89 | + import '@/assets/less/TableExpand.less' | ||
90 | + import { mixinDevice } from '@/utils/mixin' | ||
91 | + import { JeecgListMixin } from '@/mixins/JeecgListMixin' | ||
92 | + import OperationLogModal from './modules/OperationLogModal' | ||
93 | + | ||
94 | + export default { | ||
95 | + name: 'OperationLogList', | ||
96 | + mixins:[JeecgListMixin, mixinDevice], | ||
97 | + components: { | ||
98 | + OperationLogModal | ||
99 | + }, | ||
100 | + data () { | ||
101 | + return { | ||
102 | + description: '操作记录表管理页面', | ||
103 | + // 表头 | ||
104 | + columns: [ | ||
105 | + { | ||
106 | + title:'业务ID', | ||
107 | + align:"center", | ||
108 | + dataIndex: 'bizId' | ||
109 | + }, | ||
110 | + { | ||
111 | + title:'业务类型', | ||
112 | + align:"center", | ||
113 | + dataIndex: 'bizType' | ||
114 | + }, | ||
115 | + { | ||
116 | + title:'操作内容', | ||
117 | + align:"center", | ||
118 | + dataIndex: 'operationMsg' | ||
119 | + }, | ||
120 | + { | ||
121 | + title:'操作时间', | ||
122 | + align:"center", | ||
123 | + dataIndex: 'operationTime' | ||
124 | + }, | ||
125 | + { | ||
126 | + title:'操作结果状态', | ||
127 | + align:"center", | ||
128 | + dataIndex: 'operationStatus' | ||
129 | + }, | ||
130 | + { | ||
131 | + title:'操作耗时', | ||
132 | + align:"center", | ||
133 | + dataIndex: 'operationCostTime' | ||
134 | + }, | ||
135 | + { | ||
136 | + title:'方法返回内容', | ||
137 | + align:"center", | ||
138 | + dataIndex: 'contentReturn' | ||
139 | + }, | ||
140 | + { | ||
141 | + title:'方法异常内容', | ||
142 | + align:"center", | ||
143 | + dataIndex: 'contentException' | ||
144 | + }, | ||
145 | + { | ||
146 | + title:'操作人ID', | ||
147 | + align:"center", | ||
148 | + dataIndex: 'operatorId' | ||
149 | + }, | ||
150 | + { | ||
151 | + title:'操作人姓名', | ||
152 | + align:"center", | ||
153 | + dataIndex: 'operatorName' | ||
154 | + }, | ||
155 | + { | ||
156 | + title: '操作', | ||
157 | + dataIndex: 'action', | ||
158 | + align: "center", | ||
159 | + fixed: "right", | ||
160 | + width: 147, | ||
161 | + scopedSlots: {customRender: 'action'} | ||
162 | + } | ||
163 | + ], | ||
164 | + url: { | ||
165 | + list: "/config/operationLog/list", | ||
166 | + delete: "/config/operationLog/delete", | ||
167 | + deleteBatch: "/config/operationLog/deleteBatch", | ||
168 | + exportXlsUrl: "/config/operationLog/exportXls", | ||
169 | + importExcelUrl: "config/operationLog/importExcel", | ||
170 | + | ||
171 | + }, | ||
172 | + dictOptions:{}, | ||
173 | + superFieldList:[], | ||
174 | + } | ||
175 | + }, | ||
176 | + created() { | ||
177 | + this.getSuperFieldList(); | ||
178 | + }, | ||
179 | + computed: { | ||
180 | + importExcelUrl: function(){ | ||
181 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | ||
182 | + }, | ||
183 | + }, | ||
184 | + methods: { | ||
185 | + getQueryParams() { | ||
186 | + // 重写查询条件 | ||
187 | + let sqp = {} | ||
188 | + if (this.superQueryParams) { | ||
189 | + sqp['superQueryParams'] = encodeURI(this.superQueryParams) | ||
190 | + sqp['superQueryMatchType'] = this.superQueryMatchType | ||
191 | + } | ||
192 | + var param = Object.assign(sqp, this.queryParam, {}, this.filters) | ||
193 | + param.field = this.getQueryField() | ||
194 | + param.pageNo = this.ipagination.current | ||
195 | + param.pageSize = this.ipagination.pageSize | ||
196 | + return filterObj(param) | ||
197 | + }, | ||
198 | + initDictConfig(){ | ||
199 | + }, | ||
200 | + getSuperFieldList(){ | ||
201 | + let fieldList=[]; | ||
202 | + fieldList.push({type:'string',value:'bizId',text:'业务ID',dictCode:''}) | ||
203 | + fieldList.push({type:'string',value:'bizType',text:'业务类型',dictCode:''}) | ||
204 | + fieldList.push({type:'string',value:'operationMsg',text:'操作内容',dictCode:''}) | ||
205 | + fieldList.push({type:'datetime',value:'operationTime',text:'操作时间'}) | ||
206 | + fieldList.push({type:'int',value:'operationStatus',text:'操作结果状态',dictCode:''}) | ||
207 | + fieldList.push({type:'int',value:'operationCostTime',text:'操作耗时',dictCode:''}) | ||
208 | + fieldList.push({type:'string',value:'contentReturn',text:'方法返回内容',dictCode:''}) | ||
209 | + fieldList.push({type:'string',value:'contentException',text:'方法异常内容',dictCode:''}) | ||
210 | + fieldList.push({type:'string',value:'operatorId',text:'操作人ID',dictCode:''}) | ||
211 | + fieldList.push({type:'string',value:'operatorName',text:'操作人姓名',dictCode:''}) | ||
212 | + this.superFieldList = fieldList | ||
213 | + } | ||
214 | + } | ||
215 | + } | ||
216 | +</script> | ||
217 | +<style scoped> | ||
218 | + @import '~@assets/less/common.less'; | ||
219 | +</style> | ||
0 | \ No newline at end of file | 220 | \ No newline at end of file |
ant-design-vue-jeecg/src/views/system/monitor/modules/OperationLogForm.vue
0 → 100644
1 | +<template> | ||
2 | + <a-spin :spinning="confirmLoading"> | ||
3 | + <j-form-container :disabled="formDisabled"> | ||
4 | + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | ||
5 | + <a-row> | ||
6 | + <a-col :span="24"> | ||
7 | + <a-form-model-item label="业务ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bizId"> | ||
8 | + <a-input v-model="model.bizId" placeholder="请输入业务ID" ></a-input> | ||
9 | + </a-form-model-item> | ||
10 | + </a-col> | ||
11 | + <a-col :span="24"> | ||
12 | + <a-form-model-item label="业务类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bizType"> | ||
13 | + <a-input v-model="model.bizType" placeholder="请输入业务类型" ></a-input> | ||
14 | + </a-form-model-item> | ||
15 | + </a-col> | ||
16 | + <a-col :span="24"> | ||
17 | + <a-form-model-item label="操作内容" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationMsg"> | ||
18 | + <a-input v-model="model.operationMsg" placeholder="请输入操作内容" ></a-input> | ||
19 | + </a-form-model-item> | ||
20 | + </a-col> | ||
21 | + <a-col :span="24"> | ||
22 | + <a-form-model-item label="操作时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationTime"> | ||
23 | + <j-date placeholder="请选择操作时间" v-model="model.operationTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> | ||
24 | + </a-form-model-item> | ||
25 | + </a-col> | ||
26 | + <a-col :span="24"> | ||
27 | + <a-form-model-item label="操作结果状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationStatus"> | ||
28 | + <a-input-number v-model="model.operationStatus" placeholder="请输入操作结果状态" style="width: 100%" /> | ||
29 | + </a-form-model-item> | ||
30 | + </a-col> | ||
31 | + <a-col :span="24"> | ||
32 | + <a-form-model-item label="操作耗时" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationCostTime"> | ||
33 | + <a-input-number v-model="model.operationCostTime" placeholder="请输入操作耗时" style="width: 100%" /> | ||
34 | + </a-form-model-item> | ||
35 | + </a-col> | ||
36 | + <a-col :span="24"> | ||
37 | + <a-form-model-item label="方法返回内容" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="contentReturn"> | ||
38 | + <a-input v-model="model.contentReturn" placeholder="请输入方法返回内容" ></a-input> | ||
39 | + </a-form-model-item> | ||
40 | + </a-col> | ||
41 | + <a-col :span="24"> | ||
42 | + <a-form-model-item label="方法异常内容" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="contentException"> | ||
43 | + <a-input v-model="model.contentException" placeholder="请输入方法异常内容" ></a-input> | ||
44 | + </a-form-model-item> | ||
45 | + </a-col> | ||
46 | + <a-col :span="24"> | ||
47 | + <a-form-model-item label="操作人ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operatorId"> | ||
48 | + <a-input v-model="model.operatorId" placeholder="请输入操作人ID" ></a-input> | ||
49 | + </a-form-model-item> | ||
50 | + </a-col> | ||
51 | + <a-col :span="24"> | ||
52 | + <a-form-model-item label="操作人姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operatorName"> | ||
53 | + <a-input v-model="model.operatorName" placeholder="请输入操作人姓名" ></a-input> | ||
54 | + </a-form-model-item> | ||
55 | + </a-col> | ||
56 | + </a-row> | ||
57 | + </a-form-model> | ||
58 | + </j-form-container> | ||
59 | + </a-spin> | ||
60 | +</template> | ||
61 | + | ||
62 | +<script> | ||
63 | + | ||
64 | + import { httpAction, getAction } from '@/api/manage' | ||
65 | + import { validateDuplicateValue } from '@/utils/util' | ||
66 | + | ||
67 | + export default { | ||
68 | + name: 'OperationLogForm', | ||
69 | + components: { | ||
70 | + }, | ||
71 | + props: { | ||
72 | + //表单禁用 | ||
73 | + disabled: { | ||
74 | + type: Boolean, | ||
75 | + default: false, | ||
76 | + required: false | ||
77 | + } | ||
78 | + }, | ||
79 | + data () { | ||
80 | + return { | ||
81 | + model:{ | ||
82 | + }, | ||
83 | + labelCol: { | ||
84 | + xs: { span: 24 }, | ||
85 | + sm: { span: 5 }, | ||
86 | + }, | ||
87 | + wrapperCol: { | ||
88 | + xs: { span: 24 }, | ||
89 | + sm: { span: 16 }, | ||
90 | + }, | ||
91 | + confirmLoading: false, | ||
92 | +validatorRules: { | ||
93 | +}, | ||
94 | + url: { | ||
95 | + add: "/config/operationLog/add", | ||
96 | + edit: "/config/operationLog/edit", | ||
97 | + queryById: "/config/operationLog/queryById" | ||
98 | + } | ||
99 | + } | ||
100 | + }, | ||
101 | + computed: { | ||
102 | + formDisabled(){ | ||
103 | + return this.disabled | ||
104 | + }, | ||
105 | + }, | ||
106 | + created () { | ||
107 | + //备份model原始值 | ||
108 | + this.modelDefault = JSON.parse(JSON.stringify(this.model)); | ||
109 | + }, | ||
110 | + methods: { | ||
111 | + add () { | ||
112 | + this.edit(this.modelDefault); | ||
113 | + }, | ||
114 | + edit (record) { | ||
115 | + this.model = Object.assign({}, record); | ||
116 | + this.visible = true; | ||
117 | + }, | ||
118 | + submitForm () { | ||
119 | + const that = this; | ||
120 | + // 触发表单验证 | ||
121 | + this.$refs.form.validate(valid => { | ||
122 | + if (valid) { | ||
123 | + that.confirmLoading = true; | ||
124 | + let httpurl = ''; | ||
125 | + let method = ''; | ||
126 | + if(!this.model.id){ | ||
127 | + httpurl+=this.url.add; | ||
128 | + method = 'post'; | ||
129 | + }else{ | ||
130 | + httpurl+=this.url.edit; | ||
131 | + method = 'put'; | ||
132 | + } | ||
133 | + httpAction(httpurl,this.model,method).then((res)=>{ | ||
134 | + if(res.success){ | ||
135 | + that.$message.success(res.message); | ||
136 | + that.$emit('ok'); | ||
137 | + }else{ | ||
138 | + that.$message.warning(res.message); | ||
139 | + } | ||
140 | + }).finally(() => { | ||
141 | + that.confirmLoading = false; | ||
142 | + }) | ||
143 | + } | ||
144 | + | ||
145 | + }) | ||
146 | + }, | ||
147 | + } | ||
148 | + } | ||
149 | +</script> | ||
0 | \ No newline at end of file | 150 | \ No newline at end of file |
ant-design-vue-jeecg/src/views/system/monitor/modules/OperationLogModal.Style#Drawer.vue
0 → 100644
1 | +<template> | ||
2 | + <a-drawer | ||
3 | + :title="title" | ||
4 | + :width="width" | ||
5 | + placement="right" | ||
6 | + :closable="false" | ||
7 | + @close="close" | ||
8 | + destroyOnClose | ||
9 | + :visible="visible"> | ||
10 | + <operationLog-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></operationLog-form> | ||
11 | + <div class="drawer-footer"> | ||
12 | + <a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button> | ||
13 | + <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button> | ||
14 | + </div> | ||
15 | + </a-drawer> | ||
16 | +</template> | ||
17 | + | ||
18 | +<script> | ||
19 | + | ||
20 | + import OperationLogForm from './OperationLogForm' | ||
21 | + | ||
22 | + export default { | ||
23 | + name: 'OperationLogModal', | ||
24 | + components: { | ||
25 | + OperationLogForm | ||
26 | + }, | ||
27 | + data () { | ||
28 | + return { | ||
29 | + title:"操作", | ||
30 | + width:800, | ||
31 | + visible: false, | ||
32 | + disableSubmit: false | ||
33 | + } | ||
34 | + }, | ||
35 | + methods: { | ||
36 | + add () { | ||
37 | + this.visible=true | ||
38 | + this.$nextTick(()=>{ | ||
39 | + this.$refs.realForm.add(); | ||
40 | + }) | ||
41 | + }, | ||
42 | + edit (record) { | ||
43 | + this.visible=true | ||
44 | + this.$nextTick(()=>{ | ||
45 | + this.$refs.realForm.edit(record); | ||
46 | + }); | ||
47 | + }, | ||
48 | + close () { | ||
49 | + this.$emit('close'); | ||
50 | + this.visible = false; | ||
51 | + }, | ||
52 | + submitCallback(){ | ||
53 | + this.$emit('ok'); | ||
54 | + this.visible = false; | ||
55 | + }, | ||
56 | + handleOk () { | ||
57 | + this.$refs.realForm.submitForm(); | ||
58 | + }, | ||
59 | + handleCancel () { | ||
60 | + this.close() | ||
61 | + } | ||
62 | + } | ||
63 | + } | ||
64 | +</script> | ||
65 | + | ||
66 | +<style lang="less" scoped> | ||
67 | +/** Button按钮间距 */ | ||
68 | + .ant-btn { | ||
69 | + margin-left: 30px; | ||
70 | + margin-bottom: 30px; | ||
71 | + float: right; | ||
72 | + } | ||
73 | + .drawer-footer{ | ||
74 | + position: absolute; | ||
75 | + bottom: -8px; | ||
76 | + width: 100%; | ||
77 | + border-top: 1px solid #e8e8e8; | ||
78 | + padding: 10px 16px; | ||
79 | + text-align: right; | ||
80 | + left: 0; | ||
81 | + background: #fff; | ||
82 | + border-radius: 0 0 2px 2px; | ||
83 | + } | ||
84 | +</style> | ||
0 | \ No newline at end of file | 85 | \ No newline at end of file |
ant-design-vue-jeecg/src/views/system/monitor/modules/OperationLogModal.vue
0 → 100644
1 | +<template> | ||
2 | + <j-modal | ||
3 | + :title="title" | ||
4 | + :width="width" | ||
5 | + :visible="visible" | ||
6 | + switchFullscreen | ||
7 | + @ok="handleOk" | ||
8 | + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" | ||
9 | + @cancel="handleCancel" | ||
10 | + cancelText="关闭"> | ||
11 | + <operationLog-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></operationLog-form> | ||
12 | + </j-modal> | ||
13 | +</template> | ||
14 | + | ||
15 | +<script> | ||
16 | + | ||
17 | + import OperationLogForm from './OperationLogForm' | ||
18 | + export default { | ||
19 | + name: 'OperationLogModal', | ||
20 | + components: { | ||
21 | + OperationLogForm | ||
22 | + }, | ||
23 | + data () { | ||
24 | + return { | ||
25 | + title:'', | ||
26 | + width:800, | ||
27 | + visible: false, | ||
28 | + disableSubmit: false | ||
29 | + } | ||
30 | + }, | ||
31 | + methods: { | ||
32 | + add () { | ||
33 | + this.visible=true | ||
34 | + this.$nextTick(()=>{ | ||
35 | + this.$refs.realForm.add(); | ||
36 | + }) | ||
37 | + }, | ||
38 | + edit (record) { | ||
39 | + this.visible=true | ||
40 | + this.$nextTick(()=>{ | ||
41 | + this.$refs.realForm.edit(record); | ||
42 | + }) | ||
43 | + }, | ||
44 | + close () { | ||
45 | + this.$emit('close'); | ||
46 | + this.visible = false; | ||
47 | + }, | ||
48 | + handleOk () { | ||
49 | + this.$refs.realForm.submitForm(); | ||
50 | + }, | ||
51 | + submitCallback(){ | ||
52 | + this.$emit('ok'); | ||
53 | + this.visible = false; | ||
54 | + }, | ||
55 | + handleCancel () { | ||
56 | + this.close() | ||
57 | + } | ||
58 | + } | ||
59 | + } | ||
60 | +</script> | ||
0 | \ No newline at end of file | 61 | \ No newline at end of file |
ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue
@@ -16,7 +16,6 @@ | @@ -16,7 +16,6 @@ | ||
16 | show-search | 16 | show-search |
17 | placeholder="请选择货主" | 17 | placeholder="请选择货主" |
18 | option-filter-prop="children" | 18 | option-filter-prop="children" |
19 | - :filter-option="filterOption" | ||
20 | v-model="queryParam.companyCode"> | 19 | v-model="queryParam.companyCode"> |
21 | <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ | 20 | <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ |
22 | item.name | 21 | item.name |
@@ -32,7 +31,6 @@ | @@ -32,7 +31,6 @@ | ||
32 | show-search | 31 | show-search |
33 | placeholder="请选择入库单类型" | 32 | placeholder="请选择入库单类型" |
34 | option-filter-prop="children" | 33 | option-filter-prop="children" |
35 | - :filter-option="filterOption" | ||
36 | v-model="queryParam.type"> | 34 | v-model="queryParam.type"> |
37 | <a-select-option v-for="item in receiptTypeList" :key="item.name" :value="item.code">{{ | 35 | <a-select-option v-for="item in receiptTypeList" :key="item.name" :value="item.code">{{ |
38 | item.name | 36 | item.name |
@@ -65,7 +63,6 @@ | @@ -65,7 +63,6 @@ | ||
65 | show-search | 63 | show-search |
66 | placeholder="请选择供应商" | 64 | placeholder="请选择供应商" |
67 | option-filter-prop="children" | 65 | option-filter-prop="children" |
68 | - :filter-option="filterOption" | ||
69 | v-model="queryParam.supplierCode"> | 66 | v-model="queryParam.supplierCode"> |
70 | <a-select-option v-for="item in supplierList" :key="item.name" :value="item.code">{{ | 67 | <a-select-option v-for="item in supplierList" :key="item.name" :value="item.code">{{ |
71 | item.name | 68 | item.name |
@@ -116,12 +113,6 @@ | @@ -116,12 +113,6 @@ | ||
116 | 113 | ||
117 | <!-- table区域-begin --> | 114 | <!-- table区域-begin --> |
118 | <div> | 115 | <div> |
119 | - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | ||
120 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | ||
121 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | ||
122 | - <a style="margin-left: 24px" @click="onClearSelected">清空</a> | ||
123 | - </div> | ||
124 | - | ||
125 | <a-table | 116 | <a-table |
126 | ref="table" | 117 | ref="table" |
127 | size="middle" | 118 | size="middle" |
ant-design-vue-jeecg/src/views/system/receipt/modules/ReceiptHeaderModal.vue
@@ -17,7 +17,6 @@ | @@ -17,7 +17,6 @@ | ||
17 | show-search | 17 | show-search |
18 | placeholder="请选择货主" | 18 | placeholder="请选择货主" |
19 | option-filter-prop="children" | 19 | option-filter-prop="children" |
20 | - :filter-option="filterOption" | ||
21 | v-model="model.companyCode"> | 20 | v-model="model.companyCode"> |
22 | <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ | 21 | <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ |
23 | item.name | 22 | item.name |
@@ -33,7 +32,6 @@ | @@ -33,7 +32,6 @@ | ||
33 | show-search | 32 | show-search |
34 | placeholder="请选择入库单类型" | 33 | placeholder="请选择入库单类型" |
35 | option-filter-prop="children" | 34 | option-filter-prop="children" |
36 | - :filter-option="filterOption" | ||
37 | v-model="model.type"> | 35 | v-model="model.type"> |
38 | <a-select-option v-for="item in receiptTypeList" :key="item.name" :value="item.code">{{ | 36 | <a-select-option v-for="item in receiptTypeList" :key="item.name" :value="item.code">{{ |
39 | item.name | 37 | item.name |
@@ -49,7 +47,6 @@ | @@ -49,7 +47,6 @@ | ||
49 | show-search | 47 | show-search |
50 | placeholder="请选择供应商" | 48 | placeholder="请选择供应商" |
51 | option-filter-prop="children" | 49 | option-filter-prop="children" |
52 | - :filter-option="filterOption" | ||
53 | v-model="model.supplierCode"> | 50 | v-model="model.supplierCode"> |
54 | <a-select-option v-for="item in supplierList" :key="item.name" :value="item.code">{{ | 51 | <a-select-option v-for="item in supplierList" :key="item.name" :value="item.code">{{ |
55 | item.name | 52 | item.name |
ant-design-vue-jeecg/src/views/system/receipt/modules/ReceiveModal.vue
@@ -25,7 +25,6 @@ | @@ -25,7 +25,6 @@ | ||
25 | rowKey="id" | 25 | rowKey="id" |
26 | size="middle" | 26 | size="middle" |
27 | :columns="columns" | 27 | :columns="columns" |
28 | - :loading="loading" | ||
29 | :dataSource="dataSource" | 28 | :dataSource="dataSource" |
30 | :pagination="false"> | 29 | :pagination="false"> |
31 | <span slot="action" slot-scope="text, record"> | 30 | <span slot="action" slot-scope="text, record"> |
huaheng-wms-core/pom.xml
@@ -42,7 +42,11 @@ | @@ -42,7 +42,11 @@ | ||
42 | <groupId>org.redisson</groupId> | 42 | <groupId>org.redisson</groupId> |
43 | <artifactId>redisson</artifactId> | 43 | <artifactId>redisson</artifactId> |
44 | </dependency> | 44 | </dependency> |
45 | - | 45 | + <dependency> |
46 | + <groupId>cn.monitor4all</groupId> | ||
47 | + <artifactId>log-record-starter</artifactId> | ||
48 | + <version>1.4.1</version> | ||
49 | + </dependency> | ||
46 | <dependency> | 50 | <dependency> |
47 | <groupId>com.github.abel533</groupId> | 51 | <groupId>com.github.abel533</groupId> |
48 | <artifactId>ECharts</artifactId> | 52 | <artifactId>ECharts</artifactId> |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java
@@ -155,6 +155,7 @@ public class ErpServiceImpl implements IErpService { | @@ -155,6 +155,7 @@ public class ErpServiceImpl implements IErpService { | ||
155 | ReceiptDetail receiptDetail = new ReceiptDetail(); | 155 | ReceiptDetail receiptDetail = new ReceiptDetail(); |
156 | receiptDetail.setWarehouseCode(warehouseCode); | 156 | receiptDetail.setWarehouseCode(warehouseCode); |
157 | receiptDetail.setCompanyCode(companyCode); | 157 | receiptDetail.setCompanyCode(companyCode); |
158 | + receiptDetail.setReferCode(referCode); | ||
158 | receiptDetail.setReceiptCode(receiptHeader.getCode()); | 159 | receiptDetail.setReceiptCode(receiptHeader.getCode()); |
159 | receiptDetail.setReceiptId(receiptHeader.getId()); | 160 | receiptDetail.setReceiptId(receiptHeader.getId()); |
160 | receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_BUILD); | 161 | receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_BUILD); |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/aspectj/ApiAuthenticationAspect.java
@@ -81,7 +81,7 @@ public class ApiAuthenticationAspect { | @@ -81,7 +81,7 @@ public class ApiAuthenticationAspect { | ||
81 | JWTVerifier verifier = JWT.require(algorithm).withIssuer(HuahengJwtUtil.HUAHENG_SYSTEM_ID).build(); | 81 | JWTVerifier verifier = JWT.require(algorithm).withIssuer(HuahengJwtUtil.HUAHENG_SYSTEM_ID).build(); |
82 | DecodedJWT jwt = verifier.verify(token); | 82 | DecodedJWT jwt = verifier.verify(token); |
83 | new ApiAuthentication.ApiAuthenticationBuild().operator(jwt.getClaim("operator").asString()).audience(jwt.getAudience().get(0)).issuer(jwt.getIssuer()) | 83 | new ApiAuthentication.ApiAuthenticationBuild().operator(jwt.getClaim("operator").asString()).audience(jwt.getAudience().get(0)).issuer(jwt.getIssuer()) |
84 | - .issuedAt(jwt.getIssuedAt()).expireDateTime(jwt.getExpiresAt()).bulid();; | 84 | + .issuedAt(jwt.getIssuedAt()).expireDateTime(jwt.getExpiresAt()).bulid(); |
85 | } catch (JWTVerificationException e) { | 85 | } catch (JWTVerificationException e) { |
86 | log.error(e.getMessage()); | 86 | log.error(e.getMessage()); |
87 | throw e; | 87 | throw e; |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/aspectj/dto/ApiAuthentication.java
@@ -27,10 +27,10 @@ public class ApiAuthentication { | @@ -27,10 +27,10 @@ public class ApiAuthentication { | ||
27 | /** Token签发方(WMS) */ | 27 | /** Token签发方(WMS) */ |
28 | private String issuer = HuahengJwtUtil.HUAHENG_SYSTEM_ID; | 28 | private String issuer = HuahengJwtUtil.HUAHENG_SYSTEM_ID; |
29 | 29 | ||
30 | - /** 签发时间 */ | 30 | + /** Token签发时间 */ |
31 | private Date issuedAt; | 31 | private Date issuedAt; |
32 | 32 | ||
33 | - /** 失效时间 */ | 33 | + /** Token失效时间 */ |
34 | private Date expireDateTime; | 34 | private Date expireDateTime; |
35 | 35 | ||
36 | public ApiAuthentication() {} | 36 | public ApiAuthentication() {} |
@@ -67,10 +67,10 @@ public class ApiAuthentication { | @@ -67,10 +67,10 @@ public class ApiAuthentication { | ||
67 | /** Token签发方(WMS) */ | 67 | /** Token签发方(WMS) */ |
68 | private String issuer = HuahengJwtUtil.HUAHENG_SYSTEM_ID; | 68 | private String issuer = HuahengJwtUtil.HUAHENG_SYSTEM_ID; |
69 | 69 | ||
70 | - /** 签发时间 */ | 70 | + /** Token签发时间 */ |
71 | private Date issuedAt; | 71 | private Date issuedAt; |
72 | 72 | ||
73 | - /** 失效时间 */ | 73 | + /** Token失效时间 */ |
74 | private Date expireDateTime; | 74 | private Date expireDateTime; |
75 | 75 | ||
76 | public ApiAuthenticationBuild operator(String operator) { | 76 | public ApiAuthenticationBuild operator(String operator) { |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/controller/OperationLogController.java
0 → 100644
1 | +package org.jeecg.modules.wms.monitor.operation.controller; | ||
2 | + | ||
3 | +import java.util.Arrays; | ||
4 | + | ||
5 | +import javax.servlet.http.HttpServletRequest; | ||
6 | +import javax.servlet.http.HttpServletResponse; | ||
7 | + | ||
8 | +import org.jeecg.common.api.vo.Result; | ||
9 | +import org.jeecg.common.aspect.annotation.AutoLog; | ||
10 | +import org.jeecg.common.system.base.controller.JeecgController; | ||
11 | +import org.jeecg.common.system.query.QueryGenerator; | ||
12 | +import org.jeecg.modules.wms.monitor.operation.entity.OperationLog; | ||
13 | +import org.jeecg.modules.wms.monitor.operation.service.IOperationLogService; | ||
14 | +import org.springframework.beans.factory.annotation.Autowired; | ||
15 | +import org.springframework.web.bind.annotation.DeleteMapping; | ||
16 | +import org.springframework.web.bind.annotation.GetMapping; | ||
17 | +import org.springframework.web.bind.annotation.PostMapping; | ||
18 | +import org.springframework.web.bind.annotation.RequestBody; | ||
19 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
20 | +import org.springframework.web.bind.annotation.RequestMethod; | ||
21 | +import org.springframework.web.bind.annotation.RequestParam; | ||
22 | +import org.springframework.web.bind.annotation.RestController; | ||
23 | +import org.springframework.web.servlet.ModelAndView; | ||
24 | + | ||
25 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
26 | +import com.baomidou.mybatisplus.core.metadata.IPage; | ||
27 | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||
28 | + | ||
29 | +import io.swagger.annotations.Api; | ||
30 | +import io.swagger.annotations.ApiOperation; | ||
31 | +import lombok.extern.slf4j.Slf4j; | ||
32 | + | ||
33 | +/** | ||
34 | + * @Description: 操作记录表 | ||
35 | + * @Author: jeecg-boot | ||
36 | + * @Date: 2023-02-20 | ||
37 | + * @Version: V1.0 | ||
38 | + */ | ||
39 | +@Api(tags = "操作记录表") | ||
40 | +@RestController | ||
41 | +@RequestMapping("/config/operationLog") | ||
42 | +@Slf4j | ||
43 | +public class OperationLogController extends JeecgController<OperationLog, IOperationLogService> { | ||
44 | + @Autowired | ||
45 | + private IOperationLogService operationLogService; | ||
46 | + | ||
47 | + /** | ||
48 | + * 分页列表查询 | ||
49 | + * @param operationLog | ||
50 | + * @param pageNo | ||
51 | + * @param pageSize | ||
52 | + * @param req | ||
53 | + * @return | ||
54 | + */ | ||
55 | + // @AutoLog(value = "操作记录表-分页列表查询") | ||
56 | + @ApiOperation(value = "操作记录表-分页列表查询", notes = "操作记录表-分页列表查询") | ||
57 | + @GetMapping(value = "/list") | ||
58 | + public Result<IPage<OperationLog>> queryPageList(OperationLog operationLog, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, | ||
59 | + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { | ||
60 | + QueryWrapper<OperationLog> queryWrapper = QueryGenerator.initQueryWrapper(operationLog, req.getParameterMap()); | ||
61 | + Page<OperationLog> page = new Page<OperationLog>(pageNo, pageSize); | ||
62 | + IPage<OperationLog> pageList = operationLogService.page(page, queryWrapper); | ||
63 | + return Result.OK(pageList); | ||
64 | + } | ||
65 | + | ||
66 | + /** | ||
67 | + * 添加 | ||
68 | + * @param operationLog | ||
69 | + * @return | ||
70 | + */ | ||
71 | + @AutoLog(value = "操作记录表-添加") | ||
72 | + @ApiOperation(value = "操作记录表-添加", notes = "操作记录表-添加") | ||
73 | + @PostMapping(value = "/add") | ||
74 | + public Result<String> add(@RequestBody OperationLog operationLog) { | ||
75 | + operationLogService.save(operationLog); | ||
76 | + return Result.OK("添加成功!"); | ||
77 | + } | ||
78 | + | ||
79 | + /** | ||
80 | + * 编辑 | ||
81 | + * @param operationLog | ||
82 | + * @return | ||
83 | + */ | ||
84 | + @AutoLog(value = "操作记录表-编辑") | ||
85 | + @ApiOperation(value = "操作记录表-编辑", notes = "操作记录表-编辑") | ||
86 | + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) | ||
87 | + public Result<String> edit(@RequestBody OperationLog operationLog) { | ||
88 | + operationLogService.updateById(operationLog); | ||
89 | + return Result.OK("编辑成功!"); | ||
90 | + } | ||
91 | + | ||
92 | + /** | ||
93 | + * 通过id删除 | ||
94 | + * @param id | ||
95 | + * @return | ||
96 | + */ | ||
97 | + @AutoLog(value = "操作记录表-通过id删除") | ||
98 | + @ApiOperation(value = "操作记录表-通过id删除", notes = "操作记录表-通过id删除") | ||
99 | + @DeleteMapping(value = "/delete") | ||
100 | + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { | ||
101 | + operationLogService.removeById(id); | ||
102 | + return Result.OK("删除成功!"); | ||
103 | + } | ||
104 | + | ||
105 | + /** | ||
106 | + * 批量删除 | ||
107 | + * @param ids | ||
108 | + * @return | ||
109 | + */ | ||
110 | + @AutoLog(value = "操作记录表-批量删除") | ||
111 | + @ApiOperation(value = "操作记录表-批量删除", notes = "操作记录表-批量删除") | ||
112 | + @DeleteMapping(value = "/deleteBatch") | ||
113 | + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { | ||
114 | + this.operationLogService.removeByIds(Arrays.asList(ids.split(","))); | ||
115 | + return Result.OK("批量删除成功!"); | ||
116 | + } | ||
117 | + | ||
118 | + /** | ||
119 | + * 通过id查询 | ||
120 | + * @param id | ||
121 | + * @return | ||
122 | + */ | ||
123 | + // @AutoLog(value = "操作记录表-通过id查询") | ||
124 | + @ApiOperation(value = "操作记录表-通过id查询", notes = "操作记录表-通过id查询") | ||
125 | + @GetMapping(value = "/queryById") | ||
126 | + public Result<OperationLog> queryById(@RequestParam(name = "id", required = true) String id) { | ||
127 | + OperationLog operationLog = operationLogService.getById(id); | ||
128 | + if (operationLog == null) { | ||
129 | + return Result.error("未找到对应数据"); | ||
130 | + } | ||
131 | + return Result.OK(operationLog); | ||
132 | + } | ||
133 | + | ||
134 | + /** | ||
135 | + * 导出excel | ||
136 | + * @param request | ||
137 | + * @param operationLog | ||
138 | + */ | ||
139 | + @RequestMapping(value = "/exportXls") | ||
140 | + public ModelAndView exportXls(HttpServletRequest request, OperationLog operationLog) { | ||
141 | + return super.exportXls(request, operationLog, OperationLog.class, "操作记录表"); | ||
142 | + } | ||
143 | + | ||
144 | + /** | ||
145 | + * 通过excel导入数据 | ||
146 | + * @param request | ||
147 | + * @param response | ||
148 | + * @return | ||
149 | + */ | ||
150 | + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) | ||
151 | + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { | ||
152 | + return super.importExcel(request, response, OperationLog.class); | ||
153 | + } | ||
154 | + | ||
155 | +} |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/entity/OperationLog.java
0 → 100644
1 | +package org.jeecg.modules.wms.monitor.operation.entity; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | +import java.io.UnsupportedEncodingException; | ||
5 | +import java.util.Date; | ||
6 | +import java.math.BigDecimal; | ||
7 | +import com.baomidou.mybatisplus.annotation.IdType; | ||
8 | +import com.baomidou.mybatisplus.annotation.TableId; | ||
9 | +import com.baomidou.mybatisplus.annotation.TableName; | ||
10 | +import lombok.Data; | ||
11 | +import com.fasterxml.jackson.annotation.JsonFormat; | ||
12 | +import org.springframework.format.annotation.DateTimeFormat; | ||
13 | +import org.jeecgframework.poi.excel.annotation.Excel; | ||
14 | +import org.jeecg.common.aspect.annotation.Dict; | ||
15 | +import io.swagger.annotations.ApiModel; | ||
16 | +import io.swagger.annotations.ApiModelProperty; | ||
17 | +import lombok.EqualsAndHashCode; | ||
18 | +import lombok.experimental.Accessors; | ||
19 | + | ||
20 | +/** | ||
21 | + * @Description: 操作记录表 | ||
22 | + * @Author: jeecg-boot | ||
23 | + * @Date: 2023-02-20 | ||
24 | + * @Version: V1.0 | ||
25 | + */ | ||
26 | +@Data | ||
27 | +@TableName("operation_log") | ||
28 | +@Accessors(chain = true) | ||
29 | +@EqualsAndHashCode(callSuper = false) | ||
30 | +@ApiModel(value="operation_log对象", description="操作记录表") | ||
31 | +public class OperationLog implements Serializable { | ||
32 | + private static final long serialVersionUID = 1L; | ||
33 | + | ||
34 | + /**主键*/ | ||
35 | + @TableId(type = IdType.AUTO) | ||
36 | + @ApiModelProperty(value = "主键") | ||
37 | + private java.lang.Integer id; | ||
38 | + /**业务ID*/ | ||
39 | + @Excel(name = "业务ID", width = 15) | ||
40 | + @ApiModelProperty(value = "业务ID") | ||
41 | + private java.lang.String bizId; | ||
42 | + /**业务类型*/ | ||
43 | + @Excel(name = "业务类型", width = 15) | ||
44 | + @ApiModelProperty(value = "业务类型") | ||
45 | + private java.lang.String bizType; | ||
46 | + /**操作内容*/ | ||
47 | + @Excel(name = "操作内容", width = 15) | ||
48 | + @ApiModelProperty(value = "操作内容") | ||
49 | + private java.lang.String operationMsg; | ||
50 | + /**操作时间*/ | ||
51 | + @Excel(name = "操作时间", width = 15) | ||
52 | + @ApiModelProperty(value = "操作时间") | ||
53 | + private java.util.Date operationTime; | ||
54 | + /**操作结果状态*/ | ||
55 | + @Excel(name = "操作结果状态", width = 15) | ||
56 | + @ApiModelProperty(value = "操作结果状态") | ||
57 | + private java.lang.Integer operationStatus; | ||
58 | + /**操作耗时*/ | ||
59 | + @Excel(name = "操作耗时", width = 15) | ||
60 | + @ApiModelProperty(value = "操作耗时") | ||
61 | + private java.lang.Long operationCostTime; | ||
62 | + /**方法返回内容*/ | ||
63 | + @Excel(name = "方法返回内容", width = 15) | ||
64 | + @ApiModelProperty(value = "方法返回内容") | ||
65 | + private java.lang.String contentReturn; | ||
66 | + /**方法异常内容*/ | ||
67 | + @Excel(name = "方法异常内容", width = 15) | ||
68 | + @ApiModelProperty(value = "方法异常内容") | ||
69 | + private java.lang.String contentException; | ||
70 | + /**操作人ID*/ | ||
71 | + @Excel(name = "操作人ID", width = 15) | ||
72 | + @ApiModelProperty(value = "操作人ID") | ||
73 | + private java.lang.String operatorId; | ||
74 | + /**操作人姓名*/ | ||
75 | + @Excel(name = "操作人姓名", width = 15) | ||
76 | + @ApiModelProperty(value = "操作人姓名") | ||
77 | + private java.lang.String operatorName; | ||
78 | +} |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/mapper/OperationLogMapper.java
0 → 100644
1 | +package org.jeecg.modules.wms.monitor.operation.mapper; | ||
2 | + | ||
3 | +import org.jeecg.modules.wms.monitor.operation.entity.OperationLog; | ||
4 | + | ||
5 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||
6 | + | ||
7 | +/** | ||
8 | + * @Description: 操作记录表 | ||
9 | + * @Author: jeecg-boot | ||
10 | + * @Date: 2023-02-20 | ||
11 | + * @Version: V1.0 | ||
12 | + */ | ||
13 | +public interface OperationLogMapper extends BaseMapper<OperationLog> { | ||
14 | + | ||
15 | +} |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/mapper/xml/OperationLogMapper.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
3 | +<mapper namespace="org.jeecg.modules.wms.monitor.operation.mapper.OperationLogMapper"> | ||
4 | + | ||
5 | +</mapper> | ||
0 | \ No newline at end of file | 6 | \ No newline at end of file |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/IOperationLogService.java
0 → 100644
1 | +package org.jeecg.modules.wms.monitor.operation.service; | ||
2 | + | ||
3 | +import org.jeecg.modules.wms.monitor.operation.entity.OperationLog; | ||
4 | + | ||
5 | +import com.baomidou.mybatisplus.extension.service.IService; | ||
6 | + | ||
7 | +/** | ||
8 | + * @Description: 操作记录表 | ||
9 | + * @Author: jeecg-boot | ||
10 | + * @Date: 2023-02-20 | ||
11 | + * @Version: V1.0 | ||
12 | + */ | ||
13 | +public interface IOperationLogService extends IService<OperationLog> { | ||
14 | + | ||
15 | +} |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
0 → 100644
1 | +package org.jeecg.modules.wms.monitor.operation.service.impl; | ||
2 | + | ||
3 | +import org.jeecg.modules.wms.monitor.operation.entity.OperationLog; | ||
4 | +import org.jeecg.modules.wms.monitor.operation.mapper.OperationLogMapper; | ||
5 | +import org.jeecg.modules.wms.monitor.operation.service.IOperationLogService; | ||
6 | +import org.springframework.stereotype.Service; | ||
7 | + | ||
8 | +import com.alibaba.fastjson.JSON; | ||
9 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||
10 | + | ||
11 | +import cn.monitor4all.logRecord.bean.LogDTO; | ||
12 | +import cn.monitor4all.logRecord.service.IOperationLogGetService; | ||
13 | +import lombok.extern.slf4j.Slf4j; | ||
14 | + | ||
15 | +/** | ||
16 | + * @Description: 操作记录表 | ||
17 | + * @Author: jeecg-boot | ||
18 | + * @Date: 2023-02-20 | ||
19 | + * @Version: V1.0 | ||
20 | + */ | ||
21 | +@Slf4j | ||
22 | +@Service | ||
23 | +public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, OperationLog> implements IOperationLogService, IOperationLogGetService { | ||
24 | + | ||
25 | + @Override | ||
26 | + public boolean createLog(LogDTO logDTO) throws Exception { | ||
27 | + try { | ||
28 | + log.debug(">>>>>> create OperationLog: [{}]", JSON.toJSONString(logDTO)); | ||
29 | + if (null == logDTO.getBizId()) { | ||
30 | + log.error(">>>>>> create OperationLog bizId is null"); | ||
31 | + return false; | ||
32 | + } | ||
33 | + OperationLog operationLog = new OperationLog(); | ||
34 | + operationLog.setBizId(logDTO.getBizId()); | ||
35 | + operationLog.setBizType(logDTO.getBizType()); | ||
36 | + operationLog.setContentException(logDTO.getException()); | ||
37 | + operationLog.setContentReturn(logDTO.getReturnStr()); | ||
38 | + operationLog.setOperationCostTime(logDTO.getExecutionTime()); | ||
39 | + operationLog.setOperationMsg(logDTO.getMsg()); | ||
40 | + operationLog.setOperationStatus(logDTO.getSuccess().equals(true) ? 1 : 0); | ||
41 | + operationLog.setOperationTime(logDTO.getOperateDate()); | ||
42 | + operationLog.setOperatorId(logDTO.getOperatorId()); | ||
43 | + operationLog.setOperatorName(logDTO.getOperatorId()); | ||
44 | + this.save(operationLog); | ||
45 | + return true; | ||
46 | + } catch (Exception e) { | ||
47 | + log.error(">>>>>> create OperationLog error:{}", e.getMessage(), e); | ||
48 | + return false; | ||
49 | + } | ||
50 | + } | ||
51 | +} |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java
@@ -9,6 +9,10 @@ import com.baomidou.mybatisplus.annotation.TableName; | @@ -9,6 +9,10 @@ import com.baomidou.mybatisplus.annotation.TableName; | ||
9 | import org.jeecgframework.poi.excel.annotation.Excel; | 9 | import org.jeecgframework.poi.excel.annotation.Excel; |
10 | import lombok.Data; | 10 | import lombok.Data; |
11 | import com.fasterxml.jackson.annotation.JsonFormat; | 11 | import com.fasterxml.jackson.annotation.JsonFormat; |
12 | + | ||
13 | +import cn.monitor4all.logRecord.annotation.LogRecordDiffField; | ||
14 | +import cn.monitor4all.logRecord.annotation.LogRecordDiffObject; | ||
15 | + | ||
12 | import org.springframework.format.annotation.DateTimeFormat; | 16 | import org.springframework.format.annotation.DateTimeFormat; |
13 | import org.jeecg.common.aspect.annotation.Dict; | 17 | import org.jeecg.common.aspect.annotation.Dict; |
14 | import io.swagger.annotations.ApiModel; | 18 | import io.swagger.annotations.ApiModel; |
@@ -23,6 +27,7 @@ import io.swagger.annotations.ApiModelProperty; | @@ -23,6 +27,7 @@ import io.swagger.annotations.ApiModelProperty; | ||
23 | @Data | 27 | @Data |
24 | @TableName("receipt_header") | 28 | @TableName("receipt_header") |
25 | @ApiModel(value = "receipt_header对象", description = "入库表主表") | 29 | @ApiModel(value = "receipt_header对象", description = "入库表主表") |
30 | +@LogRecordDiffObject | ||
26 | public class ReceiptHeader implements Serializable { | 31 | public class ReceiptHeader implements Serializable { |
27 | private static final long serialVersionUID = 1L; | 32 | private static final long serialVersionUID = 1L; |
28 | 33 | ||
@@ -33,6 +38,7 @@ public class ReceiptHeader implements Serializable { | @@ -33,6 +38,7 @@ public class ReceiptHeader implements Serializable { | ||
33 | /** 编码 */ | 38 | /** 编码 */ |
34 | @Excel(name = "编码", width = 15) | 39 | @Excel(name = "编码", width = 15) |
35 | @ApiModelProperty(value = "编码") | 40 | @ApiModelProperty(value = "编码") |
41 | + @LogRecordDiffField(alias = "入库单编码") | ||
36 | private String code; | 42 | private String code; |
37 | /** 仓库编码 */ | 43 | /** 仓库编码 */ |
38 | @Excel(name = "仓库编码", width = 15) | 44 | @Excel(name = "仓库编码", width = 15) |
huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
1 | package org.jeecg.utils.constant; | 1 | package org.jeecg.utils.constant; |
2 | 2 | ||
3 | /** | 3 | /** |
4 | - * 数字自定义常量 | 4 | + * 数字自定义常量 |
5 | + * 1、入库单状态 | ||
6 | + * 2、出库单状态 | ||
7 | + * 3、单据上传状态 | ||
8 | + * 4、入库组盘状态 | ||
9 | + * 5、出库组盘状态 | ||
10 | + * 6、任务类型 | ||
11 | + * 7、任务状态 | ||
12 | + * 8、波次状态 | ||
13 | + * 9、质检状态 | ||
14 | + * 10、盘点状态 | ||
15 | + * 11、INVENTORY_TRANSACTION_RECEIPT | ||
16 | + * 12、调整单状态 | ||
17 | + * 13、任务内部类型 | ||
18 | + * 14、质检单类型 | ||
19 | + * 16、请求类型 | ||
5 | * @author ricard | 20 | * @author ricard |
6 | */ | 21 | */ |
7 | public class QuantityConstant { | 22 | public class QuantityConstant { |
8 | /** | 23 | /** |
9 | - * 1、入库单状态 | ||
10 | - * 2、出库单状态 | ||
11 | - * 3、单据上传状态 | ||
12 | - * 4、入库组盘状态 | ||
13 | - * 5、出库组盘状态 | ||
14 | - * 6、任务类型 | ||
15 | - * 7、任务状态 | ||
16 | - * 8、波次状态 | ||
17 | - * 9、质检状态 | ||
18 | - * 10、盘点状态 | ||
19 | - * 11、INVENTORY_TRANSACTION_RECEIPT | ||
20 | - * 12、调整单状态 | ||
21 | - * 13、任务内部类型 | ||
22 | - * 14、质检单类型 | ||
23 | - * 16、请求类型 | 24 | + |
24 | */ | 25 | */ |
25 | 26 | ||
26 | // 1、入库单状态 | 27 | // 1、入库单状态 |
@@ -708,9 +709,8 @@ public class QuantityConstant { | @@ -708,9 +709,8 @@ public class QuantityConstant { | ||
708 | public static final String ERP_LCID = "2052"; | 709 | public static final String ERP_LCID = "2052"; |
709 | public static final String ERP_ServerUrl = "http://erptest.gani.com.cn/K3Cloud/"; | 710 | public static final String ERP_ServerUrl = "http://erptest.gani.com.cn/K3Cloud/"; |
710 | 711 | ||
711 | - public static final String UPSTREAM_DELETE_RECEIPT="上游删除"; | ||
712 | - public static final String BACK_DELETE_RECEIPT="回传删除"; | ||
713 | - public static final String WMS_DELETE_RECEIPT="WMS删除"; | ||
714 | - | 712 | + public static final String UPSTREAM_DELETE_RECEIPT = "上游删除"; |
713 | + public static final String BACK_DELETE_RECEIPT = "回传删除"; | ||
714 | + public static final String WMS_DELETE_RECEIPT = "WMS删除"; | ||
715 | 715 | ||
716 | } | 716 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/config/HuahengBatisInterceptor.java renamed to huaheng-wms-core/src/main/java/org/jeecg/utils/interceptor/HuahengBatisInterceptor.java