From 6ded5f4ababd82c4c93b5e88b1132f1869340776 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 16 十二月 2024 14:40:43 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue | 2
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue | 13 +
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue | 22 ++
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue | 1
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java | 6
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue | 177 +++++++++++++++++++--
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java | 3
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/CheckInventory.vue | 22 ++
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 31 +++
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 148 +++++++++++++++--
10 files changed, 367 insertions(+), 58 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
index 661bbb9..e18573c 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -58,11 +58,9 @@
data.value.printList = JSON.parse(props.printList)
let flowCardCount = ''
onMounted(() => {
- console.log(printProject)
if(props.printProject!=null){
request.post(`/processCard/getSelectPrintProject/${printProject}`).then((res) => {
if (res.code == 200) {
- console.log(res.data.data)
load(res.data.data)
} else {
ElMessage.warning(res.msg)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
index 120746c..611b056 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
@@ -26,15 +26,24 @@
dataForGlassInventory.value = data;
};
+//鑾峰彇GlassInventory鐨勫��
+const sendDataGlassInventory = ref()
+
+const handleInventoyData = (selectedLabel1,selectedLabel2) => {
+ sendDataGlassInventory.value = {
+ selectedLabel1, selectedLabel2
+ };
+};
+
</script>
<template >
<div style="width: 100%;height: 100%">
<div id="main-body">
- <project-detail @changeDialog="changeDialog" @forward-data-to-grandparent="handleProjectDetailData"/>
+ <project-detail @changeDialog="changeDialog" @forward-data-to-grandparent="handleProjectDetailData" @send-inventory-to-op="handleInventoyData"/>
</div>
<div id="main-footer">
- <glass-inventory :receivedData="dataForGlassInventory"/>
+ <glass-inventory :receivedData="dataForGlassInventory" :InventoryData="sendDataGlassInventory"/>
</div>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/CheckInventory.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/CheckInventory.vue
index a0b0e67..3290da9 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/CheckInventory.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/CheckInventory.vue
@@ -1,5 +1,5 @@
<script setup>
-import {ref} from "vue";
+import {defineEmits, ref} from "vue";
const value1 = ref('')
const value2 = ref('')
@@ -40,6 +40,24 @@
label: 'Low-e',
},
]
+
+const emit = defineEmits(['send-data-inventory',]);
+const props = defineProps({
+ closeDialog: Function
+});
+
+const CheckInventory = () => {
+ const selectedLabel1 = options1.find((option) => option.value === value1.value)?.label || '';
+ const selectedLabel2 = options2.find((option) => option.value === value2.value)?.label || '';
+ // 鍒ゆ柇涓や釜鍊兼槸鍚﹂兘琚�夋嫨浜嗭紝濡傛灉鏈変竴涓负绌哄瓧绗︿覆锛屽垯鎻愮ず骞惰繑鍥烇紝涓嶆墽琛屽悗缁搷浣�
+ if (!selectedLabel1 ||!selectedLabel2) {
+ window.alert('璇烽�夋嫨鐩稿叧閫夐」');
+ return;
+ }
+ props.closeDialog(1);
+ emit('send-data-inventory', selectedLabel1,selectedLabel2);
+};
+
</script>
<template>
@@ -69,7 +87,7 @@
</div>
<div style="float: right; margin:-55px 35px 0 0;">
- <el-button type="primary">鏌ヨ</el-button>
+ <el-button type="primary" @click="CheckInventory">鏌ヨ</el-button>
</div>
</div>
</template>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
index d7bbaba..540c39f 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
@@ -112,6 +112,15 @@
}
}, { immediate: true });
+watch(() => props.InventoryData, (newInventoryData) => {
+ if (newInventoryData) {
+ thickness.value = newInventoryData.selectedLabel1;
+ model.value = newInventoryData.selectedLabel2;
+ // 鐢变簬 thickness 鍜� model 鐨勫�兼敼鍙樹簡锛屾洿鏂拌〃鏍硷紝璋冪敤 selectMaterialStore 閲嶆柊鑾峰彇鏁版嵁
+ selectMaterialStore();
+ }
+});
+
const props = defineProps({
receivedData : {
type: Object,
@@ -121,15 +130,22 @@
quicksetBottom: { type: Number },
quicksetRight: { type: Number },
quicksetTop: { type: Number }
- }}
+ }
+ },
+ InventoryData : {
+ type: Object,
+ required: false,
+ properties: {
+ selectedLabel1: { type: String },
+ selectedLabel2: { type: String },
+ }
+ }
});
//鎺ュ彈SetTrimming鐨勫�� 锛堜慨杈癸級
const Trimming = (receivedData) => {
nextTick(() => {
const data = gridOptions.data;
- console.log('鎺ユ敹鍒扮殑receivedData:', receivedData);
- console.log('琛ㄦ牸鍘熷鏁版嵁:', data);
if (data) {
try {
const updatedData = [];
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 5ccbddd..39c30f8 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
@@ -7,8 +7,8 @@
import SetTrimming from "@/views/pp/glassOptimize/page/SetTrimming.vue";
import CheckInventory from "@/views/pp/glassOptimize/page/CheckInventory.vue";
import request from "@/utils/request";
-import {ElMessage} from "element-plus";
-import { useRoute } from 'vue-router';
+import {ElMessage, ElMessageBox} from "element-plus";
+import {useRoute} from 'vue-router';
const {t} = useI18n()
@@ -45,12 +45,53 @@
columns: [
{field: 'order_number', title: '璁㈠簭', width: 70},
{field: 'child_width', width: 100, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num2_filter'}},
- {field: 'child_height', width: 100, title: t('order.height'),filters: [{data: ''}],slots: {filter: 'num2_filter'}},
- {field: 'quantity', width: 150, title: t('order.quantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'longGrind1', width: 150, title: '闀跨(1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'longGrind2', width: 150, title: '闀跨(2', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'shortGrind1', width: 150, title: '鐭(1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
- {field: 'shortGrind2', width: 150, title: '鐭(2', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
+ {
+ field: 'child_height',
+ width: 100,
+ title: t('order.height'),
+ filters: [{data: ''}],
+ slots: {filter: 'num2_filter'}
+ },
+ {
+ field: 'quantity',
+ width: 150,
+ title: t('order.quantity'),
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ sortable: true
+ },
+ {
+ field: 'longGrind1',
+ width: 150,
+ title: '闀跨(1',
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ sortable: true
+ },
+ {
+ field: 'longGrind2',
+ width: 150,
+ title: '闀跨(2',
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ sortable: true
+ },
+ {
+ field: 'shortGrind1',
+ width: 150,
+ title: '鐭(1',
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ sortable: true
+ },
+ {
+ field: 'shortGrind2',
+ width: 150,
+ title: '鐭(2',
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ sortable: true
+ },
{
field: 'shape',
width: 150,
@@ -59,7 +100,14 @@
slots: {filter: 'num1_filter'},
sortable: true
},
- {field: 'process_cards', width: 150, title: '娴佺▼鍗″彿', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
+ {
+ field: 'process_cards',
+ width: 150,
+ title: '娴佺▼鍗″彿',
+ filters: [{data: ''}],
+ slots: {filter: 'num1_filter'},
+ sortable: true
+ },
{
field: 'product_name',
width: 150,
@@ -135,14 +183,101 @@
},
],//琛ㄥご鍙傛暟
data: null,//琛ㄦ牸鏁版嵁
+ //鍙抽敭鑿滃崟
+ menuConfig: {
+ body: {
+ options: [
+ [
+ {code: 'setAmount', name: '璁剧疆缁熶竴纾ㄩ噺',},
+ {code: 'displayProcessCard', name: '鏄剧ず娴佺▼鍗�',},
+ {code: 'hideProcessCard', name: '闅愯棌娴佺▼鍗�',},
+ {code: 'setShape', name: '璁剧疆鍥惧舰',},
+ {code: 'Export', name: '鏁版嵁瀵煎嚭', prefixIcon: 'vxe-icon-download', visible: true, disabled: false},
+ {code: '', name: '鍥惧舰鍙﹀瓨涓篋XF',},
+ {code: '', name: '瀵煎嚭鏁版嵁鍒癘PTIMA',},
+ ],
+ []
+ ]
+ },
+ },
toolbarConfig: {
buttons: [],
slots: {
buttons: "toolbar"
},
+
},
})
+// 鍙抽敭鑿滃崟
+const operationConfigs = [
+ {
+ code: 'setAmount', // 璁剧疆缁熶竴纾ㄩ噺
+ successMsg: '宸叉墦寮�锛�',
+ gridRef: xGrid,
+ requiresRow: false,
+ openAmount: async () => {
+ dialogVisible.value[2] = true;
+ }
+ },
+ {
+ code: 'displayProcessCard',
+ successMsg: '鎿嶄綔鎴愬姛锛�',
+ gridRef: xGrid,
+ requiresRow: false,
+ },
+ {
+ code: 'hideProcessCard',
+ successMsg: '鎿嶄綔鎴愬姛锛�',
+ gridRef: xGrid,
+ requiresRow: false,
+ },
+ {
+ code: 'setShape',
+ successMsg: '鎿嶄綔鎴愬姛锛�',
+ gridRef: xGrid,
+ requiresRow: false,
+ },
+ {
+ code: 'Export', // 瀵煎嚭鏂囦欢鎿嶄綔鐨勯厤缃�
+ successMsg: '鏂囦欢瀵煎嚭鎴愬姛锛�',
+ gridRef: xGrid,
+ requiresRow: false,
+ },
+]
+
+// 鍙抽敭鑿滃崟鐐瑰嚮閫昏緫
+const gridEvents = {
+ menuClick({menu}) {
+ const $grid = xGrid.value;
+ if ($grid) {
+ const config = operationConfigs.find(c => c.code === menu.code);
+ if (config) {
+ if (config.code === 'Export') {
+ config.gridRef.value.exportData();
+ ElMessage.success(config.successMsg);
+ return;
+ }
+ // 娣诲姞纭鎻愮ず寮圭獥锛岃闂敤鎴锋槸鍚﹁繘琛屽綋鍓嶆搷浣�
+ ElMessageBox.confirm('鏄惁杩涜褰撳墠鎿嶄綔锛�', '纭鎿嶄綔', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ if (config.code === 'setAmount') {
+ config.openAmount();
+ ElMessage.success(config.successMsg);
+ }
+ }).catch(() => {
+ // 鐢ㄦ埛鐐瑰嚮鍙栨秷鍚庢墽琛岀殑閫昏緫
+ ElMessage.info('宸插彇娑堟搷浣�');
+ });
+ } else {
+ console.error(`鏈壘鍒版搷浣滈�夐」 ${menu.code} 瀵瑰簲鐨勯厤缃紝璇锋鏌ラ厤缃」`);
+ }
+ }
+ },
+};
const handleCommand = async (command) => {
await emit('changeDialog', command)
@@ -194,8 +329,6 @@
const Amount = (amountData) => {
nextTick(() => {
const data = gridOptions.data;
- console.log('鎺ユ敹鍒扮殑amountData:', amountData);
- console.log('琛ㄦ牸鍘熷鏁版嵁:', data);
if (data) {
try {
const updatedData = [];
@@ -223,15 +356,21 @@
});
};
-//涓浆绔欐帴鍙桽etTrimming鐨勫��
+//涓浆绔欐帴鍙桽etTrimming鐨勫�硷紙璁剧疆淇竟锛�
const emit = defineEmits([
'changeDialog',
- 'forward-data-to-grandparent'
+ 'forward-data-to-grandparent',
+ 'send-inventory-to-op'
]);
const handleTrimmingData = (data) => {
emit('forward-data-to-grandparent', data);
};
+
+//涓浆绔欐帴鍙桟heckInventory鐨勫�硷紙鏌ヨ搴撳瓨锛�
+const handleInventory = (selectedLabel1, selectedLabel2) => {
+ emit('send-inventory-to-op', selectedLabel1, selectedLabel2);
+}
</script>
@@ -274,16 +413,17 @@
<div id="header">
<div id="title">
<span>宸ョ▼缂栧彿锛�</span>
- <el-input disabled placeholder="" style="width: 150px" v-model="projectNo"></el-input>
+ <el-input disabled placeholder="" style="width: 150px" v-model="projectNo"></el-input>
<span>宸ョ▼鍚嶇О锛�</span>
- <el-input disabled placeholder="" style="width: 150px; margin-right: 350px" v-model="projectName"></el-input>
+ <el-input disabled placeholder="" style="width: 150px; margin-right: 350px"
+ v-model="projectName"></el-input>
<el-button id="checkinventory" type="primary" @click="openDialog(1)">鏌ヨ搴撳瓨</el-button>
<el-dialog
v-model="dialogVisible[1]"
title="鏌ヨ搴撳瓨"
destroy-on-close
style="width: 35%;height:35%;">
- <check-inventory />
+ <check-inventory :closeDialog="closeDialog" @send-data-inventory="handleInventory"/>
</el-dialog>
<el-button id="button" type="primary" @click="openDialog(2)">璁剧疆纾ㄩ噺</el-button>
@@ -292,7 +432,7 @@
title="璁剧疆纾ㄩ噺"
destroy-on-close
style="width: 35%;height:80%;margin-top: 3vh;">
- <set-amount :closeDialog="closeDialog" @set-amount="Amount"/>
+ <set-amount :closeDialog="closeDialog" @set-amount="Amount"/>
</el-dialog>
<el-button id="button" type="primary" @click="openDialog(3)">璁剧疆淇竟</el-button>
@@ -315,7 +455,6 @@
>
<optimize-compute/>
</el-dialog>
-
</div>
<!--宸ョ▼鏂囦欢鑿滃崟-->
<el-dropdown @command="handleCommand">
@@ -351,7 +490,7 @@
margin-top: 8px;
}
-#button{
+#button {
margin-left: 10px;
}
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
index 8420dc0..dc747c2 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -75,7 +75,6 @@
}
case 'edit3' :{
printRow.value.project=row.project_no
- console.log(printRow.value.project)
dialogTableVisible.value = true
}
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java b/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
index a8ab5bc..6c8ec86 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
@@ -94,6 +94,9 @@
//灏忕墖鏁伴噺
@TableField(select = false,exist = false)
private String glassCount;
+ //琛ョ墖鐘舵��
+ @TableField(select = false,exist = false)
+ private Integer patchState;
//澶栭敭璁㈠崟琛�
@TableField(select = false,exist= false)
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
index b409ee8..04c5fbf 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -75,7 +75,11 @@
List<Map<String, String>> getPrimaryList(String processId, String technologyNumber, String glassChild, String process, String orderId);
+ List<Map<String, String>> getPrimaryLists(String processId, String technologyNumber, String glassChild, String process, String orderId,Integer quantity);
+
List<Map<String, Object>> getDetailList(String processId, String technologyNumber, String process);
+
+ List<Map<String, Object>> getDetailLists(String processId, String technologyNumber, String process,Integer orderNumber);
List<Map<String, Object>> getProcessList(String processId, String technologyNumber);
@@ -125,6 +129,8 @@
List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process);
+ List<Map<String, Object>> getDetailListLikes(String processId, String technologyNumber, String process,Integer orderNumber,Integer quantity);
+
List<Map<String, String>> getPrimaryListMergeRefund(String processId, String technologyNumber, Integer orderNumber, String orderId);
List<Map<String, Object>> getDetailListRefund(String processId, String technologyNumber, Integer orderNumber, String reportingWorkId, String patchReason);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 7acc74e..8775182 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -377,15 +377,28 @@
String processSub=flowCard.getProcess().substring(0, 2);
if(processSub.equals("澶硅兌") || processSub.equals("涓┖")){
itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
+ if(flowCard.getPatchState().equals(0)){
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess());
+ itemmap.put("detailList", detailList);
+ }else{
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailLists(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess(),flowCard.getOrderNumber());
+ itemmap.put("detailList", detailList);
+ }
- List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess());
- itemmap.put("detailList", detailList);
}
else {
- itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
- itemmap.put("detailList", detailList);
+ if(flowCard.getPatchState().equals(0)){
+ itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
+ itemmap.put("detailList", detailList);
+ }else{
+ itemmap.put("detail", flowCardMapper.getPrimaryLists(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId(),flowCard.getQuantity()));
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikes(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess(),flowCard.getOrderNumber(),flowCard.getQuantity());
+ itemmap.put("detailList", detailList);
+ }
+
+
}
@@ -412,7 +425,13 @@
itemmap.put("processList", processList);
// itemmap.put("numberList", numberList);
- itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
+
+ if(flowCard.getPatchState().equals(0)){
+ itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
+ }else{
+ itemmap.put("count", flowCardList.size());
+ }
+ itemmap.put("state", flowCard.getPatchState());
itemmap.put("remarkList", flowCardMapper.remakList(flowCard.getProcessId()));
list.add(itemmap);
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index 8d014de..ba8b092 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -660,6 +660,45 @@
group by fc.process_id
</select>
+ <select id="getPrimaryLists">
+ select o.customer_name,
+ o.project,
+ #{process} process,
+ od.edging_type,
+ #{glassChild} as glass_child,
+ od.product_name,
+ o.processing_note,
+ fc.process_id,
+ #{quantity} as quantity,
+ round(od.width*od.height*#{quantity}/1000000, 2) as gross_area,
+ sum(od.weight) as weight,
+ #{technologyNumber} as technologyNumber,
+ concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
+ '' as qrcode
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.`order` as o on o.order_id = fc.order_id
+ left join sd.product as p on p.id = od.product_id
+ left join (select ogd.order_id,
+ ogd.order_number,
+ ogd.technology_number,
+ ogd.glass_child,
+ GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+ from sd.order_glass_detail as ogd
+ where ogd.order_id = #{orderId}
+ and position(ogd.technology_number in #{technologyNumber})
+ GROUP BY order_id, order_number) as ogdc
+ on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
+ ogdc.technology_number = ogd.technology_number
+ where fc.process_id = #{processId}
+ and position(fc.technology_number in #{technologyNumber})
+ group by fc.process_id
+ </select>
+
<select id="getDetailList">
select fc.order_number,
concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
@@ -688,6 +727,39 @@
and fcs.process = #{process}
where fc.process_id = #{processId}
and position(fc.technology_number in #{technologyNumber})
+ group by fc.process_id, fc.order_number
+ order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+ </select>
+
+ <select id="getDetailLists">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ fc.quantity,
+ round(ogd.total_area, 2) as total_area,
+ od.perimeter,
+ if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+ concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation,
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_number
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.product_detail as pd
+ on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+ left join flow_card_sort as fcs
+ on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+ fcs.technology_number = fc.technology_number
+ and fcs.process = #{process}
+ where fc.process_id = #{processId}
+ and position(fc.technology_number in #{technologyNumber})
+ and fc.order_sort = #{orderNumber}
group by fc.process_id, fc.order_number
order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
</select>
@@ -1239,6 +1311,39 @@
and fcs.process = #{process}
where fc.process_id = #{processId}
and position(fc.technology_number in #{technologyNumber})
+ group by fc.process_id, fc.order_number, fc.technology_number
+ order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+ </select>
+
+ <select id="getDetailListLikes">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ #{quantity} as quantity,
+ round(ogd.child_width*ogd.child_height*#{quantity}/1000000, 2) as total_area,
+ round((ogd.child_width+ogd.child_height)*2*#{quantity}/1000, 2) as perimeter,
+ if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+ concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation,
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_number
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.product_detail as pd
+ on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+ left join flow_card_sort as fcs
+ on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+ fcs.technology_number = fc.technology_number
+ and fcs.process = #{process}
+ where fc.process_id = #{processId}
+ and position(fc.technology_number in #{technologyNumber})
+ and fc.order_number=#{orderNumber}
group by fc.process_id, fc.order_number, fc.technology_number
order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
</select>
@@ -2511,29 +2616,26 @@
</update>
<select id="getFlowCardListPrintProject">
- select fc.id,
- fc.order_id,
- fc.process_id,
- o.customer_name,
- o.project,
- fc.order_number,
- ogd.technology_number,
- ogd.glass_address,
- sum(fc.quantity) as quantity,
- round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
- od.product_name,
- ogd.glass_child,
- fc.founder,
- date(fc.splitFrame_time) as splitFrame_time,
- /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
- fc.print_status,
- ogd.process
- from pp.flow_card as fc
- left join sd.order_glass_detail as ogd
- on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
- ogd.technology_number = fc.technology_number
- left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
- left join sd.`order` as o on o.order_id = fc.order_id
+ select
+ od.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ od.order_number,
+ ogd.technology_number,
+ ogd.glass_address,
+ fc.quantity ,
+ round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
+ od.product_name,
+ ogd.glass_child,
+ fc.patch_state,
+ ogd.process
+ from (select process_id,count(*) as quantity,order_sort,project_no,layer,patch_state from pp.optimize_detail where project_no = #{printProject} group by process_id,layer) as fc
+ left join sd.order_glass_detail as ogd
+ on ogd.order_id = SUBSTRING(fc.process_id,1,10) and ogd.order_number = fc.order_sort and
+ ogd.technology_number = fc.layer
+ left join sd.order_detail as od on od.order_id = SUBSTRING(fc.process_id,1,10) and od.order_number = fc.order_sort
+ left join sd.`order` as o on o.order_id = SUBSTRING(fc.process_id,1,10)
where fc.project_no = #{printProject}
GROUP BY fc.process_id, ogd.technology_number
order by fc.process_id, ogd.technology_number
--
Gitblit v1.8.0