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