From 46964bace341e98f238a0a3fd29f6adc643312c7 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 24 十一月 2025 13:14:32 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/northglass-erp/src/stores/sd/companySet/温州巨星.js | 2
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/OptimizationRect.vue | 56 +++++++----
.gitignore | 1
north-glass-erp/northglass-erp/src/components/sd/order/OrderProcessCollect.vue | 11 +
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml | 25 ++++-
north-glass-erp/pom.xml | 25 ++--
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue | 138 ++++++++-------------------
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java | 3
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue | 30 +++++
north-glass-erp/src/main/resources/lib/aspose-cad-21.11.jar | 0
10 files changed, 152 insertions(+), 139 deletions(-)
diff --git a/.gitignore b/.gitignore
index 7242f8c..d548b89 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,6 @@
.mtj.tmp/
# Package Files #
-*.jar
*.war
*.ear
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/OrderProcessCollect.vue b/north-glass-erp/northglass-erp/src/components/sd/order/OrderProcessCollect.vue
index 725da30..2ed87c4 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/OrderProcessCollect.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/OrderProcessCollect.vue
@@ -86,7 +86,8 @@
let props = defineProps({
orderId:null,
- row: {}
+ row: {},
+ processId:null//鐢ㄤ簬鍚庣鏁版嵁杩斿洖锛岀粨鏋滅瓫閫�
})
const columns = [
{field: 'product_name', width: 150, title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -148,7 +149,13 @@
item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount)
item.reportWorkQuantityShow=JSON.parse(item.reportWorkQuantityShow)
})
- await xGrid.value.loadData(res.data.data)
+ console.log(res.data.data)
+ if (props.processId!=null && props.processId!=""){
+ const processIdData = res.data.data.filter(item => item.process_id === props.processId)
+ await xGrid.value.loadData(processIdData)
+ }else {
+ await xGrid.value.loadData(res.data.data)
+ }
mergeCells.value = res.data.mergeCells
gridOptions.loading = false
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js"
index 5933d9e..9a76456 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\270\251\345\267\236\345\267\250\346\230\237.js"
@@ -48,7 +48,7 @@
materialOutboundColor:false,//搴撳瓨鏌ヨ鍏ュ簱瓒呰繃涓�瀹氭椂闂存敼鍙橀鑹诧紝娲涢槼true锛屽叾浠杅alse
storageBtn:true,//鏄惁鏄剧ず鎶ュ伐鍏ュ簱鐩稿叧鍐呭锛屾礇闃硉rue锛屽叾浠杅alse
teamsType:true,//鏄惁寮�鍚彮缁勪笅鎷夋锛屾礇闃硉rue锛屽叾浠杅alse
- alienFunction:false,//鏄惁寮�鍚紓褰㈠姛鑳斤紝鏆傛椂閮芥槸false
+ alienFunction:true,//鏄惁寮�鍚紓褰㈠姛鑳斤紝鏆傛椂閮芥槸false
replenishQRCode:1,//鏄惁琛ョ墖浜岀淮鐮佹槸鍚︽媶鍒嗗眰,1鎷嗗垎锛�2涓嶆媶
soleQRCode:false,//娴佺▼鍗″悎骞朵簩缁寸爜鏄剧ず鍗曞眰锛屼箟涔宼rue.鍏跺畠false
//澶╂触
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/OptimizationRect.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/OptimizationRect.vue
index e33a740..8369231 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/OptimizationRect.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/OptimizationRect.vue
@@ -71,9 +71,9 @@
</div>
</div>
-<!-- <button @click="submitLayouts" style="position: fixed; top: 90px; right: 20px; padding: 10px; background: #409eff; color: white; border: none; border-radius: 5px; cursor: pointer;">-->
-<!-- 淇濆瓨璋冩暣-->
-<!-- </button>-->
+ <button @click="submitLayouts" style="position: fixed; top: 90px; right: 20px; padding: 10px; background: #409eff; color: white; border: none; border-radius: 5px; cursor: pointer;">
+ 淇濆瓨璋冩暣
+ </button>
</div>
</template>
@@ -119,10 +119,10 @@
const submitLayouts = async () => {
layouts.value.forEach(layout => {
layout.glassDetails.forEach(glassDetail => {
- glassDetail.x = Math.round(glassDetail.x);
- glassDetail.y = Math.round(glassDetail.y);
- glassDetail.width = Math.round(glassDetail.width);
- glassDetail.height = Math.round(glassDetail.height);
+ glassDetail.x = parseFloat(glassDetail.x.toFixed(2));
+ glassDetail.y = parseFloat(glassDetail.y.toFixed(2));
+ glassDetail.width = parseFloat(glassDetail.width.toFixed(2));
+ glassDetail.height = parseFloat(glassDetail.height.toFixed(2));
});
});
const savedProjectNo = localStorage.getItem('projectNo');
@@ -596,6 +596,9 @@
glassDetail.glassPoint.forEach(point => {
point.X += offsetX;
point.Y += offsetY;
+ // 娣诲姞绮惧害鎺у埗
+ point.X = parseFloat(point.X.toFixed(2));
+ point.Y = parseFloat(point.Y.toFixed(2));
});
}
@@ -619,8 +622,8 @@
(props.gh - 100) / layout.height
);
- glassDetail.x = Math.round(glassDetail.x);
- glassDetail.y = Math.round(glassDetail.y);
+ glassDetail.x = parseFloat(glassDetail.x.toFixed(2));
+ glassDetail.y = parseFloat(glassDetail.y.toFixed(2));
adjustAlignmentPosition(layoutIndex, rectIndex);
}
@@ -700,10 +703,10 @@
else {
// 鏃犳硶鍚堝苟锛屼繚瀛樺綋鍓嶇煩褰紝寮�濮嬫柊鐨勫悎骞�
merged.push({
- x: Math.round(current.x),
- y: Math.round(current.y),
- width: Math.round(current.width),
- height: Math.round(current.height),
+ x: current.x,
+ y: current.y,
+ width: current.width,
+ height: current.height,
isRemain: true
});
current = { ...next };
@@ -712,10 +715,10 @@
// 娣诲姞鏈�鍚庝竴涓煩褰�
merged.push({
- x: Math.round(current.x),
- y: Math.round(current.y),
- width: Math.round(current.width),
- height: Math.round(current.height),
+ x: current.x,
+ y: current.y,
+ width: current.width,
+ height: current.height,
isRemain: true
});
@@ -771,10 +774,10 @@
// 娣诲姞鏂扮殑浣欐枡鐭╁舰
uniqueArr.forEach((area) => {
newGlassDetails.push({
- x: Math.round(area.x),
- y: Math.round(area.y),
- width: Math.round(area.width),
- height: Math.round(area.height),
+ x: area.x,
+ y: area.y,
+ width: area.width,
+ height: area.height,
isRemain: true
});
});
@@ -849,6 +852,9 @@
// 鏃嬭浆90搴﹀悗鐨勫潗鏍囷紙椤烘椂閽堬級
point.X = originalState.x + relY;
point.Y = originalState.y + (originalState.width - relX);
+ // 娣诲姞绮惧害鎺у埗
+ point.X = parseFloat(point.X.toFixed(2));
+ point.Y = parseFloat(point.Y.toFixed(2));
});
}
adjustGrayRectangles(layoutIndex);
@@ -958,6 +964,9 @@
glassDetail.glassPoint.forEach(point => {
point.X += offsetX;
point.Y += offsetY;
+ // 娣诲姞绮惧害鎺у埗
+ point.X = parseFloat(point.X.toFixed(2));
+ point.Y = parseFloat(point.Y.toFixed(2));
});
}
adjustGrayRectangles(layoutIndex);
@@ -1213,6 +1222,8 @@
if (glassDetail.glassPoint && Array.isArray(glassDetail.glassPoint)) {
glassDetail.glassPoint.forEach(point => {
point.X = width - point.X;
+ point.X = parseFloat(point.X.toFixed(2));
+ point.Y = parseFloat(point.Y.toFixed(2));
});
}
});
@@ -1240,6 +1251,9 @@
if (glassDetail.glassPoint && Array.isArray(glassDetail.glassPoint)) {
glassDetail.glassPoint.forEach(point => {
point.Y = height - point.Y;
+ // 娣诲姞绮惧害鎺у埗
+ point.X = parseFloat(point.X.toFixed(2));
+ point.Y = parseFloat(point.Y.toFixed(2));
});
}
});
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
index 8ef03eb..4e4b7d7 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
@@ -116,7 +116,7 @@
sortable: true
},
{
- field: 'product_name',
+ field: 'productName',
width: 150,
title: t('order.product'),
filters: [{data: ''}],
@@ -140,7 +140,7 @@
sortable: true
},
{
- field: 'building_number',
+ field: 'buildingNumber',
width: 150,
title: '妤煎眰鍙�',
filters: [{data: ''}],
@@ -189,7 +189,7 @@
sortable: true
},
{
- field: 'icon',
+ field: 'markIcon',
width: 150,
title: '鍗版爣绫诲瀷',
filters: [{data: ''}],
@@ -485,103 +485,47 @@
}
emit('getSmallPieceData', 1);
optimizeData.value.glassDetails = [];
- // 浠庡悗绔帴鍙h幏鍙� glassDetail 鏁版嵁锛岃�屼笉鏄粠琛ㄦ牸涓鍙�
- fetchGlassDetailData();
+ // 浠庤〃鏍间腑鑾峰彇 glassDetail 鏁版嵁锛岃�屼笉鏄粠鍚庣鎺ュ彛璇诲彇
+ const tableData = xGrid.value.getTableData().fullData;
+ const glassDetailData = tableData.map(item => {
+ let rackNoValue = 0;
+ if (item.rackNo !== undefined && item.rackNo !== null && item.rackNo !== '') {
+ rackNoValue = item.rackNo;
+ }
+ return {
+ width: item.width,
+ height: item.height,
+ processId: item.processId,
+ layer: item.layer,
+ totalLayer: item.totalLayer,
+ orderSort: item.order_number,
+ markIcon: item.markIcon,
+ quantity: item.quantity,
+ patchState: item.patchState,
+ upGrind: item.longGrind1,
+ downGrind: item.longGrind2,
+ leftGrind: item.shortGrind1,
+ rightGrind: item.shortGrind2,
+ heatLayoutId: item.heatLayoutId,
+ process: item.process,
+ orderNo: item.orderNo,
+ customerName: item.customerName,
+ processingNote: item.processingNote,
+ projectName: item.projectName,
+ productName: item.productName,
+ buildingNumber: item.buildingNumber,
+ rackNo: rackNoValue
+ };
+ });
- // xGrid.value.getTableData().fullData.forEach(items=>{
- // let rackNoValue = 0;
- // if (items.rackNo !== undefined && items.rackNo !== null && items.rackNo !== '') {
- // rackNoValue = items.rackNo;
- // }
- // const detail={
- // width :null,
- // height :null,
- // processId :null,
- // layer :null,
- // totalLayer :null,
- // orderSort :null,
- // markIcon :null,
- // quantity:null,
- // patchState :null,
- // upGrind :null,
- // downGrind :null,
- // leftGrind:null,
- // rightGrind :null,
- // rackNo: rackNoValue
- // }
- // detail.width=items.width
- // detail.height=items.height
- // detail.processId=items.process_ids
- // detail.layer=items.layer
- // detail.totalLayer=items.total_layer
- // detail.orderSort=items.order_number
- // detail.markIcon=items.icon
- // detail.patchState=items.patch_state
- // detail.quantity=items.quantity
- // detail.upGrind=items.longGrind1
- // detail.downGrind=items.longGrind2
- // detail.leftGrind=items.shortGrind1
- // detail.rightGrind=items.shortGrind2
- // detail.rackNo=items.rackNo
- //
- // optimizeData.value.glassDetails .push(detail)
- // })
+ // 鏇存柊 optimizeData 涓殑 glassDetails
+ optimizeData.value.glassDetails = glassDetailData;
+
+ // 鎵撳紑浼樺寲瀵硅瘽妗�
+ dialogVisible.value[4] = true;
}else{
dialogVisible.value[index] = true;
- }
-};
-
-const fetchGlassDetailData = async () => {
- try {
- const res = await request.post(`/glassOptimize/optimizeInfo/${projectNo.value}/${username}`);
- console.log(res);
- if (res.code === "200" && res.data && res.data.data) {
- // 澶勭悊浠庡悗绔幏鍙栫殑鏁版嵁
- const glassDetailData = res.data.data.map(item => {
- let rackNoValue = 0;
- if (item.rackNo !== undefined && item.rackNo !== null && item.rackNo !== '') {
- rackNoValue = item.rackNo;
- }
- return {
- width: item.width,
- height: item.height,
- processId: item.processId,
- layer: item.layer,
- totalLayer: item.totalLayer,
- orderSort: item.order_number,
- markIcon: item.markIcon,
- quantity: item.quantity,
- patchState: item.patchState,
- upGrind: item.upGrind,
- downGrind: item.downGrind,
- leftGrind: item.leftGrind,
- rightGrind:item.rightGrind,
- heatLayoutId:item.heatLayoutId,
- process:item.process,
- orderNo:item.orderNo,
- customerName:item.customerName,
- processingNote:item.processingNote,
- projectName:item.projectName,
- productName:item.productName,
- buildingNumber:item.buildingNumber,
- rackNo: rackNoValue
- };
- });
-
- // 鏇存柊 optimizeData 涓殑 glassDetails
- optimizeData.value.glassDetails = glassDetailData;
-
- // 鎵撳紑浼樺寲瀵硅瘽妗�
- dialogVisible.value[4] = true;
-
- console.log('鑾峰彇鍒扮殑 glassDetail 鏁版嵁:', glassDetailData);
- } else {
- ElMessage.error('鑾峰彇鐜荤拑璇︽儏鏁版嵁澶辫触');
- }
- } catch (error) {
- console.error('鑾峰彇 glassDetail 鏁版嵁鍑洪敊:', error);
- ElMessage.error('鑾峰彇鐜荤拑璇︽儏鏁版嵁鏃跺彂鐢熼敊璇�');
}
};
@@ -727,7 +671,7 @@
const fetchData = () => {
//鍚敤琛ㄦ牸鎷栧姩閫変腑
addListener(xGrid.value,gridOptions,cellArea.value)
- request.post(`/glassOptimize/projectInfo/${projectNo.value}/${username}`).then((res) => {
+ request.post(`/glassOptimize/optimizeInfo/${projectNo.value}/${username}`).then((res) => {
if ((Number(res.code) === 200)) {
let data = res.data.data;
const grindingTrimming = res.data.grindingTrimming;
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
index c8080bb..8532246 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -19,6 +19,7 @@
import useOrderInfoStore from "@/stores/sd/order/orderInfo"
import {Printer} from "@element-plus/icons-vue/global";
import SelectProcessCardDetail from "@/components/pp/SelectProcessCardDetail.vue";
+import OrderProcessCollect from "@/components/sd/order/OrderProcessCollect.vue";
//璇█鑾峰彇
const {t} = useI18n()
@@ -28,6 +29,7 @@
let productGlassTypeStore = useProductGlassTypeStore()
const dialogTableVisible = ref(false)
+const dialogProcess = ref(false)
let router = useRouter()
let props = defineProps({
rowIndex: {}
@@ -104,6 +106,12 @@
}
})
+//娴佺▼鍗¤繘搴︾敤鍊�
+let processVal = ref({
+ orderId:null,
+ row: {},
+ processId:null//鐢ㄤ簬鍚庣鏁版嵁杩斿洖锛岀粨鏋滅瓫閫�
+})
//瀹氫箟椤甸潰鎬婚〉鏁�
let pageTotal = ref('')
//瀹氫箟鏁版嵁杩斿洖缁撴灉
@@ -130,7 +138,6 @@
pageTotal.value = res.data.total
total.value = res.data.total
produceList.value = produceList.value.concat(deepClone(res.data.data))
- console.log(produceList.value)
produceList.value.forEach(item => {
switch (item.layoutStatus) {
case "0":
@@ -589,6 +596,12 @@
})
}
+
+const onCellDblClick = ({ row, column }) => {
+ processVal.value.orderId = row.orderId
+ processVal.value.processId = row.processId
+ dialogProcess.value = true
+};
</script>
<template>
@@ -623,6 +636,7 @@
v-bind="gridOptions"
v-on="gridEvents"
@filter-change="filterChanged"
+ @cell-dblclick="onCellDblClick"
>
<!-- @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -709,6 +723,20 @@
<el-dialog
id="sizePrintCalrd"
+ v-model="dialogProcess"
+ :title="$t('order.processCardCollect')"
+ destroy-on-close
+ style="width: 75%;height:75% ">
+ <order-process-collect
+ :orderId="processVal.orderId"
+ :processId="processVal.processId"
+ :row="processVal.row"
+ style="width: 100%;height: 100%"
+ />
+ </el-dialog>
+
+ <el-dialog
+ id="sizePrintCalrd"
v-model="dialogTableVisible"
:title="$t('processCard.combinedFrame')"
destroy-on-close
diff --git a/north-glass-erp/pom.xml b/north-glass-erp/pom.xml
index 167e26d..14c00f9 100644
--- a/north-glass-erp/pom.xml
+++ b/north-glass-erp/pom.xml
@@ -164,9 +164,11 @@
</dependency>
<dependency>
- <groupId>com.aspose</groupId>
- <artifactId>aspose-cad</artifactId>
+ <groupId>com.example</groupId>
+ <artifactId>lib</artifactId>
<version>21.11</version>
+ <scope>system</scope>
+ <systemPath>${pom.basedir}/src/main/resources/lib/aspose-cad-21.11.jar</systemPath>
</dependency>
<!--redis-->
@@ -204,6 +206,7 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
+ <includeSystemScope>true</includeSystemScope>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
@@ -216,15 +219,15 @@
</build>
- <repositories>
- <repository>
- <id>aspose-maven-repository</id>
- <url>https://releases.aspose.com/java/repo</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
+<!-- <repositories>-->
+<!-- <repository>-->
+<!-- <id>aspose-maven-repository</id>-->
+<!-- <url>https://releases.aspose.com/java/repo</url>-->
+<!-- <snapshots>-->
+<!-- <enabled>false</enabled>-->
+<!-- </snapshots>-->
+<!-- </repository>-->
+<!-- </repositories>-->
<!-- <pluginRepositories>-->
<!-- <pluginRepository>-->
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
index 540e002..14e87e4 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -657,7 +657,10 @@
}
}
}
+ map.put("optimizeState", Integer.parseInt(stringObjectMap.get("optimize_state").toString()));
map.put("data", dataList);
+ map.put("project", glassOptimizeMapper.selectProjectCount(projectNo));
+ map.put("grindingTrimming", glassOptimizeMapper.getGrindingTrimming(username));
return map;
}
diff --git a/north-glass-erp/src/main/resources/lib/aspose-cad-21.11.jar b/north-glass-erp/src/main/resources/lib/aspose-cad-21.11.jar
new file mode 100644
index 0000000..7e05728
--- /dev/null
+++ b/north-glass-erp/src/main/resources/lib/aspose-cad-21.11.jar
Binary files differ
diff --git a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
index 50e0639..5b0f70e 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -185,18 +185,22 @@
c.project_no,
d.child_width as 'width',
d.child_height as 'height',
+ (d.child_width + d.child_height) * 2 as 'perimeter',
c.quantity,
+ od.shape,
concat( c.process_id, '-', c.technology_number ) AS 'process_id',
c.process_id AS processId,
c.technology_number as layer,
c.layers_number as totalLayer,
+ d.glass_child,
+ od.price,
+ od.remarks,
round( d.area * c.quantity, 4 ) as 'area',
c.order_number,
d.icon AS markIcon,
op.project_name,
0 as patchState,
c.rack AS rackNo,
- 0 as heatLayoutId,
d.process,
o.order_id AS orderNo,
o.customer_name AS customerName,
@@ -225,18 +229,22 @@
c.project_no,
d.child_width as 'width',
d.child_height as 'height',
+ (d.child_width + d.child_height) * 2 as 'perimeter',
c.patch_num as quantity,
+ od.shape,
concat( c.process_id, '-', c.technology_number ) AS 'process_id',
c.process_id AS 'process_ids',
c.technology_number as layer,
fc.layers_number as total_layer,
+ d.glass_child,
+ od.price,
+ od.remarks,
round( d.area * c.patch_num, 4 ) as 'area',
c.order_sort as order_number,
d.icon,
op.project_name,
1 as patch_state,
a.id as rackNo,
- 0 as heatLayoutId,
d.process,
o.order_id AS orderNo,
o.customer_name AS customerName,
@@ -330,15 +338,22 @@
<!--浼樺寲鏌ヨ-->
<select id="computeAndOptimization">
SELECT
+ c.project_no,
c.rack AS rackNo,
- h.layout_id as heatLayoutId,
+# h.layout_id as heatLayoutId,
h.width AS width,
h.height AS height,
+ (h.width + h.height) * 2 as 'perimeter',
+ od.shape,
count( 1 ) AS quantity,
- concat( h.process_id, '-', h.layer ) AS processId,
+ concat( h.process_id, '-', h.layer ) AS process_id,
+ c.process_id AS processId,
h.process_id as process_ids,
h.layer,
c.layers_number as totalLayer,
+ d.glass_child,
+ od.price,
+ od.remarks,
round( d.area * count( 1 ), 4 ) AS 'area',
c.order_number,
h.order_sort AS orderSort,
@@ -364,7 +379,7 @@
WHERE
h.project_no = #{projectNo}
GROUP BY
- h.layout_id,
+# h.layout_id,
h.width,
h.height,
h.process_id,
--
Gitblit v1.8.0