From 0c183798fde1a5c413e83b18dd60d9ba9b81a341 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 04 七月 2024 13:40:02 +0800 Subject: [PATCH] # --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java | 102 +++++++ zy-asrs-admin/src/views/base/orderSettle/index.vue | 214 +++++++++++++++ zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java | 38 ++ zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java | 4 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderSettleService.java | 8 zy-asrs-wms/src/main/resources/mapper/asrs/OrderSettleMapper.xml | 5 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderSettleMapper.java | 12 zy-asrs-admin/src/views/base/orderSettle/edit.vue | 193 +++++++++++++ zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderSettleServiceImpl.java | 12 zy-asrs-wms/src/main/java/orderSettle.sql | 9 zy-asrs-wms/src/main/resources/mapper/system/RoleMenuMapper.xml | 16 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderSettle.java | 206 ++++++++++++++ 12 files changed, 805 insertions(+), 14 deletions(-) diff --git a/zy-asrs-admin/src/views/base/orderSettle/edit.vue b/zy-asrs-admin/src/views/base/orderSettle/edit.vue new file mode 100644 index 0000000..c142043 --- /dev/null +++ b/zy-asrs-admin/src/views/base/orderSettle/edit.vue @@ -0,0 +1,193 @@ +<script setup> +import { ref, nextTick } from 'vue'; +import { get, post, postBlob, postForm } from '@/utils/request.js' +import { formatMessage } from '@/utils/localeUtils.js'; +import { message } from 'ant-design-vue'; + +const formTable = ref(null); +const submitButton = ref(null); +const isSave = ref(true); +const open = ref(false); +const initFormData = {} +let formData = ref(initFormData); + +const emit = defineEmits(['tableReload']) + +const handleOk = (e) => { + nextTick(() => { + setTimeout(() => { + submitButton.value.$el.click(); + }, 100); + }); +}; + +const onFinish = values => { + // console.log('Success:', values); + open.value = false; + post(isSave.value ? '/api/orderSettle/save' : '/api/orderSettle/update', formData.value).then((resp) => { + let result = resp.data; + if (result.code === 200) { + message.success(isSave.value ? formatMessage('page.add.success', '鏂板鎴愬姛') : formatMessage('page.update.success', '鏇存柊鎴愬姛')); + } else { + message.error(result.msg); + } + emit('tableReload', 'reload') + nextTick(() => { + formTable.value.resetFields() + }) + }) +}; +const onFinishFailed = errorInfo => { + console.log('Failed:', errorInfo); +}; + +const UserQueryList = ref(null); +UserQuery(); +function UserQuery() { + postForm('/api/user/query', {}).then(resp => { + let result = resp.data; + UserQueryList.value = result.data; + }) +} + + +defineExpose({ + open, + formData, + initFormData, + isSave, +}) + +</script> + +<script> +export default { + name: '鍗曟嵁鐘舵��-edit' +} +</script> + +<template> + <div> + <a-modal v-model:open="open" + :title="isSave ? formatMessage('page.add', '娣诲姞') : formatMessage('page.edit', '缂栬緫')" @ok="handleOk" + style="width: 600px;"> + <a-form :model="formData" ref="formTable" name="formTable" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" + style="display: flex;justify-content: space-between;flex-wrap: wrap;" autocomplete="off" + @finish="onFinish" @finishFailed="onFinishFailed"> + <a-form-item + :label="formatMessage('db.man_order_settle.settle', '璁㈠崟鐘舵��') " + name="settle" + style="width: 250px;" + > + <a-input + v-model:value="formData.settle" + /> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.name', '鐘舵�佹弿杩�') " + name="name" + style="width: 250px;" + > + <a-input + v-model:value="formData.name" + /> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.flag', '鏍囪瘑') " + name="flag" + style="width: 250px;" + > + <a-input + v-model:value="formData.flag" + /> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.status', '鐘舵��') " + name="status" + style="width: 250px;" + > + <a-select + v-model:value="formData.status" + :options="[ + { label: '姝e父', value: 1 }, + { label: '绂佺敤', value: 0 }, + ]" + > + </a-select> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.create_time', '娣诲姞鏃堕棿') " + name="createTime" + style="width: 250px;" + > + <a-date-picker + v-model:value="formData.createTime" + show-time + format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" + /> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.create_by', '娣诲姞浜哄憳') " + name="createBy" + style="width: 250px;" + > + <a-select + v-model:value="formData.createBy" + :placeholder="formatMessage('common.select', '璇烽�夋嫨')" + style="width: 100%" + show-search + :options="UserQueryList" + optionFilterProp="label" + optionLabelProp="label" + > + </a-select> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.update_time', '淇敼鏃堕棿') " + name="updateTime" + style="width: 250px;" + > + <a-date-picker + v-model:value="formData.updateTime" + show-time + format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" + /> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.update_by', '淇敼浜哄憳') " + name="updateBy" + style="width: 250px;" + > + <a-select + v-model:value="formData.updateBy" + :placeholder="formatMessage('common.select', '璇烽�夋嫨')" + style="width: 100%" + show-search + :options="UserQueryList" + optionFilterProp="label" + optionLabelProp="label" + > + </a-select> + </a-form-item> + <a-form-item + :label="formatMessage('db.man_order_settle.memo', '澶囨敞') " + name="memo" + style="width: 250px;" + > + <a-input + v-model:value="formData.memo" + /> + </a-form-item> + + <a-form-item> + <a-button type="primary" html-type="submit" ref="submitButton" + style="visibility: hidden;">Submit</a-button> + </a-form-item> + </a-form> + </a-modal> + </div> +</template> + +<style></style> diff --git a/zy-asrs-admin/src/views/base/orderSettle/index.vue b/zy-asrs-admin/src/views/base/orderSettle/index.vue new file mode 100644 index 0000000..792fe0d --- /dev/null +++ b/zy-asrs-admin/src/views/base/orderSettle/index.vue @@ -0,0 +1,214 @@ +<script setup> +import { getCurrentInstance, ref, computed, reactive } from 'vue'; +import { useRouter } from "vue-router"; +import { get, post, postBlob } from '@/utils/request.js' +import { message, Modal } from 'ant-design-vue'; +import { logout } from '@/config.js'; +import EditView from './edit.vue' +import { formatMessage } from '@/utils/localeUtils.js'; +const context = getCurrentInstance()?.appContext.config.globalProperties; + +const router = useRouter(); + +const TABLE_KEY = 'table-orderSettle'; +let currentPage = 1; +let pageSize = 10; +const searchInput = ref("") +const editChild = ref(null) + +let tableData = ref([]); +getPage(); + +const columns = [ + { + title: formatMessage('db.man_order_settle.settle', '璁㈠崟鐘舵��'), + dataIndex: 'settle', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.name', '鐘舵�佹弿杩�'), + dataIndex: 'name', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.flag', '鏍囪瘑'), + dataIndex: 'flag', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.status', '鐘舵��'), + dataIndex: 'status$', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.create_time', '娣诲姞鏃堕棿'), + dataIndex: 'createTime$', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.create_by', '娣诲姞浜哄憳'), + dataIndex: 'createBy$', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.update_time', '淇敼鏃堕棿'), + dataIndex: 'updateTime$', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.update_by', '淇敼浜哄憳'), + dataIndex: 'updateBy$', + width: 140, + ellipsis: true, + }, + { + title: formatMessage('db.man_order_settle.memo', '澶囨敞'), + dataIndex: 'memo', + width: 140, + ellipsis: true, + }, + + { + title: formatMessage('common.operation', '鎿嶄綔'), + name: 'oper', + dataIndex: 'oper', + key: 'oper', + width: 140, + }, +]; + +const state = reactive({ + selectedRowKeys: [], + loading: false, +}); +const hasSelected = computed(() => state.selectedRowKeys.length > 0); +const start = () => { + state.loading = true; + // ajax request after empty completing + setTimeout(() => { + state.loading = false; + state.selectedRowKeys = []; + }, 1000); +}; +const onSelectChange = selectedRowKeys => { + // console.log('selectedRowKeys changed: ', selectedRowKeys); + state.selectedRowKeys = selectedRowKeys; +}; + +function getPage() { + post('/api/orderSettle/page', { + current: currentPage, + pageSize: pageSize, + condition: searchInput.value + }).then((resp) => { + let result = resp.data; + if (result.code == 200) { + let data = result.data; + tableData.value = data; + } else if (result.code === 401) { + message.error(result.msg); + logout() + } else { + message.error(result.msg); + } + }) +} + +const handleEdit = (item) => { + editChild.value.open = true; + editChild.value.formData = item == null ? editChild.value.initFormData : JSON.parse(JSON.stringify(item)); + editChild.value.isSave = item == null; +} + +const handleDel = (rows) => { + Modal.confirm({ + title: formatMessage('page.delete', '鍒犻櫎'), + content: formatMessage('page.delete.confirm', '纭畾鍒犻櫎璇ラ」鍚楋紵'), + maskClosable: true, + onOk: async () => { + const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�')); + try { + post('/api/orderSettle/remove/' + rows.map((row) => row.id).join(','), {}).then(resp => { + let result = resp.data; + if (result.code === 200) { + message.success(result.msg); + } else { + message.error(result.msg); + } + getPage() + hide() + }) + } catch (error) { + message.error(formatMessage('common.fail', '璇锋眰澶辫触')); + } + }, + }); +} + +const handleExport = async (intl) => { + postBlob('/api/orderSettle/export', {}).then(result => { + const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' }); + window.location.href = window.URL.createObjectURL(blob); + return true; + }) +}; + +const onSearch = () => { + // console.log('search'); + getPage() +} + +const onPageChange = (page, size) => { + currentPage = page; + pageSize = size; + getPage(); +} + +function handleTableReload(value) { + getPage() +} + +</script> + +<script> +export default { + name: '鍗曟嵁鐘舵��' +} +</script> + +<template> + <div> + <EditView ref="editChild" @tableReload="handleTableReload" /> + <div class="table-header"> + <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')" + style="width: 200px;" @search="onSearch" /> + <div class="table-header-right"> + <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button> + <a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button> + </div> + </div> + <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }" + :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id" + :pagination="{ total: tableData.total, onChange: onPageChange }" + :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns"> + <template #bodyCell="{ column, text, record }"> + <template v-if="column.dataIndex === 'oper'"> + <div style="display: flex;justify-content: space-evenly;"> + <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button> + <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎') + }}</a-button> + </div> + </template> + </template> + </a-table> + </div> +</template> + +<style></style> diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java new file mode 100644 index 0000000..a17fab7 --- /dev/null +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java @@ -0,0 +1,102 @@ +package com.zy.asrs.wms.asrs.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zy.asrs.framework.common.Cools; +import com.zy.asrs.framework.common.R; +import com.zy.asrs.wms.common.annotation.OperationLog; +import com.zy.asrs.wms.common.domain.BaseParam; +import com.zy.asrs.wms.common.domain.KeyValVo; +import com.zy.asrs.wms.common.domain.PageParam; +import com.zy.asrs.wms.asrs.entity.OrderSettle; +import com.zy.asrs.wms.asrs.service.OrderSettleService; +import com.zy.asrs.wms.system.controller.BaseController; +import com.zy.asrs.wms.utils.ExcelUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api") +public class OrderSettleController extends BaseController { + + @Autowired + private OrderSettleService orderSettleService; + + @PreAuthorize("hasAuthority('asrs:orderSettle:list')") + @PostMapping("/orderSettle/page") + public R page(@RequestBody Map<String, Object> map) { + BaseParam baseParam = buildParam(map, BaseParam.class); + PageParam<OrderSettle, BaseParam> pageParam = new PageParam<>(baseParam, OrderSettle.class); + return R.ok().add(orderSettleService.page(pageParam, pageParam.buildWrapper(true))); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:list')") + @PostMapping("/orderSettle/list") + public R list(@RequestBody Map<String, Object> map) { + return R.ok().add(orderSettleService.list()); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:list')") + @GetMapping("/orderSettle/{id}") + public R get(@PathVariable("id") Long id) { + return R.ok().add(orderSettleService.getById(id)); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:save')") + @OperationLog("娣诲姞鍗曟嵁鐘舵��") + @PostMapping("/orderSettle/save") + public R save(@RequestBody OrderSettle orderSettle) { + if (!orderSettleService.save(orderSettle)) { + return R.error("娣诲姞澶辫触"); + } + return R.ok("娣诲姞鎴愬姛"); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:update')") + @OperationLog("淇敼鍗曟嵁鐘舵��") + @PostMapping("/orderSettle/update") + public R update(@RequestBody OrderSettle orderSettle) { + if (!orderSettleService.updateById(orderSettle)) { + return R.error("淇敼澶辫触"); + } + return R.ok("淇敼鎴愬姛"); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:remove')") + @OperationLog("鍒犻櫎鍗曟嵁鐘舵��") + @PostMapping("/orderSettle/remove/{ids}") + public R remove(@PathVariable Long[] ids) { + if (!orderSettleService.removeByIds(Arrays.asList(ids))) { + return R.error("鍒犻櫎澶辫触"); + } + return R.ok("鍒犻櫎鎴愬姛"); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:list')") + @PostMapping("/orderSettle/query") + public R query(@RequestParam(required = false) String condition) { + List<KeyValVo> vos = new ArrayList<>(); + LambdaQueryWrapper<OrderSettle> wrapper = new LambdaQueryWrapper<>(); + if (!Cools.isEmpty(condition)) { + wrapper.like(OrderSettle::getName, condition); + } + orderSettleService.page(new Page<>(1, 30), wrapper).getRecords().forEach( + item -> vos.add(new KeyValVo(item.getId(), item.getName())) + ); + return R.ok().add(vos); + } + + @PreAuthorize("hasAuthority('asrs:orderSettle:list')") + @PostMapping("/orderSettle/export") + public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { + ExcelUtil.build(ExcelUtil.create(orderSettleService.list(), OrderSettle.class), response); + } + +} diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderSettle.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderSettle.java new file mode 100644 index 0000000..d7838ef --- /dev/null +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderSettle.java @@ -0,0 +1,206 @@ +package com.zy.asrs.wms.asrs.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import java.text.SimpleDateFormat; +import java.util.Date; + +import com.zy.asrs.wms.system.entity.Host; +import com.zy.asrs.wms.system.entity.User; +import org.springframework.format.annotation.DateTimeFormat; +import java.text.SimpleDateFormat; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.zy.asrs.framework.common.Cools; +import com.zy.asrs.framework.common.SpringUtils; +import com.zy.asrs.wms.system.service.UserService; +import com.zy.asrs.wms.system.service.HostService; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("man_order_settle") +public class OrderSettle implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 璁㈠崟鐘舵�� + */ + @ApiModelProperty(value= "璁㈠崟鐘舵��") + private String settle; + + /** + * 鐘舵�佹弿杩� + */ + @ApiModelProperty(value= "鐘舵�佹弿杩�") + private String name; + + /** + * 鏍囪瘑 + */ + @ApiModelProperty(value= "鏍囪瘑") + private String flag; + + /** + * 鎵�灞炴満鏋� + */ + @ApiModelProperty(value= "鎵�灞炴満鏋�") + private Long hostId; + + /** + * 鐘舵�� 1: 姝e父 0: 绂佺敤 + */ + @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ") + private Integer status; + + /** + * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic + private Integer deleted; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 娣诲姞浜哄憳 + */ + @ApiModelProperty(value= "娣诲姞浜哄憳") + private Long createBy; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + private Long updateBy; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public OrderSettle() {} + + public OrderSettle(String settle,String name,String flag,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) { + this.settle = settle; + this.name = name; + this.flag = flag; + this.hostId = hostId; + this.status = status; + this.deleted = deleted; + this.createTime = createTime; + this.createBy = createBy; + this.updateTime = updateTime; + this.updateBy = updateBy; + this.memo = memo; + } + +// OrderSettle orderSettle = new OrderSettle( +// null, // 璁㈠崟鐘舵�� +// null, // 鐘舵�佹弿杩� +// null, // 鏍囪瘑 +// null, // 鎵�灞炴満鏋� +// null, // 鐘舵�� +// null, // 鏄惁鍒犻櫎 +// null, // 娣诲姞鏃堕棿 +// null, // 娣诲姞浜哄憳 +// null, // 淇敼鏃堕棿 +// null, // 淇敼浜哄憳 +// null // 澶囨敞 +// ); + + public String getHostId$(){ + HostService service = SpringUtils.getBean(HostService.class); + Host host = service.getById(this.hostId); + if (!Cools.isEmpty(host)){ + return String.valueOf(host.getName()); + } + return null; + } + + public String getStatus$(){ + if (null == this.status){ return null; } + switch (this.status){ + case 1: + return "姝e父"; + case 0: + return "绂佺敤"; + default: + return String.valueOf(this.status); + } + } + + public String getDeleted$(){ + if (null == this.deleted){ return null; } + switch (this.deleted){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.deleted); + } + } + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public String getCreateBy$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.getById(this.createBy); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + + public String getUpdateBy$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.getById(this.updateBy); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + +} diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderSettleMapper.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderSettleMapper.java new file mode 100644 index 0000000..33caaa7 --- /dev/null +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderSettleMapper.java @@ -0,0 +1,12 @@ +package com.zy.asrs.wms.asrs.mapper; + +import com.zy.asrs.wms.asrs.entity.OrderSettle; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface OrderSettleMapper extends BaseMapper<OrderSettle> { + +} diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderSettleService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderSettleService.java new file mode 100644 index 0000000..2ce7330 --- /dev/null +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderSettleService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.wms.asrs.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.zy.asrs.wms.asrs.entity.OrderSettle; + +public interface OrderSettleService extends IService<OrderSettle> { + +} diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderSettleServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderSettleServiceImpl.java new file mode 100644 index 0000000..ff3cf29 --- /dev/null +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderSettleServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.wms.asrs.service.impl; + +import com.zy.asrs.wms.asrs.mapper.OrderSettleMapper; +import com.zy.asrs.wms.asrs.entity.OrderSettle; +import com.zy.asrs.wms.asrs.service.OrderSettleService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("orderSettleService") +public class OrderSettleServiceImpl extends ServiceImpl<OrderSettleMapper, OrderSettle> implements OrderSettleService { + +} diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java index 8474230..8b4a520 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java @@ -75,7 +75,21 @@ @GetMapping("/auth/menu") public R userMenu() { - List<Menu> menus = roleMenuService.listMenuByUserId(getLoginUserId(), Menu.TYPE_MENU, getHostId()); + boolean superRole = false;//瓒呯骇绠$悊鍛� + User loginUser = getLoginUser(); + List<Role> roles = userRoleService.listByUserId(loginUser.getId()); + for (Role role : roles) { + if (role.getId() == 1) { + superRole = true; + } + } + + List<Menu> menus = null; + if (superRole) { + menus = roleMenuService.listMenuByUserId(null, Menu.TYPE_MENU, getHostId()); + }else { + menus = roleMenuService.listMenuByUserId(getLoginUserId(), Menu.TYPE_MENU, getHostId()); + } return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren)); } @@ -131,16 +145,30 @@ if (userRoles.isEmpty()) { return R.error(); } + + boolean superRole = false;//瓒呯骇绠$悊鍛� ArrayList<Long> roles = new ArrayList<>(); for (UserRole userRole : userRoles) { roles.add(userRole.getRoleId()); + if (userRole.getRoleId() == 1) { + superRole = true; + } } ArrayList<Long> menus = new ArrayList<>(); - List<RoleMenu> roleMenus = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>().in(RoleMenu::getRoleId, roles)); - for (RoleMenu roleMenu : roleMenus) { - if(!menus.contains(roleMenu.getMenuId())) { - menus.add(roleMenu.getMenuId()); + if(superRole) { + List<Menu> allMenus = menuService.selectByHostId(getHostId()); + for (Menu menu : allMenus) { + if(!menus.contains(menu.getId())) { + menus.add(menu.getId()); + } + } + }else { + List<RoleMenu> roleMenus = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>().in(RoleMenu::getRoleId, roles)); + for (RoleMenu roleMenu : roleMenus) { + if(!menus.contains(roleMenu.getMenuId())) { + menus.add(roleMenu.getMenuId()); + } } } diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java index 8dd15bd..f1e9c8e 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java @@ -22,8 +22,8 @@ // generator.username="sa"; // generator.password="Zoneyung@zy56$"; - generator.table="man_order_type"; - generator.tableName="鍗曟嵁绫诲瀷"; + generator.table="man_order_settle"; + generator.tableName="鍗曟嵁鐘舵��"; generator.rootPackagePath="com.zy.asrs.wms"; generator.packagePath="com.zy.asrs.wms.asrs"; diff --git a/zy-asrs-wms/src/main/java/orderSettle.sql b/zy-asrs-wms/src/main/java/orderSettle.sql new file mode 100644 index 0000000..4f2d503 --- /dev/null +++ b/zy-asrs-wms/src/main/java/orderSettle.sql @@ -0,0 +1,9 @@ +-- save orderSettle record +-- mysql +insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `host_id`, `status`) values ( '鍗曟嵁鐘舵�佺鐞�', '0', '/asrs/orderSettle', '/asrs/orderSettle', '0' , '0', '1' , '1'); + +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '鏌ヨ鍗曟嵁鐘舵��', '', '1', 'asrs:orderSettle:list', '0', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '娣诲姞鍗曟嵁鐘舵��', '', '1', 'asrs:orderSettle:save', '1', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '淇敼鍗曟嵁鐘舵��', '', '1', 'asrs:orderSettle:update', '2', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '鍒犻櫎鍗曟嵁鐘舵��', '', '1', 'asrs:orderSettle:remove', '3', '1', '1'); + diff --git a/zy-asrs-wms/src/main/resources/mapper/asrs/OrderSettleMapper.xml b/zy-asrs-wms/src/main/resources/mapper/asrs/OrderSettleMapper.xml new file mode 100644 index 0000000..80c83f4 --- /dev/null +++ b/zy-asrs-wms/src/main/resources/mapper/asrs/OrderSettleMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.wms.asrs.mapper.OrderSettleMapper"> + +</mapper> diff --git a/zy-asrs-wms/src/main/resources/mapper/system/RoleMenuMapper.xml b/zy-asrs-wms/src/main/resources/mapper/system/RoleMenuMapper.xml index 77d86c5..c7514fe 100644 --- a/zy-asrs-wms/src/main/resources/mapper/system/RoleMenuMapper.xml +++ b/zy-asrs-wms/src/main/resources/mapper/system/RoleMenuMapper.xml @@ -12,16 +12,18 @@ AND host_id = #{hostId} </if> and deleted = 0 - and id in ( + <if test="userId != null"> + and id in ( select menu_id from sys_role_menu where role_id in ( - select sur.role_id from sys_user_role sur - left join sys_role sr on sur.role_id = sr.id - where 1=1 - and sur.user_id = #{userId} - and sr.deleted = 0 + select sur.role_id from sys_user_role sur + left join sys_role sr on sur.role_id = sr.id + where 1=1 + and sur.user_id = #{userId} + and sr.deleted = 0 ) - ) + ) + </if> order by sort </select> -- Gitblit v1.9.1