From eee2b5794252cd67c839eb5a53c49f42ec114335 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 18 七月 2025 09:56:29 +0800
Subject: [PATCH] 订单添加dxf文件
---
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml | 10 +++-
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue | 22 ++++++++---
north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue | 2
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java | 2 +
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml | 11 +++++
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java | 10 +++++
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java | 2 +
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java | 4 ++
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 40 +++++++++++++++++++
9 files changed, 92 insertions(+), 11 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue b/north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue
index c77013f..dac7efb 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/UploadPicture.vue
@@ -14,7 +14,7 @@
console.log(file)
}
const handleChange = (uploadFile, uploadFiles) => {
- emits('getUploadPicture', uploadFile.name)
+ emits('getUploadPicture', uploadFile.name,uploadFile)
upload.value.clearFiles()
}
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index 9e89320..1862eae 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -129,7 +129,7 @@
{ code: 'sizeCheck', name: t('basicData.sizeReview'), prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: false },
{ code: 'updateOrderId', name: t('searchOrder.updateOrderId'), prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: false },
{ code: 'reportingTransfer', name: t('searchOrder.reportingTransfer'), prefixIcon: 'vxe-icon-send', visible: true, disabled: true },
- /*{ code: 'uploadPicture', name: 'Upload Picture', visible: true, }*/
+ { code: 'uploadPicture', name: 'Upload Picture', visible: true, }
]
]
}
@@ -182,6 +182,7 @@
{field: 'bendRadius',width:160, title: t('order.bendRadius'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'edgingType',width:160, title: t('order.edgingType'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'processingNote',width:200, title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+ {field: 'fileName',width:200, title: t('鏂囦欢鍚嶇О'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
{field: 'remarks',width:140, title: t('basicData.remarks'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
@@ -1631,15 +1632,24 @@
}
//鍥剧墖涓婁紶鍚嶇О
-const getUploadPicture = (name) => {
+const getUploadPicture = async (name, file) => {
uploadPictureVisible.value = false
const row = xGrid.value.getCurrentRecord()
- if(!row.otherColumns){
- row.otherColumns = {}
- }
- row.otherColumns.S02 = name
+
+ row.fileName = name
+ const base64 = await fileToBase64(file.raw);
+ row.fileData = base64.replace(/^data:.+;base64,/, "");
}
+const fileToBase64 = (file) => {
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader();
+ reader.onload = () => resolve(reader.result);
+ reader.onerror = reject;
+ reader.readAsDataURL(file);
+ });
+};
+
</script>
<template>
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
index 08abee7..ac9c5ce 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -265,5 +265,15 @@
return Result.seccess(null);
}
+ @PostMapping("/upload-dxf")
+ public Result uploadDxf(@RequestBody Map<String,Object> object) {
+ return Result.seccess(orderService.uploadDxf(object));
+ }
+
+ @PostMapping("/selectUploadDxf")
+ public Result selectUploadDxf(@RequestBody Map<String,Object> object) {
+ return Result.seccess(orderService.selectUploadDxf(object));
+ }
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java
index 38fbe40..470cac8 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderDetail.java
@@ -46,6 +46,8 @@
private Integer deliveryNum;
private Integer returnNum;
private Integer state;
+ private String fileName;
+ private String fileData;
private LocalDate createTime;
private LocalDate updateTime;
@TableField(select = false,exist= false)
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
index 69266bb..2492db1 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
@@ -49,5 +49,7 @@
List<Order> exportOrderSummary(List<LocalDate> dates);
+ boolean deleteOrderFile(String orderId);
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
index 41efa3e..edd8b9c 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
@@ -60,4 +60,8 @@
Map<String,String> scannerGlassInfo(String projectNo, Integer layoutId, Integer sort, String orderId);
String getProcessIdByOptimizeHeatDetail(String projectId, Integer layoutId, Integer sort);
+
+ Boolean saveOrderFile(String fileName,String dxfData,String orderId,Integer orderNumber);
+
+ Map<String,String> selectOrderFile( String orderId,Integer orderNumber);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index ba2e441..a5f4044 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -232,6 +232,8 @@
//鍒犻櫎璁㈠崟宸ヨ壓琛�
// orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId()));
+ orderDetailMapper.deleteOrderFile(order.getOrderId());
+
insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList);
}
@@ -287,6 +289,11 @@
});
}else{
OrderDetails.get(i).setOtherColumns("{}");
+ }
+
+ if(OrderDetails.get(i).getFileName()!=null){
+ orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber());
+ OrderDetails.get(i).setFileData(null);
}
}
@@ -404,7 +411,8 @@
}
//鍒犻櫎璁㈠崟
public Integer deleteOrder(String id) {
- return orderMapper.delete(
+ orderDetailMapper.deleteOrderFile(id);
+ return orderMapper.delete(
new QueryWrapper<Order>().eq("order_id",id)
);
}
@@ -972,4 +980,34 @@
}
}
+
+ public Object uploadDxf(Map<String,Object> object) {
+ String fileName = "";
+ if (object.get("fileName") != null) {
+ fileName = object.get("fileName").toString();
+ }
+ String fileData = "";
+ if (object.get("fileData") != null) {
+ fileData = object.get("fileData").toString();
+ }
+ byte[] dxfData = Base64.getDecoder().decode(fileData);
+ String orderId="NG25010101";
+ Integer orderNumber=1;
+ orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber);
+ return true;
+ }
+
+ public Map<String,Object> selectUploadDxf(Map<String,Object> object) {
+ String orderId = "";
+ if (object.get("orderId") != null) {
+ orderId = object.get("orderId").toString();
+ }
+ int orderNumber =0;
+ if (object.get("orderNumber") != null) {
+ orderNumber = Integer.parseInt(object.get("orderNumber").toString());
+ }
+ Map<String,Object> map = new HashMap<>();
+ map.put("data",orderMapper.selectOrderFile(orderId,orderNumber));
+ return map;
+ }
}
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
index d08023b..9d88fdc 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -28,7 +28,8 @@
weight,
perimeter,
monolithic_perimeter,
- other_columns
+ other_columns,
+ file_name
)
values
<foreach collection ="orderDetails" item="orderDetail" separator =",">
@@ -55,7 +56,8 @@
#{orderDetail.weight},
#{orderDetail.perimeter},
#{orderDetail.monolithicPerimeter},
- #{orderDetail.otherColumns}
+ #{orderDetail.otherColumns},
+ #{orderDetail.fileName}
)
</foreach>
</insert>
@@ -1066,7 +1068,9 @@
group by od.product_id,pd.detail
</select>
-
+ <delete id="deleteOrderFile" >
+ delete from sd.order_file where order_id = #{orderId}
+ </delete>
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
index 4322a81..f7bd8b9 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -415,4 +415,15 @@
and a.layout_id = #{layoutId}
and a.sort = #{sort}
</select>
+
+
+ <insert id="saveOrderFile">
+ insert into sd.order_file (order_id,order_number,file_name,file_data,create_time) values(#{orderId},#{orderNumber},#{fileName},#{dxfData},now())
+ </insert>
+
+ <select id="selectOrderFile">
+ select * from sd.order_file
+ where order_id = #{orderId}
+ and order_number = #{orderNumber}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0