From e83dacb5066a86db29dbdc232218d8aba6adc95f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 02 八月 2024 13:34:04 +0800
Subject: [PATCH] #
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java | 4 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatService.java | 4 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatFieldServiceImpl.java | 11 +++
zy-asrs-admin/src/components/order/index.vue | 45 ++++++++++++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java | 4 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatServiceImpl.java | 19 ++++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatFieldService.java | 6 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java | 7 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java | 35 +++++++++++
9 files changed, 132 insertions(+), 3 deletions(-)
diff --git a/zy-asrs-admin/src/components/order/index.vue b/zy-asrs-admin/src/components/order/index.vue
index c5cdfde..ad5dfd0 100644
--- a/zy-asrs-admin/src/components/order/index.vue
+++ b/zy-asrs-admin/src/components/order/index.vue
@@ -8,6 +8,9 @@
import { formatMessage } from '@/utils/localeUtils.js';
import useTableSearch from '@/utils/tableUtils.jsx';
import ShowOrderDetlComponent from '@/components/orderDetl/show.vue';
+import {
+ DownOutlined,
+} from "@ant-design/icons-vue";
const context = getCurrentInstance()?.appContext.config.globalProperties;
const router = useRouter();
@@ -217,6 +220,27 @@
getPage()
}
+const handleSyncOrderClick = (e) => {
+ if (e.key == 'import') {
+ importTemplate()
+ } else if (e.key == 'export') {
+ exportTemplate()
+ }
+}
+
+const importTemplate = () => {
+ //瀵煎叆妯℃澘
+}
+
+const exportTemplate = () => {
+ //妯℃澘瀵煎嚭
+ postBlob('/api/order/exportTemplate', {}).then(result => {
+ const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
+ window.location.href = window.URL.createObjectURL(blob);
+ return true;
+ })
+}
+
</script>
<script>
@@ -227,11 +251,30 @@
<template>
<div>
- <EditView ref="editChild" @tableReload="handleTableReload" :ioModel="ioModel == 'in' ? 1 : ioModel == 'out' ? 2 : null" />
+ <EditView ref="editChild" @tableReload="handleTableReload"
+ :ioModel="ioModel == 'in' ? 1 : ioModel == 'out' ? 2 : null" />
<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-dropdown>
+ <template #overlay>
+ <a-menu @click="handleSyncOrderClick">
+ <a-menu-item key="import">
+ <UserOutlined />
+ {{ formatMessage('page.order.import', '鍗曟嵁瀵煎叆') }}
+ </a-menu-item>
+ <a-menu-item key="export">
+ <UserOutlined />
+ {{ formatMessage('page.order.export.template', '瀵煎嚭妯℃澘') }}
+ </a-menu-item>
+ </a-menu>
+ </template>
+ <a-button>
+ {{ formatMessage('page.order.sync', '鍗曟嵁鍚屾') }}
+ <DownOutlined />
+ </a-button>
+ </a-dropdown>
<a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button>
<a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button>
</div>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
index 5f01ec9..c9b7b0a 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
@@ -147,7 +147,9 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@PostMapping("/locDetl/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
- ExcelUtil.build(ExcelUtil.create(locDetlService.list(), LocDetl.class), response);
+ List<LocDetl> locDetls = locDetlService.parseLocDetl(locDetlService.list());
+ List<MatField> locFields = matFieldService.getLocFields();
+ ExcelUtil.build(ExcelUtil.create(locDetls, LocDetl.class, locFields), response);
}
private void setLocDetlField(HashMap<String, Object> param, LocDetl locDetl) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
index 7b2efc6..eed691f 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
@@ -124,7 +124,9 @@
@PreAuthorize("hasAuthority('asrs:mat:list')")
@PostMapping("/mat/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
- ExcelUtil.build(ExcelUtil.create(matService.list(), Mat.class), response);
+ List<Mat> list = matService.parseMat(matService.list());
+ List<MatField> matFields = matFieldService.getMatFields();
+ ExcelUtil.build(ExcelUtil.create(list, Mat.class, matFields), response);
}
private void setMatField(HashMap<String, Object> param, Mat mat) {
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
index 537e784..7a1dbf9 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
@@ -167,4 +167,11 @@
ExcelUtil.build(ExcelUtil.create(list, Order.class), response);
}
+ @PreAuthorize("hasAuthority('asrs:order:list')")
+ @PostMapping("/order/exportTemplate")
+ public void exportTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+ ArrayList<Order> list = new ArrayList<>();
+ ExcelUtil.build(ExcelUtil.create(list, Order.class), response);
+ }
+
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatFieldService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatFieldService.java
index 5a08b22..1348384 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatFieldService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatFieldService.java
@@ -3,8 +3,14 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.asrs.wms.asrs.entity.MatField;
+import java.util.List;
+
public interface MatFieldService extends IService<MatField> {
void createView();
+ List<MatField> getMatFields();
+
+ List<MatField> getLocFields();
+
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatService.java
index 9d20bb6..106caf8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/MatService.java
@@ -3,6 +3,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.asrs.wms.asrs.entity.Mat;
+import java.util.List;
+
public interface MatService extends IService<Mat> {
+ List<Mat> parseMat(List<Mat> list);
+
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatFieldServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatFieldServiceImpl.java
index f149048..c598c3d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatFieldServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatFieldServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.wms.asrs.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.wms.asrs.entity.LocDetlField;
import com.zy.asrs.wms.asrs.mapper.MatFieldMapper;
import com.zy.asrs.wms.asrs.entity.MatField;
@@ -7,6 +8,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+import java.util.Collections;
import java.util.List;
@Service("matFieldService")
@@ -19,4 +21,13 @@
this.baseMapper.createLocDetlView();
}
+ @Override
+ public List<MatField> getMatFields() {
+ return this.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 0));
+ }
+
+ @Override
+ public List<MatField> getLocFields() {
+ return this.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
+ }
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatServiceImpl.java
index 07f2e47..d4dd39a 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MatServiceImpl.java
@@ -1,12 +1,31 @@
package com.zy.asrs.wms.asrs.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.wms.asrs.entity.MatFieldValue;
import com.zy.asrs.wms.asrs.mapper.MatMapper;
import com.zy.asrs.wms.asrs.entity.Mat;
+import com.zy.asrs.wms.asrs.service.MatFieldValueService;
import com.zy.asrs.wms.asrs.service.MatService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
@Service("matService")
public class MatServiceImpl extends ServiceImpl<MatMapper, Mat> implements MatService {
+ @Autowired
+ private MatFieldValueService matFieldValueService;
+
+ @Override
+ public List<Mat> parseMat(List<Mat> list) {
+ for (Mat mat : list) {
+ List<MatFieldValue> matFieldValueList = matFieldValueService.list(new LambdaQueryWrapper<MatFieldValue>()
+ .eq(MatFieldValue::getMatId, mat.getId()));
+ mat.syncField(matFieldValueList);
+ }
+ return list;
+ }
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
index fbeb87b..1fc6dce 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/ExcelUtil.java
@@ -1,6 +1,7 @@
package com.zy.asrs.wms.utils;
import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wms.asrs.entity.MatField;
import io.swagger.annotations.ApiModelProperty;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
@@ -15,6 +16,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
+import java.util.Map;
/**
* Created by vincent on 2/17/2024
@@ -32,6 +34,10 @@
}
public static <T> Workbook create(List<T> list, Class<T> clz) {
+ return create(list, clz, null);
+ }
+
+ public static <T> Workbook create(List<T> list, Class<T> clz, List<MatField> dynamicFields) {
HSSFWorkbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet(clz.getSimpleName());
@@ -50,6 +56,14 @@
}
header.createCell(headerIdx).setCellValue(memo);
headerIdx++;
+ }
+
+ //鍔ㄦ�佸瓧娈�
+ if(dynamicFields != null){
+ for (MatField field : dynamicFields) {
+ header.createCell(headerIdx).setCellValue(field.getDescribe());
+ headerIdx++;
+ }
}
int rowIndex = 1;
@@ -81,6 +95,27 @@
}
cellIndex++;
}
+
+ //鍔ㄦ�佸瓧娈�
+ if(dynamicFields != null){
+ for (Field field : fields) {
+ if (field.getName().equals("dynamicFields")) {
+ try {
+ Map<String, Object> map = (Map<String, Object>) field.get(t);
+ for (MatField matField : dynamicFields) {
+ Object value = map.get(matField.getName());
+ if(value != null){
+ row.createCell(cellIndex).setCellValue(value.toString());
+ cellIndex++;
+ }
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
}
for (int i = 0; i <= fields.length; i++) {
--
Gitblit v1.9.1