#
Junjie
2024-07-29 13909c99e368788a94a48753dc9f76e40a992cd6
#
4个文件已修改
2个文件已添加
1 文件已重命名
752 ■■■■■ 已修改文件
zy-asrs-admin/src/components/order/edit.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-admin/src/components/order/index.vue 251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-admin/src/components/orderDetl/edit.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-admin/src/components/orderDetl/show.vue 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-admin/src/views/in/order/index.vue 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-admin/src/components/order/edit.vue
File was renamed from zy-asrs-admin/src/views/in/order/edit.vue
@@ -1,5 +1,5 @@
<script setup>
import { ref, nextTick, watch } from 'vue';
import { ref, nextTick, watch, defineProps } from 'vue';
import { get, post, postBlob, postForm } from '@/utils/request.js'
import { formatMessage } from '@/utils/localeUtils.js';
import { message } from 'ant-design-vue';
@@ -13,16 +13,16 @@
let formData = ref(initFormData);
const orderDetlChild = ref(null);
const props = defineProps({
    ioModel: 1
})
const emit = defineEmits(['tableReload'])
watch(open, (newVal, oldVal) => {
watch(open, async (newVal, oldVal) => {
    if(newVal) {
        get("/api/orderDetl/orderId/" + formData.value.id,{}).then((resp) => {
            let result = resp.data;
            orderDetlChild.value.editTableData = result.data;
        })
    }else {
        orderDetlChild.value.editTableData = [];
        await nextTick();// await dom update
        orderDetlChild.value.orderId = formData.value.id;
    }
})
@@ -70,7 +70,7 @@
orderTypeQuery();
function orderTypeQuery() {
    postForm('/api/orderType/query', {
        type: 1
        type: props.ioModel
    }).then(resp => {
        let result = resp.data;
        orderTypeQueryList.value = result.data;
zy-asrs-admin/src/components/order/index.vue
New file
@@ -0,0 +1,251 @@
<script setup>
import { getCurrentInstance, ref, computed, reactive, defineProps } 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';
import useTableSearch from '@/utils/tableUtils.jsx';
import ShowOrderDetlComponent from '@/components/orderDetl/show.vue';
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
const props = defineProps({
  ioModel: null
})
const TABLE_KEY = 'table-order';
let currentPage = 1;
let pageSize = 10;
const searchInput = ref("")
const editChild = ref(null)
const showOrderDetlChild = ref(null)
let tableData = ref([]);
getPage();
const {
  getColumnSearchProps,
} = useTableSearch();
const columns = [
  {
    title: formatMessage('db.man_order.order_no', '订单编号'),
    dataIndex: 'orderNo',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderNo'),
  },
  {
    title: formatMessage('db.man_order.order_time', '单据日期'),
    dataIndex: 'orderTime',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderTime'),
  },
  {
    title: formatMessage('db.man_order.order_type', '单据类型'),
    dataIndex: 'orderType$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderType$'),
  },
  {
    title: formatMessage('db.man_order.order_settle', '单据状态'),
    dataIndex: 'orderSettle$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderSettle$'),
  },
  {
    title: formatMessage('db.man_order.status', '状态'),
    dataIndex: 'status$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('status$'),
  },
  {
    title: formatMessage('db.man_order.create_time', '添加时间'),
    dataIndex: 'createTime$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('createTime$'),
  },
  {
    title: formatMessage('db.man_order.create_by', '添加人员'),
    dataIndex: 'createBy$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('createBy$'),
  },
  {
    title: formatMessage('db.man_order.update_time', '修改时间'),
    dataIndex: 'updateTime$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('updateTime$'),
  },
  {
    title: formatMessage('db.man_order.update_by', '修改人员'),
    dataIndex: 'updateBy$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('updateBy$'),
  },
  {
    title: formatMessage('db.man_order.memo', '备注'),
    dataIndex: 'memo',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('memo'),
  },
  {
    title: formatMessage('common.operation', '操作'),
    name: 'oper',
    dataIndex: 'oper',
    key: 'oper',
    width: 240,
  },
];
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(props.ioModel == 'in' ? '/api/order/in/page' : '/api/order/out/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/order/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 showDetl = (item) => {
  showOrderDetlChild.value.openDetl = true;
  showOrderDetlChild.value.orderId = item.id;
}
const handleExport = async (intl) => {
  postBlob('/api/order/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" :ioModel="ioModel == 'in' ? 1 : 2" />
    <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="showDetl(record)">{{ formatMessage('page.order.orderDetl', '订单明细')
              }}</a-button>
            <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>
    <ShowOrderDetlComponent ref="showOrderDetlChild" />
  </div>
</template>
<style></style>
zy-asrs-admin/src/components/orderDetl/edit.vue
@@ -13,8 +13,8 @@
const TABLE_KEY = 'table-locDetl';
let tableData = ref([]);
let editTableData = ref([]);
let deleteDetlId = ref([]);
let orderId = ref(null);
getColumns();
const {
@@ -216,11 +216,17 @@
    tableData.value = tmp;
}
watch(editTableData, (newVal, oldVal) => {
watch(orderId, (newVal, oldVal) => {
    if(newVal == undefined || newVal == null) {
        tableData.value = [];
        return;
    }
    get("/api/orderDetl/orderId/" + newVal, {}).then((resp) => {
        let result = resp.data;
    let index = 1;
    let tmp = [];
    if (newVal.length > 0) {
        newVal.forEach((item) => {
        result.data.forEach((item) => {
            let data = {
                _id: index++,
                detlId: item.id,
@@ -235,13 +241,14 @@
            })
            tmp.push(data)
        })
    }
    tableData.value = tmp;
    })
})
defineExpose({
    tableData,
    editTableData,
    orderId,
    deleteDetlId,
})
zy-asrs-admin/src/components/orderDetl/show.vue
New file
@@ -0,0 +1,184 @@
<script setup>
import { getCurrentInstance, ref, watch, reactive } from 'vue';
import { useRouter } from "vue-router";
import { get, post, postForm } from '@/utils/request.js'
import { message, Modal } from 'ant-design-vue';
import { logout } from '@/config.js';
import { formatMessage } from '@/utils/localeUtils.js';
import useTableSearch from '@/utils/tableUtils.jsx';
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
const TABLE_KEY = 'table-locDetl';
let tableData = ref([]);
let openDetl = ref(false);
const orderId = ref(null);
const orderInfo = ref({
    orderInfo: '',
    orderType$: '',
    orderSettle$: '',
});
getColumns();
const {
    getColumnSearchProps,
} = useTableSearch();
const state = reactive({
    selectedRowKeys: [],
    loading: false,
    columns: [],
});
state.columns = [
    {
        title: '#',
        dataIndex: '_id',
        width: 60,
        ellipsis: true,
    },
    {
        title: formatMessage('db.man_loc_detl.matnr', '物料号'),
        dataIndex: 'matnr',
        width: 140,
        ellipsis: true,
    },
    {
        title: formatMessage('db.man_loc_detl.maktx', '物料名'),
        dataIndex: 'maktx',
        width: 140,
        ellipsis: true,
    },
    {
        title: formatMessage('db.man_loc_detl.batch', '批号'),
        dataIndex: 'batch',
        width: 140,
        ellipsis: true,
        editable: true,
    },
    {
        title: formatMessage('db.man_loc_detl.anfme', '数量'),
        dataIndex: 'anfme',
        width: 140,
        ellipsis: true,
        editable: true,
    },
    {
        title: formatMessage('db.man_loc_detl.memo', '备注'),
        dataIndex: 'memo',
        width: 140,
        ellipsis: true,
        editable: true,
    },
];
const fieldList = [];
//加载扩展字段
async function getColumns() {
    let fieldResp = await post('/api/matField/list', {
        fieldType: 1
    })
    let fieldResult = fieldResp.data;
    let tmp = state.columns;
    if (fieldResult.code == 200) {
        let data = fieldResult.data;
        data.forEach((item) => {
            tmp.push({
                title: formatMessage(item.language, item.describe),
                name: item.name,
                dataIndex: item.name,
                key: item.name,
                width: 140,
                editable: true,
            })
            fieldList.push(item.name);
        })
        // tmp.push({
        //     title: formatMessage('common.operation', '操作'),
        //     name: 'oper',
        //     dataIndex: 'oper',
        //     key: 'oper',
        //     width: 140,
        // })
        state.columns = tmp;
    } else if (result.code === 401) {
        message.error(result.msg);
        logout()
    } else {
        message.error(result.msg);
    }
}
const handleOk = () => {
    openDetl.value = false;
}
watch(orderId, (newVal, oldVal) => {
    get("/api/orderDetl/orderId/" + newVal, {}).then((resp) => {
        let result = resp.data;
        let index = 1;
        let tmp = [];
        result.data.forEach((item) => {
            let data = {
                _id: index++,
                detlId: item.id,
                matnr: item.mat$.matnr,
                maktx: item.mat$.maktx,
                batch: item.batch,
                anfme: item.anfme,
                memo: item.memo
            };
            fieldList.forEach((field) => {
                data[field] = item[field];
            })
            tmp.push(data)
        })
        tableData.value = tmp;
    })
    get("/api/order/" + newVal, {}).then((resp) => {
        let result = resp.data;
        orderInfo.value = result.data;
    })
})
defineExpose({
    tableData,
    orderId,
    openDetl,
})
</script>
<script>
export default {
    name: 'showOrderDetlComponent'
}
</script>
<template>
    <div>
        <a-modal v-model:open="openDetl" width="60%" @ok="handleOk">
            <h3>
                订单号:{{ orderInfo.orderNo }}
            </h3>
            <h3>
                单据类型:{{ orderInfo.orderType$ }}
            </h3>
            <h3>
                单据状态:{{ orderInfo.orderSettle$ }}
            </h3>
            <a-table :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
                :scroll="{ y: 768 }" :columns="state.columns">
            </a-table>
        </a-modal>
    </div>
</template>
<style></style>
zy-asrs-admin/src/views/in/order/index.vue
@@ -1,201 +1,5 @@
<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';
import useTableSearch from '@/utils/tableUtils.jsx';
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
const TABLE_KEY = 'table-order';
let currentPage = 1;
let pageSize = 10;
const searchInput = ref("")
const editChild = ref(null)
let tableData = ref([]);
getPage();
const {
  getColumnSearchProps,
} = useTableSearch();
const columns = [
  {
    title: formatMessage('db.man_order.order_no', '订单编号'),
    dataIndex: 'orderNo',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderNo'),
  },
  {
    title: formatMessage('db.man_order.order_time', '单据日期'),
    dataIndex: 'orderTime',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderTime'),
  },
  {
    title: formatMessage('db.man_order.order_type', '单据类型'),
    dataIndex: 'orderType$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderType$'),
  },
  {
    title: formatMessage('db.man_order.order_settle', '单据状态'),
    dataIndex: 'orderSettle$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('orderSettle$'),
  },
  {
    title: formatMessage('db.man_order.status', '状态'),
    dataIndex: 'status$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('status$'),
  },
  {
    title: formatMessage('db.man_order.create_time', '添加时间'),
    dataIndex: 'createTime$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('createTime$'),
  },
  {
    title: formatMessage('db.man_order.create_by', '添加人员'),
    dataIndex: 'createBy$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('createBy$'),
  },
  {
    title: formatMessage('db.man_order.update_time', '修改时间'),
    dataIndex: 'updateTime$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('updateTime$'),
  },
  {
    title: formatMessage('db.man_order.update_by', '修改人员'),
    dataIndex: 'updateBy$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('updateBy$'),
  },
  {
    title: formatMessage('db.man_order.memo', '备注'),
    dataIndex: 'memo',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('memo'),
  },
  {
    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/order/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/order/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/order/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()
}
import OrderView from '@/components/order/index.vue';
</script>
<script>
@@ -206,29 +10,7 @@
<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>
    <OrderView ioModel="in"  />
  </div>
</template>
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
@@ -5,8 +5,10 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.OrderType;
import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
import com.zy.asrs.wms.asrs.service.OrderTypeService;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -29,6 +31,8 @@
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderTypeService orderTypeService;
    @PreAuthorize("hasAuthority('asrs:order:list')")
    @PostMapping("/order/page")
@@ -39,6 +43,56 @@
    }
    @PreAuthorize("hasAuthority('asrs:order:list')")
    @PostMapping("/order/in/page")
    public R pageIn(@RequestBody Map<String, Object> map) {
        String condition = map.getOrDefault("condition", "").toString();
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
//        QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
        LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
        ArrayList<Long> types = new ArrayList<>();
        for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 1))) {
            types.add(orderType.getId());
        }
        wrapper.in(Order::getOrderType, types);
        if (!Cools.isEmpty(condition)) {
            wrapper.and(wrapper1 -> {
                wrapper1.or().like(Order::getOrderNo, condition);
                wrapper1.or().like(Order::getMemo, condition);
            });
        }
        return R.ok().add(orderService.page(pageParam, wrapper));
    }
    @PreAuthorize("hasAuthority('asrs:order:list')")
    @PostMapping("/order/out/page")
    public R pageOut(@RequestBody Map<String, Object> map) {
        String condition = map.getOrDefault("condition", "").toString();
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
//        QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
        LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
        ArrayList<Long> types = new ArrayList<>();
        for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 2))) {
            types.add(orderType.getId());
        }
        wrapper.in(Order::getOrderType, types);
        if (!Cools.isEmpty(condition)) {
            wrapper.and(wrapper1 -> {
                wrapper1.or().like(Order::getOrderNo, condition);
                wrapper1.or().like(Order::getMemo, condition);
            });
        }
        return R.ok().add(orderService.page(pageParam, wrapper));
    }
    @PreAuthorize("hasAuthority('asrs:order:list')")
    @PostMapping("/order/list")
    public R list(@RequestBody Map<String, Object> map) {
        return R.ok().add(orderService.list());
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -31,10 +32,13 @@
    @Override
    @Transactional
    public boolean createOrder(CreateOrderParam param) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Order order = new Order();
        order.setOrderNo(param.getOrderNo());
        order.setOrderType(param.getOrderType());
        order.setOrderSettle(param.getOrderSettle());
        order.setOrderTime(format.format(new Date()));
        order.setCreateTime(new Date());
        order.setCreateBy(9527L);
        boolean result = this.save(order);