From 60f72bb072b825bcbf05c892b96622e3a79d1d32 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 17 七月 2025 09:09:15 +0800
Subject: [PATCH] 发货打印新增样式
---
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml | 54 ++---
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue | 1
north-glass-erp/package-lock.json | 6
north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java | 6
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue | 76 +++++++
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java | 13 +
north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyangDetails.vue | 400 ++++++++++++++++++++++++++++++++++++++++
7 files changed, 520 insertions(+), 36 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue
index 3d379b3..ad35ab7 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue
@@ -111,6 +111,7 @@
}
//缁欐暟鎹繘琛屽垎椤�
pageData.value = groupArrayByFive(produceList2.value[0].data)
+ console.log(pageData.value)
delivery.value = produceList2.value[0].delivery
console.log(delivery.value)
diff --git a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyangDetails.vue b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyangDetails.vue
new file mode 100644
index 0000000..fbf4725
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyangDetails.vue
@@ -0,0 +1,400 @@
+<script setup>
+import request from "@/utils/request"
+import {computed, onMounted, ref} from "vue"
+import PrintFoot from "@/components/sd/order/PrintFoot.vue"
+import companyInfo from "@/stores/sd/companyInfo"
+import deepClone from "@/utils/deepClone";
+import {ElMessage} from "element-plus";
+import {add,addAuto} from '@/utils/decimal';
+
+const company = companyInfo()
+let produceList = ref([])
+let otherMoney = []
+let otherMoney1 = []
+let delivery = ref([])
+let money = ref("")
+let otherMoneys = 0
+let sumMoney = 0
+let takeCare =ref("鍏蜂綋瑙勬牸璇﹁娓呭崟")
+let remark =ref(company.deliveryRemark)
+
+
+
+let props = defineProps({
+ deliveryId:null,
+ type:null
+})
+const form = ref({
+})
+let produceList2 = ref([])
+
+
+const deliveryId = ref()
+
+const pageData = ref()
+const getData = () => {
+ if(props.deliveryId===null || props.deliveryId===undefined || props.deliveryId===''){
+ return
+ }
+ deliveryId.value = props.deliveryId[0].deliveryId
+ form.value.deliveryId=props.deliveryId
+ form.value.type=company.productName
+ form.value.state=props.type
+
+
+ request.post(`/delivery/getSelectDeliveryPrinting`,form.value).then((res) => {
+ if(res.code==200){
+ console.log(res.data)
+ produceList.value = deepClone(res.data)
+ for(let i=0;i<produceList.value.length;i++){
+ produceList.value[i].data.forEach(item =>{
+
+
+ })
+ let produceList1= ({
+ data:null,
+ otherMoney:null,
+ otherMoney1:null,
+ delivery:null,
+ money:null,
+ otherMoneys:0,
+ sumMoney:0
+ })
+ produceList1.data=produceList.value[i].data
+ produceList1.delivery=produceList.value[i].delivery
+ produceList1.money=produceList.value[i].money
+ produceList1.otherMoney=produceList.value[i].otherMoney
+ for(let j=0;j<produceList1.data.length;j++){
+ produceList1.sumMoney+=produceList1.data[j].DeliveryDetail.money
+ }
+ otherMoney1=[]
+ for(let i=0;i<produceList1.otherMoney.length;i++){
+ if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery!=null){
+ produceList1.otherMoneys+=produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery
+ if(otherMoney1.length===0){
+ otherMoney1.push(produceList1.otherMoney[i])
+ }
+ else{
+ for(let s=0;s<otherMoney1.length;s++){
+ if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){
+
+ otherMoney1[s].DeliveryDetailOtherMoney.count=add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.count,otherMoney1[s].DeliveryDetailOtherMoney.count)
+ otherMoney1[s].DeliveryDetailOtherMoney.monery =add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery,otherMoney1[s].DeliveryDetailOtherMoney.monery)
+ break
+ }
+ if(s+1===otherMoney1.length){
+ otherMoney1.push(produceList1.otherMoney[i])
+ break
+ }
+ }
+
+ }
+
+ }
+
+ }
+ produceList1.otherMoney1=otherMoney1
+ produceList2.value.push(produceList1)
+ }
+ for(let j=0;j<produceList2.value.length;j++){
+
+ if(produceList2.value[j].delivery.money.toFixed(0)!==(produceList2.value[j].otherMoneys
+ +produceList2.value[j].sumMoney+produceList2.value[j].delivery.freight).toFixed(0)){
+ console.log(produceList2.value[j])
+ console.log(produceList2.value[j].delivery.money)
+ console.log((produceList2.value[j].otherMoneys
+ +produceList2.value[j].sumMoney).toFixed(0))
+ console.log(produceList2.value[j].delivery.deliveryId)
+ }
+
+ }
+ //缁欐暟鎹繘琛屽垎椤�
+ pageData.value = groupArrayByFive(produceList2.value[0].data)
+ console.log(pageData.value)
+ delivery.value = produceList2.value[0].delivery
+ console.log(delivery.value)
+
+
+
+ }else{
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+}
+
+function groupArrayByFive(arr) {
+
+ let result = [];
+ let productName=ref()
+ arr.forEach(item=>{
+ for (let i = 0; i < item.DeliveryDetailList.length; i += 8) {
+ let resultMap = {
+ id:null,
+ DeliveryDetail:null,
+ DeliveryDetailList:[]
+ };
+ resultMap.DeliveryDetail=item.DeliveryDetail
+ resultMap.id=item.DeliveryDetailList.slice(i, i + 8).length
+ resultMap.DeliveryDetailList.push(item.DeliveryDetailList.slice(i, i + 8))
+ result.push(resultMap)
+ }
+
+ })
+
+ return result;
+}
+let deliveryDate = ref()
+onMounted(() => {
+ const today = new Date
+ today.setTime(today.getTime())
+ deliveryDate.value = today.getFullYear() +
+ '-' + ("0" + (today.getMonth() + 1)).slice(-2)
+ + '-' + ("0" + today.getDate()).slice(-2)
+ getData()
+})
+
+
+
+const printSheet = () => {
+}
+let companyName = ref('娲涢槼鐜荤拑鍏徃')
+
+const getQuantitySum = (page)=>{
+ if(pageData.value[page] === undefined){
+ return 0
+ }
+ return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => {
+ return add(accumulator,currentValue.quantity)
+ }, 0)
+
+
+}
+const getAreaSum = (page)=>{
+ if(pageData.value[page] === undefined){
+ return 0
+ }
+ return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => {
+ return addAuto(accumulator,currentValue.area,2)
+ }, 0)
+}
+const getMoneySum = (page)=>{
+ if(pageData.value[page] === undefined){
+ return 0
+ }
+ return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => {
+ return addAuto(accumulator,currentValue.money,2)
+ }, 0)
+}
+
+
+defineExpose({
+ printSheet
+});
+</script>
+
+<template>
+ <div >
+ <el-row id="footsum" :gutter="20" >
+ <el-col :span="20"></el-col>
+ <el-col :span="4" style="font-weight: bolder;font-size: 19px" >{{delivery.creator}}</el-col>
+ </el-row>
+ <el-row id="footsum1" :gutter="20" >
+ <el-col :span="2" ></el-col>
+ <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contacts }}</el-col>
+ <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contactNumber }}</el-col>
+ <el-col :span="1" ></el-col>
+ <el-col :span="11" style="font-weight: bolder;font-size: 19px">{{ delivery.deliveryAddress }}</el-col>
+ </el-row>
+
+ <table class="content1" v-for="(page,pageIndex) in pageData" >
+ <thead>
+ <tr style="height: 3.2cm"><td></td></tr>
+
+ <tr>
+ <td colspan="6" >
+ <el-row :gutter="20">
+ <el-col :span="2"></el-col>
+ <el-col :span="9">
+ <input v-model="companyName"
+ style="border: 0;width: 100%;
+ height: 100%;font-size:19px;font-weight: bolder "/>
+ </el-col>
+ <el-col :span="5" style="font-size:19px;font-weight: bolder"> {{deliveryId}} </el-col>
+ <el-col :span="5"></el-col>
+ <el-col :span="3" style="white-space: nowrap;font-size:19px;font-weight: bolder">{{deliveryDate}}</el-col>
+ </el-row>
+ </td>
+ </tr>
+ <tr style="height: 0.5cm"><td></td></tr>
+
+ <tr style="margin-top: 20px">
+ <td colspan="6">
+ <el-row :gutter="20">
+ <el-col :span="3"></el-col>
+ <el-col :span="9" style="font-size: 21px;font-weight: bolder">{{delivery.customerName }}</el-col>
+ <el-col :span="3"> </el-col>
+ <el-col :span="9" style="font-size: 21px;font-weight: bolder;white-space: nowrap;"> {{delivery.project }}</el-col>
+ </el-row>
+ </td>
+ </tr>
+ <tr style="height: 0.3cm"><td></td></tr>
+ <tr>
+ <td colspan="6">
+ <el-row :gutter="20">
+ <el-col :span="2"></el-col>
+ <el-col :span="12" style="font-size: 17px;font-weight: bolder"> {{delivery.orderId }}</el-col>
+ </el-row>
+ </td>
+ </tr>
+
+ <tr style="height: 0.2cm"><td></td></tr>
+
+
+
+ </thead>
+ <tbody >
+ <template v-for="(items,index1) in page.DeliveryDetailList[0]">
+ <tr>
+
+ <td style="width: 20cm" :rowspan="page.id" v-if="index1===0">
+ <el-input class="textarea" type="textarea"
+ :autosize="{ minRows: 1, maxRows: 20 }"
+ v-model="page.DeliveryDetail.orderDetail.productName" />
+ </td>
+ <td style="width: 0.8cm"></td>
+
+ <td style="width: 10cm">
+ <el-input class="textarea" type="textarea"
+ style="font-weight: bolder;"
+ :autosize="{ minRows: 1, maxRows: 20 }"
+ v-model="items.width" />
+
+ </td>
+ <td style="width: 10cm">
+ <el-input class="textarea" type="textarea"
+ style="font-weight: bolder;"
+ :autosize="{ minRows: 1, maxRows: 20 }"
+ v-model="items.height" />
+
+ </td>
+ <td style="width: 60px">
+ {{items.quantity}}
+ </td>
+ <td style="width: 100px">
+ <input style="border: 0" v-model="items.area">
+ </td>
+
+ <td
+ v-if="props.type===1||props.type===3"
+ style="width: 80px"
+ >
+ {{items.price}}
+ </td>
+ <td
+ v-if="props.type===1||props.type===3"
+ >
+ {{items.money}}
+ </td>
+
+ </tr>
+ </template>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>
+ {{getQuantitySum(pageIndex)}}
+ </td>
+ <td>
+ <input style="border: 0" :value="getAreaSum(pageIndex)">
+ </td>
+ <td></td>
+ <td v-if="props.type===1||props.type===3">
+ {{getMoneySum(pageIndex)}}
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+
+ </div>
+
+
+</template>
+
+
+
+
+<style scoped>
+*{
+ color: rgba(0, 0, 0, 0.8); /* 鏇存繁鐨勯粦鑹� */
+ font-family: 'Microsoft YaHei', '寰蒋闆呴粦', sans-serif;
+ outline: none;
+}
+#sheet{
+ width: 21cm;
+}
+table{
+ width: 21cm
+
+}
+.content1{
+ page-break-after: always;
+
+}
+span{
+ width: 7cm;
+ text-align: center;
+}
+tbody *{
+ font-size: 16px; font-weight: bolder;
+}
+tbody *{
+ font-size: 16px; font-weight: bolder;
+}
+#footsum1,#footsum{
+ font-weight: bolder;font-size: 17px;
+}
+
+@media print {
+ #footsum{
+ position: fixed;
+ bottom: 4.2cm;
+ width: 100%; /* 鎴栬�呰缃垚鍏蜂綋鐨勫搴� */
+ font-size: 17px;
+ }
+ #footsum1{
+ position: fixed;
+ bottom: 1.8cm;
+ width: 100%; /* 鎴栬�呰缃垚鍏蜂綋鐨勫搴� */
+ }
+}
+
+.textarea{
+--el-border-color: rgba(255,255,255,0.0);
+--el-input-focus-border-color: rgba(255,255,255,0.0);
+--el-input-focus-border-width: 0px;
+--el-input-hover-border-color: rgba(255,255,255,0.0);
+--el-input-hover-border-width: 0px;
+}
+/*textarea {
+
+ font-size: 16px;
+ border:none;
+ text-align: right;
+ font-weight: bolder;
+ width: 100%;
+ height: 100%;
+}*/
+:deep(.el-textarea__inner){
+ font-weight: bolder;
+ color: #333333;
+ font-family: 'Microsoft YaHei', '寰蒋闆呴粦', sans-serif;
+}
+
+
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
index 5f32f1c..df01636 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -14,6 +14,7 @@
import PrintSheet1 from "@/components/sd/delivery/PrintSheet1.vue";
import PrintSheet2 from "@/components/sd/delivery/PrintSheet2.vue";
import PrintSheetLuoyang from "@/components/sd/delivery/PrintSheetLuoyang.vue";
+import PrintSheetLuoyangDetails from "@/components/sd/delivery/PrintSheetLuoyangDetails.vue";
import useOrderInfoStore from "@/stores/sd/order/orderInfo";
import { saveAs } from "file-saver"
import companyInfo from "@/stores/sd/companyInfo";
@@ -113,6 +114,8 @@
if(company.companyName=='娲涢槼鍖楁柟鐜荤拑鎶�鏈偂浠芥湁闄愬叕鍙�'){
xGrid.value.menuConfig.body.options[0][2].visible=true
xGrid.value.menuConfig.body.options[0][3].visible=true
+ xGrid.value.menuConfig.body.options[0][4].visible=true
+ xGrid.value.menuConfig.body.options[0][5].visible=true
}
xGrid.value.loadData(produceList)
gridOptions.loading=false
@@ -344,6 +347,71 @@
break
}
+ case 'sheet5': {
+ const selectRecords = $grid.getCheckboxRecords()
+ if (selectRecords.length === 0) {
+ if(rowClickIndex.value.deliveryState>0){
+ ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber)
+ let delivery=([])
+ delivery.push(rowClickIndex.value)
+ flowData.value.delivery=delivery
+ dialogTableVisible.value = true
+ sheetIndex.value=5
+ }else{
+ ElMessage.warning(t('order.orderNotApproved'))
+ }
+ }else{
+ let a=0
+ selectRecords.forEach((item) => {
+ if(item.deliveryState==0){
+ ElMessage.warning(t('order.orderNotApproved'))
+ a=1
+ }
+ })
+ if(a==0){
+ flowData.value.delivery=selectRecords
+ dialogTableVisible.value = true
+ sheetIndex.value=5
+ }
+
+
+ }
+
+ break
+
+ }
+ case 'sheet6': {
+ const selectRecords = $grid.getCheckboxRecords()
+ if (selectRecords.length === 0) {
+ if(rowClickIndex.value.deliveryState>0){
+ ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber)
+ let delivery=([])
+ delivery.push(rowClickIndex.value)
+ flowData.value.delivery=delivery
+ dialogTableVisible.value = true
+ sheetIndex.value=6
+ }else{
+ ElMessage.warning(t('order.orderNotApproved'))
+ }
+ }else{
+ let a=0
+ selectRecords.forEach((item) => {
+ if(item.deliveryState==0){
+ ElMessage.warning(t('order.orderNotApproved'))
+ a=1
+ }
+ })
+ if(a==0){
+ flowData.value.delivery=selectRecords
+ dialogTableVisible.value = true
+ sheetIndex.value=6
+ }
+
+
+ }
+
+ break
+ }
}
}
},
@@ -386,8 +454,10 @@
[
{ code: 'sheet1', name: t('basicData.print'), prefixIcon: 'vxe-icon-file-txt', visible: true},
{ code: 'sheet2', name: t('basicData.print')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: true},
- { code: 'sheet3', name: t('娲涢槼鎵撳嵃'), prefixIcon: 'vxe-icon-file-txt', visible: false},
- { code: 'sheet4', name: t('娲涢槼鎵撳嵃')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: false},
+ { code: 'sheet3', name: t('娲涢槼鎵撳嵃鏃犲昂瀵�'), prefixIcon: 'vxe-icon-file-txt', visible: false},
+ { code: 'sheet4', name: t('娲涢槼鎵撳嵃鏃犲昂瀵�')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: false},
+ { code: 'sheet5', name: t('娲涢槼鎵撳嵃鏈夊昂瀵�'), prefixIcon: 'vxe-icon-file-txt', visible: false},
+ { code: 'sheet6', name: t('娲涢槼鎵撳嵃鏈夊昂瀵�')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: false},
]
]
}
@@ -586,6 +656,8 @@
<print-sheet2 id="child" v-if="sheetIndex===2" :deliveryId="flowData.delivery" />
<print-sheet-luoyang id="child" v-if="sheetIndex===3" :deliveryId="flowData.delivery" :type="1" />
<print-sheet-luoyang id="child" v-if="sheetIndex===4" :deliveryId="flowData.delivery" :type="2" />
+ <print-sheet-luoyang-details id="child" v-if="sheetIndex===5" :deliveryId="flowData.delivery" :type="3" />
+ <print-sheet-luoyang-details id="child" v-if="sheetIndex===6" :deliveryId="flowData.delivery" :type="4" />
</el-dialog>
</div>
diff --git a/north-glass-erp/package-lock.json b/north-glass-erp/package-lock.json
new file mode 100644
index 0000000..5d4c51e
--- /dev/null
+++ b/north-glass-erp/package-lock.json
@@ -0,0 +1,6 @@
+{
+ "name": "north-glass-erp",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {}
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
index 656d519..4c6de76 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
@@ -31,9 +31,11 @@
List<DeliveryDetail> getSelectDeliveryPrintingNoMoney(@Param("deliveryId") String deliveryId,@Param("type") String type);
- List<DeliveryDetail> getSelectDeliveryPrintingMoneySpecifications(@Param("deliveryId") String deliveryId,@Param("type") String type);
+ List<Map<String, Object>> getSelectDeliveryPrintingMoneySpecifications(@Param("deliveryId") String deliveryId,
+ @Param("productId") Integer productId,@Param("orderId") String orderId);
- List<DeliveryDetail> getSelectDeliveryPrintingNoMoneySpecifications(@Param("deliveryId") String deliveryId,@Param("type") String type);
+ List<Map<String, Object>> getSelectDeliveryPrintingNoMoneySpecifications(@Param("deliveryId") String deliveryId,
+ @Param("productId") Integer productId,@Param("orderId") String orderId);
List<OrderDetail> getSelectOrderPrinting(Object productId, String orderId);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index bb36e27..e87d781 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -545,8 +545,17 @@
orderId=detail.getOrderDetail().getOrderId();
Map<String, Object> itemmap = new HashMap<>();
- List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(),
- detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId());
+ List<Map<String, Object>> deliveryDetailList2;
+ if(state==3){
+ deliveryDetailList2=deliveryDetailMapper.getSelectDeliveryPrintingMoneySpecifications(detail.getDeliveryId(),
+ detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId());
+ }else if(state==4){
+ deliveryDetailList2=deliveryDetailMapper.getSelectDeliveryPrintingNoMoneySpecifications(detail.getDeliveryId(),
+ detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId());
+ }else{
+ deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(),
+ detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId());
+ }
for (Map<String, Object> stringObjectMap : deliveryDetailList2) {
if(stringObjectMap.get("other_columns")!=null){
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index 34d5198..52c1051 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -1147,44 +1147,38 @@
</select>
- <select id="getSelectDeliveryPrintingMoneySpecifications" resultMap="selectDeliveryDetailOrderDetail" >
- select dd.delivery_id,
- od.order_id,
- IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name,
- dd.price,
+ <select id="getSelectDeliveryPrintingMoneySpecifications" >
+ select od.order_id,
+ od.width,
+ od.height,
+ od.product_name,
sum(dd.area) as area,
sum(dd.money) as money,
sum(dd.quantity) as quantity,
- o.contract_id,
- od.width,
- od.height
+ dd.price
from delivery_detail dd
- left join (select product_name,order_id,product_id,order_number,width,height
- from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number
- left join product pt on pt.id = od.product_id
- left join sd.`order` o on o.order_id = dd.order_id
- where dd.delivery_id like concat('%', #{deliveryId}, '%')
-
- group by od.order_id, od.product_name,od.width,od.height, dd.price
+ left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
+ left join product p on od.product_id = p.id
+ where delivery_id = #{deliveryId}
+ and od.order_id = #{orderId}
+ and od.product_id = #{productId}
+ group by od.width,od.height, dd.price
</select>
- <select id="getSelectDeliveryPrintingNoMoneySpecifications" resultMap="selectDeliveryDetailOrderDetail" >
- select dd.delivery_id,
- od.order_id,
- IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name,
- sum(dd.area) as area,
- sum(dd.quantity) as quantity,
- o.contract_id,
+ <select id="getSelectDeliveryPrintingNoMoneySpecifications" >
+ select od.order_id,
od.width,
- od.height
+ od.height,
+ od.product_name,
+ sum(dd.area) as area,
+ sum(dd.quantity) as quantity
from delivery_detail dd
- left join (select product_name,order_id,product_id,order_number,width,height
- from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number
- left join product pt on pt.id = od.product_id
- left join sd.`order` o on o.order_id = dd.order_id
- where dd.delivery_id like concat('%', #{deliveryId}, '%')
-
- group by od.order_id, od.product_name, width, height
+ left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number
+ left join product p on od.product_id = p.id
+ where delivery_id = #{deliveryId}
+ and od.order_id = #{orderId}
+ and od.product_id = #{productId}
+ group by od.width,od.height
</select>
<select id="getSelectOrderPrinting" >
--
Gitblit v1.8.0