chenlu
2024-06-27 02f278480f7cdf0c31182e5550d38c2c1e6808b0
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
18个文件已修改
302 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ru.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/basicData/SearchBasicData.vue 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/customer/Customer.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/Customer.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
@@ -135,7 +135,7 @@
      </tr>
      <tr>
        <th>磨边</th>
        <th  colspan="2"></th>
        <th  colspan="2">{{data.order.otherRemarks}}</th>
        <th>完工日期</th>
        <th  colspan="2">{{data.order.deliveryDate}}</th>
        <th>商标</th>
@@ -148,6 +148,7 @@
        <tr>
          <th>序号</th>
          <th class="title-1">{{company.columnName}}</th>
          <th>彩釉图号</th>
          <th>编号</th>
@@ -157,8 +158,7 @@
          <th>延米</th>
          <th>楼号</th>
          <th>加工要求</th>
          <th>交货日期</th>
          <th>序号</th>
          <th>备注</th>
          <th>备注1</th>
          <th>备注2</th>
          <th>备注3</th>
@@ -172,6 +172,7 @@
          <td colspan="3"></td>
        </tr>
        <tr v-for="(item1,index1) in item.productDetail" :key="index1">
          <td>{{item1.orderNumber}}</td>
          <td>{{  item1.otherColumns?.S02}}</td>
          <td>{{  item1.otherColumns?.S03}}</td>
          <td>{{  item1.otherColumns?.S01}}</td>
@@ -181,8 +182,7 @@
          <td>{{item1.perimeter}}</td>
          <td>{{item1.buildingNumber}}</td>
          <td>{{item1.processingNote}}</td>
          <td></td>
          <td>{{item1.orderNumber}}</td>
          <td>{{item1.remarks}}</td>
          <td>
            {{ ((item1.otherColumns?.S04)?item1.otherColumns.S04:'')}}
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
@@ -81,7 +81,7 @@
  <div id="sheet">
    <table border="1">
      <tr class="title-s">
        <th colspan="16">
        <th colspan="17">
          <img src="../../../assets/northGlass.ico" alt="" style="float: left;max-width: 60px;max-height: 60px">
          <h1>
            {{company.companyName}}
@@ -90,14 +90,14 @@
      </tr>
      <tr class="title-s">
        <th colspan="6">地址:{{company.address}}</th>
        <th colspan="7">地址:{{company.address}}</th>
        <th colspan="5">电话:{{ company.telephone }}</th>
        <th colspan="5">传真:{{ company.fax }}</th>
      </tr>
      <tr class="title-s" >
        <th colspan="16">
        <th colspan="17">
          <h3>玻璃加工单</h3>
        </th>
      </tr>
@@ -105,7 +105,7 @@
        <th class="title-1">客户名称</th>
        <th colspan="7">{{data.order.customerName}}</th>
        <th class="title-1">工程名称</th>
        <th colspan="7">{{data.order.project}}</th>
        <th colspan="8">{{data.order.project}}</th>
      </tr>
      <tr>
        <th class="title-1">生产单号</th>
@@ -113,17 +113,17 @@
        <th class="title-1">下单日期</th>
        <th colspan="3">{{data.order.createTime}}</th>
        <th class="title-1">订单类型</th>
        <th colspan="3">{{data.order.orderType}}</th>
        <th colspan="4">{{data.order.orderType}}</th>
        <th class="title-1">跟单员</th>
        <th colspan="3">{{data.order.creator}}</th>
      </tr>
      <tr>
        <th>磨边</th>
        <th colspan="3"></th>
        <th colspan="3">{{data.order.otherRemarks}}</th>
        <th>完工日期</th>
        <th colspan="3">{{data.order.deliveryDate}}</th>
        <th>商标</th>
        <th colspan="3">{{data.order.icon}}</th>
        <th colspan="4">{{data.order.icon}}</th>
        <th>包装</th>
        <th colspan="3">{{data.order.packType}}</th>
      </tr>
@@ -138,9 +138,10 @@
          <th>片数</th>
          <th>面积</th>
          <th>延米</th>
          <th>半径</th>
          <th>楼号</th>
          <th>加工要求</th>
          <th>交货日期</th>
          <th>备注</th>
          <th>序号</th>
          <th>备注1</th>
          <th>备注2</th>
@@ -150,7 +151,7 @@
      <tbody v-for="(item,index) in data.orderDetail" :key="index">
      <tr>
        <td colspan="2" class="no-change-row">产品名称</td>
        <td colspan="9">{{item.productName}}</td>
        <td colspan="10">{{item.productName}}</td>
        <td class="no-change-row">产品描述</td>
        <td colspan="4"></td>
      </tr>
@@ -164,9 +165,10 @@
          <td>{{item1.quantity}}</td>
          <td>{{item1.grossArea}}</td>
          <td>{{item1.perimeter}}</td>
          <td>{{item1.bendRadius}}</td>
          <td>{{item1.buildingNumber}}</td>
          <td>{{item1.processingNote}}</td>
          <td>{{}}</td>
          <td>{{item1.remarks}}</td>
          <td></td>
          <td>{{((item1.otherColumns?.S04)?item1.otherColumns.S04:'')}}</td>
          <td>{{((item1.otherColumns?.S05)?item1.otherColumns.S05:'')}}</td>
@@ -189,7 +191,7 @@
          <td>下料-高</td>
          <td>拱高</td>
          <td colspan="6"></td>
          <td colspan="7"></td>
        </tr>
        <tr v-if="item1.differentSize" v-for="(item2,index2) in item1.orderGlassDetails" :key="index2" >
@@ -200,7 +202,7 @@
            <td>{{item2.arc}}</td>
            <td>{{item2.childHeight}}</td>
            <td>{{item1.archRise}}</td>
            <td colspan="6"></td>
            <td colspan="7"></td>
          </tr>
      </template>
@@ -210,7 +212,7 @@
        <td>{{getQuantity(item.productDetail)}}</td>
        <td>{{getArea(item.productDetail)}}</td>
        <td>{{getPerimeter(item.productDetail)}}</td>
        <td colspan="8"></td>
        <td colspan="9"></td>
      </tr>
@@ -223,7 +225,7 @@
        <td colspan=""></td>
      </tr>
      <tr>
        <td colspan="16" style="white-space: pre-wrap;text-align:left ">
        <td colspan="17" style="white-space: pre-wrap;text-align:left ">
          <template v-for="(item,index) in data.order.processingNote.split('\n')">
            {{item}}
            <br>
north-glass-erp/northglass-erp/src/lang/ru.js
@@ -139,6 +139,8 @@
            review:'Проверка',
            cancelReview:'Пересмотр',
            theProductHasBeenReviewedAndCannotBeDeleted:'Продукция проверена и не может быть удалена',
            productAbbreviation:'Продукция',
        }
    },
    order:{
@@ -596,6 +598,8 @@
        customerOrders:'Заказы клиентов',
        orderAmount:'Сумма заказа',
        customerAbbreviation:'Клиенты Сокращения',
        pleaseEnterTheCustomerAbbreviation:'Пожалуйста, введите сокращение клиента.',
    },
    delivery:{
        delivery:'Отправка',
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -139,6 +139,8 @@
           review:'审核',
           cancelReview:'反审',
           theProductHasBeenReviewedAndCannotBeDeleted:'产品已审核,无法删除',
           productAbbreviation:'产品简称',
       }
    },
    order:{
@@ -596,6 +598,8 @@
        customerOrders:'客户订单',
        orderAmount:'订单金额',
        customerAbbreviation:'客户简称',
        pleaseEnterTheCustomerAbbreviation:'请输入客户简称',
    },
    delivery:{
        delivery:'发货',
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -1,5 +1,5 @@
<script setup>
import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue";
import {computed, nextTick, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
import {useRouter,useRoute} from 'vue-router'
import request from "@/utils/request";
import {ElMessage} from "element-plus";
@@ -82,10 +82,7 @@
})
/*onMounted(() => {
  //启用表格拖动选中
  addListener(xGrid.value, gridOptions)
})*/
let inputDisabled = ref(false)
onMounted(() =>{
@@ -1050,6 +1047,57 @@
  const $grid = xGrid.value
  this.$grid.commitProxy('data', yourData)
}
onMounted(() => {
  window.addEventListener('keypress', qrcodeScanner);
})
// 在组件卸载时移除键盘事件监听
onUnmounted(() => {
  window.removeEventListener('keypress', qrcodeScanner);
})
let code = '';
let codeArr = [];
let lastTime,nextTime = ''
let lastCode,nextCode = ''
const qrcodeScanner = (e) =>{
  nextCode = e.key;
  // 当前触发时间
  nextTime = new Date().getTime();
  // 第一次获取
  if(!lastTime &&  !lastCode && e.key !== 'Enter'){
    codeArr = []
    codeArr.push(e.key)
  }
  if(lastCode && lastTime && (nextTime - lastTime > 50)){
    // 相隔时间大于30 说明不是扫码枪扫描的 清空重新
    codeArr = []
    // 当扫码前有keypress事件时,防止首字缺失
  } else if(lastCode  && lastTime && e.key !== 'Enter'){
    codeArr.push(e.key)
  }
  lastCode = nextCode
  lastTime = nextTime
  // 扫描结束
  if(e.keyCode === 13){
    // 可进行下一步操作
    /* 下一步操作 */
    if(codeArr.length!==0){
      titleUploadData.value.processId = codeArr.join('')
    }
    codeArr=[]
    lastTime = ''
    nextTime = ''
    lastCode = ''
    nextCode = ''
  }
}
</script>
north-glass-erp/northglass-erp/src/views/sd/basicData/SearchBasicData.vue
@@ -6,10 +6,120 @@
import CreateBasicData from "@/views/sd/basicData/CreateBasicData.vue"
import {useRouter,useRoute} from "vue-router"
import {useI18n} from "vue-i18n"
import {changeFilterEvent, filterChanged} from "@/hook";
const { t } = useI18n()
let dialogTableVisible = ref(false)
const router = useRouter()
let basic = ref({
  basicType : ['',''],
})
let options=ref([
  { "label": t('orderBasicData.order'),
    "value": "order",
    "children": [
      {
        "label": t('orderBasicData.orderType'),
        "value": "orderType"
      },
      {
        "label": t('orderBasicData.orderClassify'),
        "value": "orderClassify"
      },
      {
        "label": t('orderBasicData.icon'),
        "value": "icon"
      },
      {
        "label": t('orderBasicData.packType'),
        "value": "packType"
      },
      {
        "label": t('orderBasicData.alType'),
        "value": "alType"
      },
      {
        "label": t('orderBasicData.saleMan'),
        "value": "saleMan"
      }
    ]
  },
  {
    "label": t('orderBasicData.product'),
    "value": "product",
    "children": [
      {
        "label": t('orderBasicData.stuffThickness'),
        "value": "stuffThickness"
      },
      {
        "label": t('orderBasicData.stuffColor'),
        "value": "stuffColor"
      },
      {
        "label": t('orderBasicData.stuffCraft'),
        "value": "stuffCraft"
      },
      {
        "label": t('orderBasicData.stuffPosition'),
        "value": "stuffPosition"
      },
      {
        "label": t('orderBasicData.stuffLowE'),
        "value": "stuffLowE"
      },
      {
        "label": t('orderBasicData.InterlayerThickness'),
        "value": "InterlayerThickness"
      },
      {
        "label": t('orderBasicData.InterlayerType'),
        "value": "InterlayerType"
      },
      {
        "label": t('orderBasicData.InterlayerColor'),
        "value": "InterlayerColor"
      },
      {
        "label": t('orderBasicData.process'),
        "value": "process"
      },
      {
        "label": t('orderBasicData.hollowThickness'),
        "value": "hollowThickness"
      },
      {
        "label": t('orderBasicData.hollowGasType'),
        "value": "hollowGasType"
      },
      {
        "label": t('orderBasicData.hollowType'),
        "value": "hollowType"
      },
      {
        "label": t('orderBasicData.hollowGlueDepth'),
        "value": "hollowGlueDepth"
      }
    ]
  },
  {
    "children": [
      {
        "label": t('orderBasicData.paymentTerms'),
        "value": "paymentTerms"
      },
      {
        "label": t('orderBasicData.payMethod'),
        "value": "payMethod"
      }
    ],
    "label": t('orderBasicData.delivery'),
    "value": "delivery"
  }
])
const xGrid = ref()
const gridOptions = reactive({
  border:  "full",//表格加边框
@@ -28,7 +138,7 @@
    useKey: true
  },
  filterConfig: {   //筛选配置项
    remote: true
    //remote: true
  },
  customConfig: {
    storage: true
@@ -43,7 +153,7 @@
  columns:[
    {title: t('basicData.operate'), width: 110, slots: { default: 'button_slot' },fixed:"left",},
    {type: 'seq', title: t('basicData.number'), width: 80 ,fixed:"left",},
    {field:'basicName',title: t('orderBasicData.name')},
    {field:'basicName',title: t('orderBasicData.name'),filters: [{data: ''}],slots: {filter: 'num1_filter'},filterMethod: filterChanged},
    {field:'nickname',title: t('orderBasicData.alias')},
    {field:'createTime',title: t('basicData.creationTime')},
@@ -122,10 +232,31 @@
  }
}
const handleChange = () => {
  console.log(basic.value.basicType[1])
  request.get(`/basicData/BasicDataByType/${basic.value.basicType[0]}/${basic.value.basicType[1]}`).then(res => {
    if(res.code==='200'){
      xGrid.value.reloadData(res.data)
    }
  })
}
</script>
<template>
  <div>
    <el-row>
      <el-col :span="8">
        <el-cascader
            v-model="basic.basicType"
            @change="handleChange"
            :options="options"
            clearable
            placeholder=""
        />
      </el-col>
    </el-row>
    <vxe-grid
        style="width: 40vw;"
        class="mytable-scrollbar"
@@ -143,6 +274,15 @@
        </el-popconfirm>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text" @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
      </template>
    </vxe-grid>
    <el-dialog
        v-model="dialogTableVisible"
north-glass-erp/northglass-erp/src/views/sd/customer/CreateCustomer.vue
@@ -18,6 +18,7 @@
let ruleForm = ref({
  id:0,
  customerName: '',
  customerAbbreviation: '',
  grade: '',
  moneyLimit: '',
  address: '',
@@ -34,9 +35,10 @@
  const str = route.query.id
  if (typeof str != 'undefined' && str != null && str !== '' && str !== '\n' && str !== '\r'){
    ruleForm.value.id = Number(str)
    console.log(ruleForm.value)
    request.post(`/customer/getSelectCustomer/1/100`,ruleForm.value).then((res) => {
      if(res.code==200){
        console.log(res.data.data[0])
        ruleForm.value=deepClone(res.data.data[0])
      }else{
@@ -87,7 +89,7 @@
  let flowData = ref({
    customer: ruleForm
  })
  console.log()
  request.post("/customer/insertCustomer", flowData.value).then((res) => {
    if(res.code==200 && res.data===true){
      resetForm()
@@ -104,7 +106,9 @@
}
//重置输入框
const resetForm = () => {
  ruleForm.value.id=0
  ruleForm.value.customerName=""
  ruleForm.value.customerAbbreviation=""
  ruleForm.value.grade=""
  ruleForm.value.moneyLimit=""
  ruleForm.value.address=""
@@ -122,6 +126,10 @@
        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.customerName"  ></el-input></el-col>
      </el-row>
      <el-row>
        <el-col  :span="2"><el-text>{{ $t('customer.customerAbbreviation') }}:</el-text></el-col>
        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.customerAbbreviation"  ></el-input></el-col>
      </el-row>
      <el-row>
        <el-col  :span="2"><el-text>{{ $t('customer.customerGrade') }}:</el-text></el-col>
        <el-col  :span="5"><el-input style="font-size: large;color: #181818" v-model="ruleForm.grade"  ></el-input></el-col>
      </el-row>
north-glass-erp/northglass-erp/src/views/sd/customer/Customer.vue
@@ -23,7 +23,7 @@
    </div>
    <div id="main-body">
      <router-view  />
      <router-view  :key="route.fullPath" />
    </div>
  </div>
</template>
north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
@@ -91,6 +91,7 @@
request.post(`/customer/getSelectCustomer/1/${total.pageSize}`,filterData.value).then((res) => {
  if(res.code==200){
    console.log(res.data.data)
    total.dataTotal = res.data.total.total*1
    total.pageTotal= res.data.total.pageTotal
    pageNum.value=1
@@ -200,6 +201,7 @@
          {title: t('basicData.operate'), width: 180, slots: { default: 'button_slot' },fixed:"left"},
          {field: 'id', title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
          {field: 'customerName', title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
          {field: 'customerAbbreviation', title: t('customer.customerAbbreviation'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
          {field: 'grade', title: t('customer.customerGrade'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
          {field: 'moneyLimit', title: t('customer.moneyLimit'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
          {field: 'address', title: t('customer.address'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -1213,6 +1213,8 @@
              v-model="titleUploadData.deliveryDate"
              type="date"
              placeholder=""
              format="YYYY/MM/DD"
              value-format="YYYY-MM-DD"
              />
        </el-col>
        <el-col  :span="2"><el-text>{{$t('order.batch')}}:</el-text></el-col>
north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue
@@ -48,7 +48,7 @@
  ],//表格表头字段
  data:[],//表格数据
  url :'/order/getOrderProductSummary',
  exportUrl :'/order/getOrderProductSummary',
  exportUrl :'/order/exportOrderReport',
  exportName:t('order.orderDetailsSummaryReport'),
  footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount']
})
north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
@@ -138,7 +138,6 @@
    }
  })
  productTotal.value.productName=productName
  productTotal.value.productAbbreviation=productName.split("mm").join("")
  let product = {
    title: productTotal.value,
    detail:productDetailList.value
@@ -364,6 +363,7 @@
  hollowFlag.value.flag=true
  hollowFlag.value.index=null
}
const productName = computed(() =>{
  let productName = ""
  productDetailList.value.forEach(item =>{
@@ -697,6 +697,15 @@
              <el-input v-model="productTotal.remarks"  size="small"   />
            </div>
          </el-col>
          <el-col :span="8">
            <div class="grid-content ep-bg-purple" >
              <el-text class="mx-1"
                       style="margin-left: 0.5rem;text-align: center">
                {{ $t('product.msg.productAbbreviation') }}:
              </el-text>
              <el-input v-model="productTotal.productAbbreviation"  size="small"   />
            </div>
          </el-col>
        </el-row>
      </div>
@@ -716,7 +725,7 @@
          </el-col>
          <el-col :span="20">
            <div class="grid-content ep-bg-purple" >
              <el-input :value="productName" size="large" disabled  />
              <el-input :value="productName" size="large"   />
            </div>
          </el-col>
        </el-row>
north-glass-erp/src/main/java/com/example/erp/entity/sd/Customer.java
@@ -11,6 +11,7 @@
    private Long id;
    private String customerName;
    private String customerAbbreviation;
    private String grade;
    private Double moneyLimit;
    private String address;
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -26,7 +26,7 @@
    private String orderClassify;
    private String icon;
    private String packType;
    private String deliveryDate;
    private LocalDate deliveryDate;
    private String batch;
    private Integer calculateType;
    private Integer salesmanId;
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -165,7 +165,7 @@
        for (int i = 0; i < OrderDetails.size(); i++) {
            OrderDetails.get(i).setOrderNumber(i+1);
            OrderDetails.get(i).setOrderId(orderId);
            OrderDetails.get(i).setPerimeter(OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()*2/1000);
            OrderDetails.get(i).setPerimeter((OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000);
            OrderDetails.get(i).setWeight(1.0);
            if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
                //获取弯钢弧度
north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml
@@ -198,6 +198,9 @@
            <if test="customer.customerName != null and customer.customerName != ''">
                and c.customer_name regexp #{customer.customerName}
            </if>
            <if test="customer.customerAbbreviation != null and customer.customerAbbreviation != ''">
                and c.customer_abbreviation regexp #{customer.customerAbbreviation}
            </if>
            <if test="customer.grade != null and customer.grade != ''">
                and c.grade regexp #{customer.grade}
            </if>
@@ -252,15 +255,15 @@
    </select>
    <insert id="insertCustomer"  useGeneratedKeys="true" >
        insert into sd.customer(customer_name,grade,money_limit,address,contact,phone)
        insert into sd.customer(customer_name,customer_abbreviation,grade,money_limit,address,contact,phone)
        values (
                   #{customer.customerName},#{customer.grade},#{customer.moneyLimit},
                   #{customer.customerName},#{customer.customerAbbreviation},#{customer.grade},#{customer.moneyLimit},
                #{customer.address},#{customer.contact},#{customer.phone}
               )
    </insert>
    <update id="updateCustomer"  useGeneratedKeys="true" >
        update sd.customer set customer_name=#{customer.customerName},grade=#{customer.grade},
        update sd.customer set customer_name=#{customer.customerName},customer_abbreviation=#{customer.customerAbbreviation},grade=#{customer.grade},
                                    money_limit=#{customer.moneyLimit},address= #{customer.address},
                                    contact=#{customer.contact},phone=#{customer.phone} where id=#{customer.id}
    </update>
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -927,7 +927,7 @@
               od.gross_amount,
               od.compute_gross_area,
               ifnull(od.processing_note,"") as processingNote,
               ifnull(od.remarks,"") as buildingNumber,
               ifnull(od.building_number,"") as buildingNumber,
               od.price
        from  order_detail od
        where  od.order_id = #{orderId}
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -48,7 +48,8 @@
            o.quantity = od.b,
            o.area = od.c,
            o.perimeter= od.aa,
            o.other_money = ifnull(c.money,0)
            o.other_money = ifnull(c.money,0),
            o.other_remarks = (select group_concat( distinct edging_type) from order_detail where order_id = #{orderId} and  edging_type is not null)
        where
            o.order_id = #{orderId}