chenlu
2024-01-26 66dcbf3fcfc3bb27a5619626d24ce19f50a4b79f
工单管理查询前后端代码文件;pp模块实体类修改
19个文件已修改
10个文件已添加
2个文件已删除
1041 ■■■■ 已修改文件
.gitignore 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/dataSources.local.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/package-lock.json 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue 347 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/WorkOrderController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/BaseBom.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/Device.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/DeviceMaintenance.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/OrderBom.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWork.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/Rework.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/SetupBom.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/pp/WorkprogressMonthlySettlement.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderGlassDetail.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/WorkOrderMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/pp/FolwCard.xml 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/pp/WordOrder.xml 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/Product.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -10,3 +10,6 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Ignore .idea files
**/.idea/
north-glass-erp/.idea/dataSources.local.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="dataSourceStorageLocal" created-in="IU-232.9559.62">
  <component name="dataSourceStorageLocal" created-in="IU-232.8660.185">
    <data-source name="@localhost [2]" uuid="165c5447-d19a-4aaf-af5f-cee92ae696c2">
      <database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0">
        <extra-name-characters>#@</extra-name-characters>
@@ -23,18 +23,14 @@
      <database-info product="MySQL" version="8.0.19" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.19" exact-driver-version="8.0">
        <extra-name-characters>#@</extra-name-characters>
        <identifier-quote-string>`</identifier-quote-string>
        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
      </database-info>
      <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
      <secret-storage>master_key</secret-storage>
      <user-name>root</user-name>
      <schema-mapping>
        <introspection-scope>
          <node kind="schema">
            <name qname="erp_user_info" />
            <name qname="mm" />
            <name qname="pp" />
            <name qname="sd" />
          </node>
          <node kind="schema" negative="1" />
        </introspection-scope>
      </schema-mapping>
    </data-source>
north-glass-erp/northglass-erp/package-lock.json
@@ -12,6 +12,7 @@
        "@vue-macros/reactivity-transform": "^0.3.23",
        "axios": "^1.5.1",
        "element-plus": "^2.4.0",
        "moment": "^2.30.1",
        "pinia": "^2.1.6",
        "pinia-plugin-persistedstate": "^3.2.0",
        "sortablejs": "^1.15.1",
@@ -1204,6 +1205,14 @@
        "node": ">= 0.6"
      }
    },
    "node_modules/moment": {
      "version": "2.30.1",
      "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
      "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
      "engines": {
        "node": "*"
      }
    },
    "node_modules/nanoid": {
      "version": "3.3.6",
      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
@@ -2323,6 +2332,11 @@
        "mime-db": "1.52.0"
      }
    },
    "moment": {
      "version": "2.30.1",
      "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
      "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
    },
    "nanoid": {
      "version": "3.3.6",
      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
north-glass-erp/northglass-erp/package.json
@@ -12,6 +12,7 @@
    "@vue-macros/reactivity-transform": "^0.3.23",
    "axios": "^1.5.1",
    "element-plus": "^2.4.0",
    "moment": "^2.30.1",
    "pinia": "^2.1.6",
    "pinia-plugin-persistedstate": "^3.2.0",
    "sortablejs": "^1.15.1",
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue
@@ -132,7 +132,6 @@
import dayjs from "dayjs";
import {VXETable} from "vxe-table";
import {ElMessage, ElMessageBox} from "element-plus";
import ERPMessage from '@/components/basic/ERPMessage.vue'
let router = useRouter()
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue
@@ -66,7 +66,6 @@
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'reworkTeams',width: 90, title: '返工班组', editRender: { name: 'input', attrs: { placeholder: '' } }},
    {field: 'reworkNumber',width: 120, title: '返工编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName', width: 120,title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
@@ -1,7 +1,18 @@
<script setup>
import {reactive, ref} from "vue";
import request from "@/utils/request"
import deepClone from "@/utils/deepClone"
import {ElDatePicker, ElMessage} from "element-plus"
import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
import {nextTick, onMounted, onUnmounted, reactive, ref, watch} from "vue"
import {Search} from "@element-plus/icons-vue"
import GlassType from "@/components/sd/product/GlassType.vue"
import {useRouter} from  'vue-router'
import Sortable from 'sortablejs'
import BasicTable from '@/components/basic/BasicTable.vue'
import {VXETable} from "vxe-table";
let productGlassTypeStore = useProductGlassTypeStore()
let router=useRouter()
const getTableRow = (row,type) =>{
  switch (type) {
@@ -17,6 +28,32 @@
  }
}
function padLeftZero(str) {
  return ('00' + str).substr(str.length)
}
//定义时间
const form = reactive({
  date1: '',
})
//定义转单状态
const optionVal = ref('0')
const options = [
  {
    value: '0',
    label: '已转',
  },
  {
    value: '1',
    label: '未转',
  },
]
//表尾求和
const sumNum = (list, field) => {
  let count = 0
@@ -26,20 +63,155 @@
  return count.toFixed(2)
}
//定义滚动条高度
let scrollTop = ref(null)
let scrollHeight = ref(null)
let clientHeight = ref(null)
const scrollEvnt = (row) => {
  // 内容高度
  scrollTop.value = row.$event.target.scrollTop
  scrollHeight.value = row.$event.target.scrollHeight
  clientHeight.value = row.$event.target.clientHeight
}
//筛选条件,有外键需要先定义明细里面的数据
let filterData = ref({
  order: {
    batch: ''
  },
    orderDetail: {
    productName: '',
    computeArea: '',
    quantity: '',
    computeGrossArea: '',
    perimeter: '',
    bendRadius: '',
    processingNote: ''
  }
})
//定义页面总页数
let pageTotal = ref('')
//定义数据返回结果
let produceList = ref([])
//定义当前页数
let pageNum = $ref(1)
let pageState = null
//获取七天前到当前时间
function getNowTime() {
  const start = new Date(new Date().getTime()- 3600 * 1000 * 24 * 7)
      .toISOString()
      .replace('T', ' ')
      .slice(0,10) //默认开始时间7天前
  const end = new Date(new Date().getTime())
      .toISOString()
      .replace('T', ' ')
      .slice(0,10)//默认结束时间当前时间
  return [start, end]
}
//第一次加载获取近七天时间和默认状态
form.date1=getNowTime()
let startTime = form.date1[0]
let endTime = form.date1[1]
let state = optionVal.value
//第一次加载数据
request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${state}`, filterData.value).then((res) => {
  if (res.code == 200) {
    console.log(res.data.data)
    pageTotal.value = res.data.total
    produceList = produceList.value.concat(deepClone(res.data.data))
    xGrid.value.reloadData(produceList)
    gridOptions.loading = false
  } else {
    ElMessage.warning(res.msg)
  }
})
//点击查询
const getWorkOrder = () => {
  let startTime = form.date1[0]
  let endTime = form.date1[1]
  let selectState=optionVal.value
  request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${selectState}`, filterData.value).then((res) => {
    if (res.code == 200) {
      pageTotal.value = res.data.total
      xGrid.value.loadData(res.data.data)
      gridOptions.loading = false
    } else {
      ElMessage.warning(res.msg)
    }
  })
}
/*使用筛选,后端获取数据*/
const changeFilterEvent = (event, option, $panel,) => {
  // 手动触发筛选
  $panel.changeOption(event, !!option.data, option)
}
function filterChanged(column) {
  gridOptions.loading = true
  //筛选条件发生变化条件发生变化
  let value = column.datas[0] != undefined ? column.datas[0] : ''
  value = value.trim()
  //判断是否存在外键
  if (column.property.indexOf('.') > -1) {
    const columnArr = column.property.split('.')
    filterData.value[columnArr[0]] = {
      [columnArr[1]]: value
    }
  } else {
    filterData.value[column.property] = value
  }
//获取选中时间和是否转单状态
  let startTime = form.date1[0]
  let endTime = form.date1[1]
  let selectState=optionVal.value
  request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${selectState}`, filterData.value).then((res) => {
    if(res.code==200){
      pageTotal.value=res.data.total
      produceList = deepClone(res.data.data)
      xGrid.value.loadData(produceList)
      gridOptions.loading=false
    }else{
      ElMessage.warning(res.msg)
    }
  })
}
/*后端返回结果多层嵌套展示*/
const hasDecimal = (value) => {
  const regex = /\./; // 定义正则表达式,查找小数点
  return regex.test(value); // 返回true/false
}
//子组件接收参数
const xGrid = ref()
const gridOptions = reactive({
  loading: true,
  border:  "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮
  id: 'CustomerList',
  rowConfig: {isCurrent: true, isHover: true, height: 60, useKey: true},//鼠标移动或选择高亮
  id: 'demo_1',
  showFooter: true,//显示脚
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true },//开启虚拟滚动
  scrollX: {enabled: true},
  scrollY: {enabled: true, gt: 0},//开启虚拟滚动
  showOverflow:true,
  columnConfig: {
    resizable: true,
@@ -60,18 +232,24 @@
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    {title: '操作', width: 110, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'salesOrderNo', title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'productionOrderNo', title: '生产订单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'batch', title: '批次', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'monolithicTotalArea', title: '单片总面积', sortable: true,showOverflow:"ellipsis"},
    {field: 'total', title: '总数量', sortable: true},
    {field: 'productTotalArea', title: '成品总面积', sortable: true},
    {field: 'perimeter', title: '周长', sortable: true,showOverflow:"ellipsis"},
    {field: 'radius', title: '半径', sortable: true},
    {field: 'createTime', title: '加工要求', sortable: true}
    {field: 'orderId', title: '销售单号', filters: [{data: ''}], slots: {filter: 'num1_filter'},},
    {
      field: 'productionId',
      title: '生产订单号',
      showOverflow: "ellipsis",
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'}
    },
    {field: 'order.batch', title: '批次', filters: [{data: ''}], slots: {filter: 'num1_filter'}},
    {field: 'orderDetail.productName', title: '产品名称', filters: [{data: ''}], slots: {filter: 'num1_filter'},},
    {field: 'orderDetail.computeArea', title: '单片总面积', showOverflow: "ellipsis"},
    {field: 'orderDetail.quantity', title: '总数量',},
    {field: 'orderDetail.computeGrossArea', title: '成品总面积',},
    {field: 'orderDetail.perimeter', title: '周长', showOverflow: "ellipsis"},
    {field: 'orderDetail.bendRadius', title: '半径',},
    {field: 'orderDetail.processingNote', title: '加工要求',}
  ],//表头按钮
  data: null,//表格数据
  toolbarConfig: {
    // buttons: [{
    //
@@ -82,102 +260,9 @@
    zoom: true,
    custom: true
  },
  data:  [
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201A',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201B',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231202',
      productionOrderNo: 'NG231202A',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231203',
      productionOrderNo: 'NG231203A',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231204',
      productionOrderNo: 'NG231204A',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231205',
      productionOrderNo: 'NG231205A',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231206',
      productionOrderNo: 'NG231206A',
      entryName: '信合春天里',
      batch: '23批',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      monolithicTotalArea: '509.78',
      total: '169',
      productTotalArea: '175.31',
      perimeter: '99.84',
      radius: '0',
      createTime: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['total','monolithicTotalArea','productTotalArea']
    let footList = ['', '', '']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
@@ -193,32 +278,6 @@
})
const form = reactive({
  name: '',
  region: '',
  date1: '',
  date2: '',
  delivery: false,
  type: [],
  resource: '',
  desc: '',
})
const value = ref('')
const options = [
  {
    value: 'Option1',
    label: 'Option1',
  },
  {
    value: 'Option2',
    label: 'Option2',
  },
  {
    value: 'Option3',
    label: 'Option3',
  },
]
</script>
@@ -229,12 +288,15 @@
        <el-date-picker
            v-model="form.date1"
            type="daterange"
            format="YYYY/MM/DD"
            value-format="YYYY-MM-DD"
            start-placeholder="开始时间"
            end-placeholder="结束时间"
            :default-time="defaultTime"
        />
        &nbsp;&nbsp;
        <el-select v-model="value" class="m-2" placeholder="是否转工单">
        <el-select :default-first-option="true" ref="getSelect" style="width: 120px" v-model="optionVal" class="m-2" placeholder="是否转工单">
          <el-option
              v-for="item in options"
              :key="item.value"
@@ -243,7 +305,11 @@
          />
        </el-select>
        &nbsp;&nbsp;
        <el-button type="primary">查询</el-button>
        <el-button
            @click="getWorkOrder"
            id="select"
            type="primary" :icon="Search">查询
        </el-button>
      </el-row>
    </div>
@@ -261,7 +327,9 @@
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
@@ -290,6 +358,7 @@
  width: 99%;
  height: 100%;
}
#selectForm {
  width: 50%;
  text-align: center;
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
New file
@@ -0,0 +1,23 @@
package com.example.erp.controller.pp;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.common.Result;
import com.example.erp.service.pp.FlowCardService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.sql.Date;
@RestController
@RequestMapping("/processCard")
public class ProcessCardController {
    @Autowired
    FlowCardService flowCardService;
    @PostMapping  ("/flowCard/{selectTime1}/{selectTime2}}")
    public Result DateProcess(
            @PathVariable Date selectTime1,
            @PathVariable Date selectTime2,
            @RequestBody FlowCard  flowCard){
        return Result.seccess(flowCardService.selectProcessCard(selectTime1,selectTime2,flowCard));
    }
}
north-glass-erp/src/main/java/com/example/erp/controller/pp/WorkOrderController.java
New file
@@ -0,0 +1,25 @@
package com.example.erp.controller.pp;
import com.example.erp.common.Result;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.service.pp.WorkOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.sql.Date;
@RestController
@RequestMapping("/workOrder")
public class WorkOrderController {
    @Autowired
    WorkOrderService workOrderService;
    @PostMapping  ("/orderGlassDetail/{selectTime1}/{selectTime2}/{state}")
    public Result DateWork(
            @PathVariable Date selectTime1,
            @PathVariable Date selectTime2,
            @PathVariable Integer state,
            @RequestBody OrderGlassDetail orderGlassDetail){
        return Result.seccess(workOrderService.defaultDateWork(selectTime1,selectTime2,state,orderGlassDetail));
    }
}
north-glass-erp/src/main/java/com/example/erp/entity/pp/BaseBom.java
@@ -2,9 +2,10 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDate;
@Data
public class BaseBom {
    @TableId(type = IdType.AUTO)
    //自增id
north-glass-erp/src/main/java/com/example/erp/entity/pp/Device.java
@@ -1,7 +1,9 @@
package com.example.erp.entity.pp;
import java.time.LocalDate;
import lombok.Data;
import java.time.LocalDate;
@Data
public class Device {
    //自增ID
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/pp/DeviceMaintenance.java
@@ -1,7 +1,9 @@
package com.example.erp.entity.pp;
import java.time.LocalDate;
import lombok.Data;
import java.time.LocalDate;
@Data
public class DeviceMaintenance {
    //自增id
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/pp/FlowCard.java
@@ -5,9 +5,10 @@
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.sd.OrderGlassDetail;
import lombok.Data;
import java.time.LocalDate;
@Data
public class FlowCard {
    @TableId(type = IdType.AUTO)
    //自增id
@@ -22,6 +23,8 @@
    private Integer orderNumber;
    //工艺确认序号
    private Integer technologyNumber;
    //分架数量
    private Integer binningQuantity;
    //已优化数量
    private Integer optimizeQuantity;
    //排版状态
north-glass-erp/src/main/java/com/example/erp/entity/pp/OrderBom.java
@@ -1,7 +1,9 @@
package com.example.erp.entity.pp;
import java.time.LocalDate;
import lombok.Data;
import java.time.LocalDate;
@Data
public class OrderBom {
    //自增ID
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWork.java
@@ -2,9 +2,10 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDate;
@Data
public class ReportingWork {
    @TableId(type = IdType.AUTO)
    //自增id
north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java
@@ -1,5 +1,8 @@
package com.example.erp.entity.pp;
import lombok.Data;
@Data
public class ReportingWorkDetail {
    //自增ID
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/pp/Rework.java
@@ -1,7 +1,9 @@
package com.example.erp.entity.pp;
import java.time.LocalDate;
import lombok.Data;
import java.time.LocalDate;
@Data
public class Rework {
    //自增id
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/pp/SetupBom.java
@@ -1,7 +1,9 @@
package com.example.erp.entity.pp;
import java.time.LocalDate;
import lombok.Data;
import java.time.LocalDate;
@Data
public class SetupBom {
    //自增ID
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/pp/WorkprogressMonthlySettlement.java
@@ -1,7 +1,9 @@
package com.example.erp.entity.pp;
import java.time.LocalDate;
import lombok.Data;
import java.time.LocalDate;
@Data
public class WorkprogressMonthlySettlement {
    //自增ID
    private Integer id;
north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderGlassDetail.java
@@ -11,6 +11,8 @@
    @TableId(type = IdType.AUTO)
    private Long id;
    private String orderId;
    private String orderNumber;
    private Integer technologyNumber;
    private String glassAddress;
    private String glassChild;
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
New file
@@ -0,0 +1,13 @@
package com.example.erp.mapper.pp;
import com.example.erp.entity.pp.FlowCard;
import org.apache.ibatis.annotations.Mapper;
import java.sql.Date;
import java.util.List;
@Mapper
public interface FlowCardMapper {
    List<FlowCard> selectFlowCard(Date selectTime1, Date selectTime2,FlowCard flowCard);
  //  Integer getPageTotal(Integer offset, Integer pageSize, String glassTypeId, Product product);
}
north-glass-erp/src/main/java/com/example/erp/mapper/pp/WorkOrderMapper.java
New file
@@ -0,0 +1,16 @@
package com.example.erp.mapper.pp;
import com.example.erp.entity.sd.Product;
import com.example.erp.entity.sd.OrderGlassDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.sql.Date;
import java.util.List;
@Mapper
public interface WorkOrderMapper {
    List<OrderGlassDetail> selectWordOrder(Date selectTime1, Date selectTime2, Integer state,OrderGlassDetail orderGlassDetail);
  //  Integer getPageTotal(Integer offset, Integer pageSize, String glassTypeId, Product product);
}
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
New file
@@ -0,0 +1,30 @@
package com.example.erp.service.pp;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.mapper.pp.FlowCardMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.util.HashMap;
import java.util.Map;
@Service
@DS("pp")
public class FlowCardService {
    @Autowired
     FlowCardMapper flowCardMapper;
    public Map<String, Object>  selectProcessCard(Date selectTime1, Date selectTime2, FlowCard flowCard) {
        Map<String, Object> map = new HashMap<>();
       // System.out.println(flowCardMapper.selectFlowCard( selectTime1,selectTime2, flowCard));
        map.put("data", flowCardMapper.selectFlowCard( selectTime1,selectTime2, flowCard));
        //   map.put("total", productMapper.getPageTotal(offset, pageSize, glassTypeId, product));
        return map;
    }
}
north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
New file
@@ -0,0 +1,29 @@
package com.example.erp.service.pp;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.mapper.pp.WorkOrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.util.HashMap;
import java.util.Map;
@Service
@DS("sd")
public class WorkOrderService {
    @Autowired
    WorkOrderMapper workOrderMapper;
    public Map<String, Object> defaultDateWork( Date selectTime1,Date selectTime2,Integer state, OrderGlassDetail orderGlassDetail) {
       Map<String, Object> map = new HashMap<>();
       // System.out.println(workOrderMapper.selectWordOrder( selectTime1,selectTime2,state, orderGlassDetail));
        map.put("data", workOrderMapper.selectWordOrder( selectTime1,selectTime2,state, orderGlassDetail));
     //   map.put("total", productMapper.getPageTotal(offset, pageSize, glassTypeId, product));
        return map;
    }
}
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
New file
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.pp.FlowCardMapper">
    <resultMap id="flowCardMap" type="com.example.erp.entity.pp.FlowCard">
        <result column="order_id" property="orderId"/>
        <result column="production_id" property="productionId"/>
        <result column="splitting_status" property="splittingStatus"/>
        <result column="create_time" property="createTime"/>
        <!--接收其他外键实体类数据-->
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="batch" property="batch"/>
        </association>
        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
            <result column="product_name" property="productName"/>
            <result column="compute_area" property="computeArea"/>
            <result column="quantity" property="quantity"/>
            <result column="compute_gross_area" property="computeGrossArea"/>
            <result column="perimeter" property="perimeter"/>
            <result column="bend_radius" property="bendRadius"/>
            <result column="processing_note" property="processingNote"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
    </resultMap>
    <select id="selectFlowCard" resultMap="flowCardMap">
        select
        a.order_id,
        a.production_id,
        c.batch,
        b.product_name,
        b.compute_area,
        b.quantity,
        b.compute_gross_area,
        b.perimeter,
        b.bend_radius,
        b.processing_note
        from order_glass_detail as a
        LEFT JOIN order_detail as b on a.order_id=b.order_id and a.order_number=b.order_number LEFT JOIN
        `order` as c on a.order_id=c.order_id
        <where>
            <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
                and a.order_id regexp #{orderGlassDetail.orderId}
            </if>
            <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
                and a.production_id regexp #{orderGlassDetail.productionId}
            </if>
            <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
                and c.batch regexp #{orderGlassDetail.order.batch}
            </if>
            <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
                and b.product_name regexp #{orderGlassDetail.orderDetail.productName}
            </if>
            <if test="orderGlassDetail.splittingStatus=0 " >
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.splittingStatus=1">
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.createTime != ''">
                and DATE_FORMAT((a.create_time),'%Y-%m-%d')  BETWEEN #{ selectTime1 } AND #{ selectTime2 }
            </if>
        </where>
        group by a.production_id,a.order_number
        order by a.id desc
        ;
    </select>
    <!--    <select id="getPageTotal" >-->
    <!--        select-->
    <!--        CEILING(count(a.id)/#{pageSize})-->
    <!--        from product as a-->
    <!--        left join basic_glass_type bgt on bgt.type_id = a.type_id-->
    <!--        <where>-->
    <!--            <if test="glassTypeId != null and glassTypeId != ''">-->
    <!--                and a.type_id regexp #{glassTypeId}-->
    <!--            </if>-->
    <!--            <if test="product.id != null and product.id != ''">-->
    <!--                and a.id regexp #{product.id}-->
    <!--            </if>-->
    <!--            <if test="product.productName != null and product.productName != ''">-->
    <!--                and a.product_name regexp #{product.productName}-->
    <!--            </if>-->
    <!--            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">-->
    <!--                and bgt.type_name regexp #{product.basicGlassType.typeName}-->
    <!--            </if>-->
    <!--            <if test="product.query != null and product.query != ''">-->
    <!--                and a.query regexp #{product.query}-->
    <!--            </if>-->
    <!--            <if test="product.creator != null and product.creator != ''">-->
    <!--                and a.creator regexp #{product.creator}-->
    <!--            </if>-->
    <!--            <if test="product.createTime != null and product.createTime != ''">-->
    <!--                and date(a.create_time) regexp #{product.createTime}-->
    <!--            </if>-->
    <!--        </where>-->
    <!--        order by a.id desc-->
    <!--        ;-->
    <!--    </select>-->
</mapper>
north-glass-erp/src/main/resources/mapper/pp/WordOrder.xml
New file
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.pp.WorkOrderMapper">
    <resultMap id="wordOrderMap" type="com.example.erp.entity.sd.OrderGlassDetail">
        <result column="order_id" property="orderId"/>
        <result column="production_id" property="productionId"/>
        <result column="splitting_status" property="splittingStatus"/>
        <result column="create_time" property="createTime"/>
        <!--接收其他外键实体类数据-->
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="batch" property="batch"/>
        </association>
        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
            <result column="product_name" property="productName"/>
            <result column="compute_area" property="computeArea"/>
            <result column="quantity" property="quantity"/>
            <result column="compute_gross_area" property="computeGrossArea"/>
            <result column="perimeter" property="perimeter"/>
            <result column="bend_radius" property="bendRadius"/>
            <result column="processing_note" property="processingNote"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
    </resultMap>
    <select id="selectWordOrder" resultMap="wordOrderMap">
        select
        a.order_id,
        a.production_id,
        c.batch,
        b.product_name,
        b.compute_area,
        b.quantity,
        b.compute_gross_area,
        b.perimeter,
        b.bend_radius,
        b.processing_note
        from order_glass_detail as a
        LEFT JOIN order_detail as b on a.order_id=b.order_id and a.order_number=b.order_number LEFT JOIN
        `order` as c on a.order_id=c.order_id
        <where>
            <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
                and a.order_id regexp #{orderGlassDetail.orderId}
            </if>
            <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
                and a.production_id regexp #{orderGlassDetail.productionId}
            </if>
            <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
                and c.batch regexp #{orderGlassDetail.order.batch}
            </if>
            <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
                and b.product_name regexp #{orderGlassDetail.orderDetail.productName}
            </if>
            <if test="orderGlassDetail.splittingStatus=0 " >
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.splittingStatus=1">
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.createTime != ''">
                and DATE_FORMAT((a.create_time),'%Y-%m-%d')  BETWEEN #{ selectTime1 } AND #{ selectTime2 }
            </if>
        </where>
        group by a.production_id,a.order_number
        order by a.id desc
        ;
    </select>
    <!--    <select id="getPageTotal" >-->
    <!--        select-->
    <!--        CEILING(count(a.id)/#{pageSize})-->
    <!--        from product as a-->
    <!--        left join basic_glass_type bgt on bgt.type_id = a.type_id-->
    <!--        <where>-->
    <!--            <if test="glassTypeId != null and glassTypeId != ''">-->
    <!--                and a.type_id regexp #{glassTypeId}-->
    <!--            </if>-->
    <!--            <if test="product.id != null and product.id != ''">-->
    <!--                and a.id regexp #{product.id}-->
    <!--            </if>-->
    <!--            <if test="product.productName != null and product.productName != ''">-->
    <!--                and a.product_name regexp #{product.productName}-->
    <!--            </if>-->
    <!--            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">-->
    <!--                and bgt.type_name regexp #{product.basicGlassType.typeName}-->
    <!--            </if>-->
    <!--            <if test="product.query != null and product.query != ''">-->
    <!--                and a.query regexp #{product.query}-->
    <!--            </if>-->
    <!--            <if test="product.creator != null and product.creator != ''">-->
    <!--                and a.creator regexp #{product.creator}-->
    <!--            </if>-->
    <!--            <if test="product.createTime != null and product.createTime != ''">-->
    <!--                and date(a.create_time) regexp #{product.createTime}-->
    <!--            </if>-->
    <!--        </where>-->
    <!--        order by a.id desc-->
    <!--        ;-->
    <!--    </select>-->
</mapper>
north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml
File was deleted
north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml
File was deleted
north-glass-erp/target/classes/mapper/pp/FolwCard.xml
New file
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.pp.FlowCardMapper">
    <resultMap id="flowCardMap" type="com.example.erp.entity.pp.FlowCard">
        <result column="order_id" property="orderId"/>
        <result column="production_id" property="productionId"/>
        <result column="splitting_status" property="splittingStatus"/>
        <result column="create_time" property="createTime"/>
        <!--接收其他外键实体类数据-->
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="batch" property="batch"/>
        </association>
        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
            <result column="product_name" property="productName"/>
            <result column="compute_area" property="computeArea"/>
            <result column="quantity" property="quantity"/>
            <result column="compute_gross_area" property="computeGrossArea"/>
            <result column="perimeter" property="perimeter"/>
            <result column="bend_radius" property="bendRadius"/>
            <result column="processing_note" property="processingNote"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
    </resultMap>
    <select id="selectFlowCard" resultMap="flowCardMap">
        select
        a.order_id,
        a.production_id,
        c.batch,
        b.product_name,
        b.compute_area,
        b.quantity,
        b.compute_gross_area,
        b.perimeter,
        b.bend_radius,
        b.processing_note
        from order_glass_detail as a
        LEFT JOIN order_detail as b on a.order_id=b.order_id and a.order_number=b.order_number LEFT JOIN
        `order` as c on a.order_id=c.order_id
        <where>
            <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
                and a.order_id regexp #{orderGlassDetail.orderId}
            </if>
            <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
                and a.production_id regexp #{orderGlassDetail.productionId}
            </if>
            <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
                and c.batch regexp #{orderGlassDetail.order.batch}
            </if>
            <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
                and b.product_name regexp #{orderGlassDetail.orderDetail.productName}
            </if>
            <if test="orderGlassDetail.splittingStatus=0 " >
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.splittingStatus=1">
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.createTime != ''">
                and DATE_FORMAT((a.create_time),'%Y-%m-%d')  BETWEEN #{ selectTime1 } AND #{ selectTime2 }
            </if>
        </where>
        group by a.production_id,a.order_number
        order by a.id desc
        ;
    </select>
    <!--    <select id="getPageTotal" >-->
    <!--        select-->
    <!--        CEILING(count(a.id)/#{pageSize})-->
    <!--        from product as a-->
    <!--        left join basic_glass_type bgt on bgt.type_id = a.type_id-->
    <!--        <where>-->
    <!--            <if test="glassTypeId != null and glassTypeId != ''">-->
    <!--                and a.type_id regexp #{glassTypeId}-->
    <!--            </if>-->
    <!--            <if test="product.id != null and product.id != ''">-->
    <!--                and a.id regexp #{product.id}-->
    <!--            </if>-->
    <!--            <if test="product.productName != null and product.productName != ''">-->
    <!--                and a.product_name regexp #{product.productName}-->
    <!--            </if>-->
    <!--            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">-->
    <!--                and bgt.type_name regexp #{product.basicGlassType.typeName}-->
    <!--            </if>-->
    <!--            <if test="product.query != null and product.query != ''">-->
    <!--                and a.query regexp #{product.query}-->
    <!--            </if>-->
    <!--            <if test="product.creator != null and product.creator != ''">-->
    <!--                and a.creator regexp #{product.creator}-->
    <!--            </if>-->
    <!--            <if test="product.createTime != null and product.createTime != ''">-->
    <!--                and date(a.create_time) regexp #{product.createTime}-->
    <!--            </if>-->
    <!--        </where>-->
    <!--        order by a.id desc-->
    <!--        ;-->
    <!--    </select>-->
</mapper>
north-glass-erp/target/classes/mapper/pp/WordOrder.xml
New file
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.pp.WorkOrderMapper">
    <resultMap id="wordOrderMap" type="com.example.erp.entity.sd.OrderGlassDetail">
        <result column="order_id" property="orderId"/>
        <result column="production_id" property="productionId"/>
        <result column="splitting_status" property="splittingStatus"/>
        <result column="create_time" property="createTime"/>
        <!--接收其他外键实体类数据-->
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="batch" property="batch"/>
        </association>
        <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
            <result column="product_name" property="productName"/>
            <result column="compute_area" property="computeArea"/>
            <result column="quantity" property="quantity"/>
            <result column="compute_gross_area" property="computeGrossArea"/>
            <result column="perimeter" property="perimeter"/>
            <result column="bend_radius" property="bendRadius"/>
            <result column="processing_note" property="processingNote"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
    </resultMap>
    <select id="selectWordOrder" resultMap="wordOrderMap">
        select
        a.order_id,
        a.production_id,
        c.batch,
        b.product_name,
        b.compute_area,
        b.quantity,
        b.compute_gross_area,
        b.perimeter,
        b.bend_radius,
        b.processing_note
        from order_glass_detail as a
        LEFT JOIN order_detail as b on a.order_id=b.order_id and a.order_number=b.order_number LEFT JOIN
        `order` as c on a.order_id=c.order_id
        <where>
            <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''">
                and a.order_id regexp #{orderGlassDetail.orderId}
            </if>
            <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''">
                and a.production_id regexp #{orderGlassDetail.productionId}
            </if>
            <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''">
                and c.batch regexp #{orderGlassDetail.order.batch}
            </if>
            <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''">
                and b.product_name regexp #{orderGlassDetail.orderDetail.productName}
            </if>
            <if test="orderGlassDetail.splittingStatus=0 " >
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.splittingStatus=1">
                and a.splitting_status regexp #{state}
            </if>
            <if test="orderGlassDetail.createTime != ''">
                and DATE_FORMAT((a.create_time),'%Y-%m-%d')  BETWEEN #{ selectTime1 } AND #{ selectTime2 }
            </if>
        </where>
        group by a.production_id,a.order_number
        order by a.id desc
        ;
    </select>
    <!--    <select id="getPageTotal" >-->
    <!--        select-->
    <!--        CEILING(count(a.id)/#{pageSize})-->
    <!--        from product as a-->
    <!--        left join basic_glass_type bgt on bgt.type_id = a.type_id-->
    <!--        <where>-->
    <!--            <if test="glassTypeId != null and glassTypeId != ''">-->
    <!--                and a.type_id regexp #{glassTypeId}-->
    <!--            </if>-->
    <!--            <if test="product.id != null and product.id != ''">-->
    <!--                and a.id regexp #{product.id}-->
    <!--            </if>-->
    <!--            <if test="product.productName != null and product.productName != ''">-->
    <!--                and a.product_name regexp #{product.productName}-->
    <!--            </if>-->
    <!--            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">-->
    <!--                and bgt.type_name regexp #{product.basicGlassType.typeName}-->
    <!--            </if>-->
    <!--            <if test="product.query != null and product.query != ''">-->
    <!--                and a.query regexp #{product.query}-->
    <!--            </if>-->
    <!--            <if test="product.creator != null and product.creator != ''">-->
    <!--                and a.creator regexp #{product.creator}-->
    <!--            </if>-->
    <!--            <if test="product.createTime != null and product.createTime != ''">-->
    <!--                and date(a.create_time) regexp #{product.createTime}-->
    <!--            </if>-->
    <!--        </where>-->
    <!--        order by a.id desc-->
    <!--        ;-->
    <!--    </select>-->
</mapper>
north-glass-erp/target/classes/mapper/sd/Product.xml
@@ -15,10 +15,12 @@
        <result column="creator" property="creator"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <!--接收其他外键实体类数据-->
        <association property="basicGlassType" javaType="com.example.erp.entity.sd.BasicGlassType">
            <result column="type_id" property="typeID"/>
            <result column="type_name" property="typeName"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->