廖井涛
2024-08-04 1ae5f2198b70aba54c49f1752e02dfe7b9d5a2e9
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
11个文件已修改
503 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintRepairCustomLabel.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintRepairCustomLabelSemi.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/Replenish/PrintReplenishFlowCard.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue 110 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 339 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -121,10 +121,7 @@
            }
          }
          //处理同配置打印
          handleGetQRCode()
          handleSummary()
        } else {
@@ -175,7 +172,7 @@
      totalArea += collection.total_area * 1;
      totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
      //每个序号周长
      collection.perimeter = (collection.width * 2 + collection.height * 2) * collection.quantity / 1000
      collection.perimeter = parseFloat(((collection.width * 2 + collection.height * 2) * collection.quantity / 1000).toFixed(3))
    });
    // 输出每个集合中的总数量
    produceList.value[i].detail[0].quantity = totalQuantity
@@ -318,13 +315,13 @@
      </tr>
      <tr v-for="(itemtextarea,index) in item.detail" :key="index">
        <td v-if="like='1'" colspan="4" rowspan="6" style="width: 480px;height: 100px ">
          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{company.printLabel.printFlowCard.processingNote(itemtextarea)}}</textarea>
          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
          </div>
        </td>
        <td v-else colspan="6" rowspan="2" style="width: 480px;height: 100px ">
          <!--          <div style="width: 100%;height: 100%"><textarea style="height: 99%;width: 99%;font-size: 11px">{{ itemtextarea.processing_note }}</textarea>-->
          <!--          </div>-->
           <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{company.printLabel.printFlowCard.processingNote(itemtextarea)}}</textarea>
           <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
           </div>
        </td>
        <td>完工签名</td>
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
@@ -137,8 +137,7 @@
          }
          //处理同配置打印
          handleSummary()
          handleGetQRCode()
        } else {
          ElMessage.warning(res.msg)
north-glass-erp/northglass-erp/src/components/pp/PrintRepairCustomLabel.vue
@@ -38,7 +38,7 @@
data.value.printList = JSON.parse(props.list)
onMounted(() => {
      request.post(`/Replenish/getSelectPrintCustomLabel/${type}`, data.value).then((res) => {
      request.post(`/Replenish/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => {
        if (res.code == 200) {
          produceList.value = deepClone(res.data.title)
north-glass-erp/northglass-erp/src/components/pp/PrintRepairCustomLabelSemi.vue
@@ -39,7 +39,7 @@
data.value.printList = JSON.parse(props.list)
onMounted(() => {
      request.post(`/Replenish/getSelectPrintCustomLabel/${type}`, data.value).then((res) => {
      request.post(`/Replenish/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => {
        if (res.code == 200) {
          produceList.value = deepClone(res.data.title)
north-glass-erp/northglass-erp/src/views/pp/Replenish/PrintReplenishFlowCard.vue
@@ -113,7 +113,7 @@
//标签类型
let  filteredOptions=[]
const lableType = ref('1')
const lableType = ref('2')
const lableTypeOptions = [
  {
    value: '1',
@@ -160,7 +160,7 @@
//打印类型
const printType = ref()
const printType = ref('小片标签')
//定义接收加载表头下拉数据
const titleSelectJson = ref({
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -59,7 +59,6 @@
})
const getTableRow = (row,type) => {
  switch (type) {
    case 'edit' : {
@@ -147,7 +146,6 @@
  id: 'child',
})
const printContentLabel = ref({
@@ -276,19 +274,37 @@
      title:  t('order.project'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,width: 120
      filterMethod: filterChanged,
      width: 120
    },
    {field: 'technology_number', title: t('processCard.technologyNumber'), showOverflow: "ellipsis",width: 90},
    {
      field: 'technology_number',
      title: t('processCard.technologyNumber'),
      showOverflow: "ellipsis",
      width: 110,
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,
    },
    {field: 'glass_address', title: t('processCard.glassAddress'),width: 90},
    {field: 'quantity', title:  t('order.quantity'),width: 90},
    {field: 'total_area', title:  t('order.area'),width: 90},
    {field: 'product_name', title: t('order.product'),width: 120},
    {field: 'glass_child', title: t('reportingWorks.glassChild'),width: 120,filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged},
    {
      field: 'glass_child',
      title: t('reportingWorks.glassChild'),
      width: 120,
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
    },
    {field: 'founder', title: t('processCard.founder'),width: 120},
    {field: 'splitFrame_time', title: t('processCard.splitFrameTime'),width: 120},
    {field: 'process', title: t('craft.process'),filters: [{data: ''}],
    {
      field: 'process', title: t('craft.process'), filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,width: 160},
      filterMethod: filterChanged, width: 160
    },
    {
      field: 'print_status',
      title: t('processCard.printStatus'),
@@ -304,7 +320,7 @@
      {code: 'customLabel', name: t('processCard.customLabelPrinting'), status: 'primary'},
      {code: 'printLabel', name: t('processCard.labelPrinting'), status: 'primary'},
      {code: 'printLabel2', name: t('processCard.labelPrinting2'), status: 'primary'},
      {code: 'printLike', name: "同配置打印", status: 'primary'},
      // {code: 'printLike', name: "同配置打印", status: 'primary'},
    ],
    // import: false,
    // export: true,
@@ -399,7 +415,10 @@
              id += selectRecords[i].id + "|"
            }
          }
          router.push({path: '/main/processCard/PrintCustomLabelSemi2', query: {printList: JSON.stringify(selectRecords)}})
          router.push({
            path: '/main/processCard/PrintCustomLabelSemi2',
            query: {printList: JSON.stringify(selectRecords)}
          })
          break
        }
@@ -458,11 +477,18 @@
            if(company.label===1){
              dialogTableVisibleLabel.value=true
            }else if(company.label===2){
              router.push({path: '/main/processCard/PrintCustomLabel', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes,  printList: JSON.stringify(selectRecords)}})
              router.push({
                path: '/main/processCard/PrintCustomLabel',
                query: {
                  type: type,
                  faceOrientation: faceOrientation,
                  lableType: lableTypes,
                  printList: JSON.stringify(selectRecords)
                }
              })
            }
          }
          else if (lableTypes==2) {
          } else if (lableTypes == 2) {
            labelRow.value.list=JSON.stringify(selectRecords)
            labelRow.value.faceOrientation=faceOrientation
            labelRow.value.type=type
@@ -470,11 +496,26 @@
            if(company.label===1){
              dialogTableVisibleCustomLabel.value=true
            }else if(company.label===2){
              router.push({path: '/main/processCard/PrintCustomLabelSemi', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes,  printList: JSON.stringify(selectRecords)}})
              router.push({
                path: '/main/processCard/PrintCustomLabelSemi',
                query: {
                  type: type,
                  faceOrientation: faceOrientation,
                  lableType: lableTypes,
                  printList: JSON.stringify(selectRecords)
            }
          }else
            if (lableTypes==3) {
            router.push({path: '/main/processCard/PrintLabel1', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes,  printList: JSON.stringify(selectRecords)}})
              })
            }
          } else if (lableTypes == 3) {
            router.push({
              path: '/main/processCard/PrintLabel1',
              query: {
                type: type,
                faceOrientation: faceOrientation,
                lableType: lableTypes,
                printList: JSON.stringify(selectRecords)
              }
            })
          }
@@ -550,10 +591,12 @@
<template>
  <div class="main-div-customer">
    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>
    <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
              style="width: 90px"></el-input>
    &nbsp;
    <label>{{$t('processCard.labelStyle')}}:</label>
    <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
    <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
               style="width: 120px">
      <el-option
          v-for="item in titleSelectJson['dataType']"
          :key="item.id"
@@ -562,7 +605,7 @@
      />
    </el-select>
    &nbsp;
    <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
    <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
      <el-option
          v-for="item in filteredOptions"
          :key="item.value"
@@ -571,7 +614,8 @@
      />
    </el-select>
    &nbsp;
    <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
    <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
               filterable style="width: 140px">
      <el-option
          v-for="item in stateOptions"
          :key="item.value"
@@ -604,10 +648,10 @@
      <!--左边固定显示的插槽-->
<!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')"
                   link
        <el-button link
                   size="small"
                   type="primary"
                   size="small">
                   @click="getTableRow(row,'edit')">
          {{ $t('basicData.edit') }}
        </el-button>
@@ -616,8 +660,8 @@
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="text"
                   v-model="option.data"
            <input v-model="option.data"
                   type="text"
                   @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
@@ -633,13 +677,13 @@
        destroy-on-close
        style="width: 75%;height:75% ">
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContent" @click="printNumber"  :icon="Printer" circle />
        <el-button v-print="printContent" :icon="Printer" circle @click="printNumber"/>
      </template>
      <print-process
          id="child"
          :printLike="printRow.like"
          :printList="printRow.list"
          :printMerge="printRow.printMergeVal"
          :printLike="printRow.like"
          style="width: 100%;height: 100%" />
    </el-dialog>
@@ -647,17 +691,17 @@
    <el-dialog
        id="sizeCustom"
        v-model="dialogTableVisibleLabel"
        destroy-on-close
        :title="$t('processCard.printLabel')"
        destroy-on-close
        style="width: 80%;height:75% ">
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContentLabel"   :icon="Printer" circle />
      </template>
      <print-custom-label id="childLabel"
                          :list="labelRow.list"
                          :faceOrientation="labelRow.faceOrientation"
                          :type="labelRow.type"
                          :lableType="labelRow.lableType"
                          :list="labelRow.list"
                          :type="labelRow.type"
                  style="width: 100%;height: 100%" />
    </el-dialog>
@@ -665,17 +709,17 @@
    <el-dialog
        id="sizeCustomSemi"
        v-model="dialogTableVisibleCustomLabel"
        destroy-on-close
        :title="$t('processCard.labelStyle')"
        destroy-on-close
        style="width: 80%;height:75% ">
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContentLabelSemi"   :icon="Printer" circle />
      </template>
      <print-custom-label-semi id="childLabelSemi"
                               :list="labelRow.list"
                               :faceOrientation="labelRow.faceOrientation"
                               :type="labelRow.type"
                               :lableType="labelRow.lableType"
                               :list="labelRow.list"
                               :type="labelRow.type"
                  style="width: 100%;height: 100%" />
    </el-dialog>
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
@@ -12,15 +12,25 @@
import TagStyleDesigner from "@/components/pp/TagStyleDesigner.vue"
import OrderSortDetail from '@/components/pp/OrderSortDetail.vue'
import companyInfo from "@/stores/sd/companyInfo"
import useUserInfoStore from "@/stores/userInfo";
//语言获取
const {t} = useI18n()
const company = companyInfo()
let router = useRouter()
const printVisible= ref(false)
const userStore = useUserInfoStore()
const userId = userStore.user.userId
let inquiryMode = company.printLabel.getSelectFlowCard;
const checkedValue = ref(inquiryMode)
const checkedValue = ref("")
if (userId==="A071" || userId==="A107"){
   checkedValue.value = ref(2)
}
else {
   checkedValue.value = ref(inquiryMode)
}
//排序
let editRow = ref({
  orderId:null,
@@ -257,7 +267,7 @@
            }
          }
          let array = orderIdList.split('|');
         router.push({path: '/main/processCard/PrintFlowCard', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value}})
         router.push({path: '/main/processCard/PrintFlowCard', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value}})
          return;
        }
@@ -291,7 +301,7 @@
            :icon="Search"
            type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
        </el-button>
        <vxe-checkbox style="margin-top:6px;margin-left:10px " v-if="!(checkedValue === 2 && inquiryMode === 2)" v-model="checkedValue"  content="合并" :checked-value="1" :unchecked-value="2" ></vxe-checkbox>
        <vxe-checkbox style="margin-top:6px;margin-left:10px " v-if="!(checkedValue.value === 2 && inquiryMode === 2)" v-model="checkedValue.value"  content="合并" :checked-value="1" :unchecked-value="2" ></vxe-checkbox>
      </el-row>
    </div>
    <vxe-grid
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java
@@ -70,10 +70,11 @@
    }
    @ApiOperation("补片打印自定义标签数据查询接口")
    @PostMapping("/getSelectPrintCustomLabel/{type}")
    @PostMapping("/getSelectPrintCustomLabel/{type}/{lableType}")
    public Result getSelectPrintCustomLabel( @PathVariable String type,
                                             @PathVariable Integer lableType,
                                             @RequestBody Map<String, Object> object) {
        return Result.seccess(replenishService.getSelectPrintCustomLabelSv(type,object));
        return Result.seccess(replenishService.getSelectPrintCustomLabelSv(type,lableType,object));
    }
}
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -141,4 +141,6 @@
    List<Map<String, String>> selectPrintNotMp(String orderId);
    List<Map<String, String>> selectPrintNotMergeMp(String orderId);
    List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, Integer technologyNumber, String reportingWorkId);
}
north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
@@ -191,16 +191,23 @@
        return map;
    }
    public Map<String, Object> getSelectPrintCustomLabelSv(String type, Map<String, Object> object) {
    public Map<String, Object> getSelectPrintCustomLabelSv(String type, Integer lableType, Map<String, Object> object) {
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
        if (!flowCardList.isEmpty()) {
            for (FlowCard flowCard : flowCardList) {
                if (lableType != 2){
                Map<String, Object> itemmap = new HashMap<>();
                itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId()));
                list.add(itemmap);
                }
                else{
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId()));
                    list.add(itemmap);
                }
            }
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -256,20 +256,16 @@
                 left join sd.order_glass_detail as ogd
                           on od.order_id = ogd.order_id and od.order_number = ogd.order_number
                 left join sd.product as p on od.product_name = p.product_name
                 left join (
            SELECT
                order_id,
                 left join (SELECT order_id,
                order_number,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S01' )) AS S01,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S02' )) AS S02,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S03' )) AS S03,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S04' )) AS S04,
                JSON_UNQUOTE( JSON_EXTRACT( other_columns, '$.S05' )) AS S05
            FROM
                sd.order_detail
            WHERE
                order_id = #{orderId}
        ) as ods on ods.order_id=od.order_id and ods.order_number=od.order_number
                            FROM sd.order_detail
                            WHERE order_id = #{orderId}) as ods
                           on ods.order_id = od.order_id and ods.order_number = od.order_number
        where od.order_id = #{orderId}
          and ogd.production_id = #{productionId}
          and ogd.splitting_status = 0
@@ -450,7 +446,14 @@
    </delete>
    <select id="selectPrintFlowCardMp">
        select order_id,project,customer_name,quantity,area,order_type,pack_type,batch
        select order_id,
               project,
               customer_name,
               quantity,
               area,
               order_type,
               pack_type,
               batch
        from sd.order
        where create_time between #{selectTime1} and #{selectTime2}
          and position(#{orderId} in order_id)
@@ -468,7 +471,8 @@
    </select>
    <select id="selectPrintMp">
        select * from ((select fc.id,
        select *
        from ((select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
@@ -489,19 +493,18 @@
                                 left join sd.order_glass_detail as ogd
                                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                                              ogd.technology_number = fc.technology_number
                                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                        left join sd.order_detail as od
                                  on od.order_id = fc.order_id and od.order_number = fc.order_number
                                 left join sd.`order` as o on o.order_id = fc.order_id
                                 left join (
                            select
                                ogds.order_id,
                        left join (select ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                ogds.glass_child AS concatenated_glass_child,
                                process AS processed_part
                            from sd.order_glass_detail as ogds
                            where ogds.order_id = #{orderId}
                            GROUP BY order_id, order_number,ogds.glass_child
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                                   GROUP BY order_id, order_number, ogds.glass_child) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id,ogdss.concatenated_glass_child
                        order by fc.process_id,ogdss.technology_number)
@@ -529,20 +532,20 @@
                                 left join sd.order_glass_detail as ogd
                                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                                              ogd.technology_number = fc.technology_number
                                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                        left join sd.order_detail as od
                                  on od.order_id = fc.order_id and od.order_number = fc.order_number
                                 left join sd.`order` as o on o.order_id = fc.order_id
                                 left join (
                            select
                                ogds.order_id,
                        left join (select ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part
                            from sd.order_glass_detail as ogds
                            where ogds.order_id = #{orderId} and LOCATE('夹胶',ogds.process)>0
                            GROUP BY order_id, order_number,ogds.group
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                                   where ogds.order_id = #{orderId}
                                     and LOCATE('夹胶', ogds.process) > 0
                                   GROUP BY order_id, order_number, ogds.group) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id,ogdss.technology_number
                        order by fc.process_id)
@@ -567,27 +570,29 @@
                                 left join sd.order_glass_detail as ogd
                                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                                              ogd.technology_number = fc.technology_number
                                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                        left join sd.order_detail as od
                                  on od.order_id = fc.order_id and od.order_number = fc.order_number
                                 left join sd.`order` as o on o.order_id = fc.order_id
                                 left join (
                            select
                                ogds.order_id,
                        left join (select ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part
                            from sd.order_glass_detail as ogds
                                     left join sd.order_detail as ods on ods.order_id=ogds.order_id and ods.order_number=ogds.order_number
                                     left join sd.product_detail as pds on pds.prod_id=ods.product_id and pds.glass_sort=ogds.technology_number
                                            left join sd.order_detail as ods
                                                      on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number
                                            left join sd.product_detail as pds on pds.prod_id = ods.product_id and
                                                                                  pds.glass_sort =
                                                                                  ogds.technology_number
                            where ogds.order_id = #{orderId}
                            GROUP BY order_id, order_number
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                                   GROUP BY order_id, order_number) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id
                        order by fc.process_id)
                       ) AS combined_results where process is not null and process!=""
               order by fc.process_id)) AS combined_results
        where process is not null
          and process != ""
    </select>
@@ -604,7 +609,13 @@
               round(SUM(ogd.total_area), 2)                   as gross_area,
               sum(od.weight)                   as weight,
               #{technologyNumber}                             as technologyNumber,
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
               concat("对应我司", TRIM(
                       SUBSTRING(
                               o.processing_note,
                               LOCATE('对应我司', o.processing_note) + CHAR_LENGTH('对应我司')
                           ))
                   )                                           AS otherRemarks
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -612,8 +623,7 @@
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id=od.product_id
                 left join (
            select         ogd.order_id,
                 left join (select ogd.order_id,
                           ogd.order_number,
                           ogd.technology_number,
                           ogd.glass_child,
@@ -621,8 +631,9 @@
            from sd.order_glass_detail as ogd
            where ogd.order_id = left(#{processId},10)
              and position(ogd.technology_number in #{technologyNumber})
            GROUP BY order_id, order_number
        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id
@@ -635,7 +646,7 @@
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,''))                       as remarks,
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
@@ -646,7 +657,8 @@
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
        left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number
@@ -696,7 +708,8 @@
                 left join sd.order_detail od
                           on SUBSTR(opd.process_id, 1, 10) = od.order_id and opd.order_sort = od.order_number
                 left join sd.order_glass_detail ogd
                           on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number and opd.layer=ogd.technology_number
                           on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number and
                              opd.layer = ogd.technology_number
                 left join sd.product p on od.product_id = p.id
                 left join sd.basic_glass_type e on e.type_id = p.type_id
        left join sd.customer c on c.id=o.customer_id
@@ -723,9 +736,11 @@
               od.bend_radius
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = od.order_id and ogd.order_number = od.order_number
                 left join pp.flow_card as fc on o.order_id = fc.order_id and
                                                 od.order_number = fc.order_number and fc.technology_number=ogd.technology_number
                                                 od.order_number = fc.order_number and
                                                 fc.technology_number = ogd.technology_number
                 left join sd.product pt on pt.id=od.product_id
                 left join sd.customer c on c.id=o.customer_id
                 left join sd.basic_glass_type bgt on bgt.type_id=pt.type_id
@@ -855,8 +870,11 @@
                                              od.order_number = fc.order_number
                 left join sd.product as p on p.id=od.product_id
                 left join sd.customer as c on c.id = o.customer_id
        left join sd.product_detail as pd  on pd.prod_id=p.id and pd.sort_num=od.order_number and pd.glass_sort=fc.technology_number
        left join sd.order_glass_detail as ogd on ogd.order_id=fc.order_id and ogd.order_number=fc.order_number and ogd.technology_number=fc.technology_number
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
                                                      pd.glass_sort = fc.technology_number
                 left join sd.order_glass_detail as ogd
                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                              ogd.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.technology_number = #{technologyNumber}
        group by od.order_number, width, height
@@ -893,7 +911,8 @@
                 left join patch_log as pl on pl.order_id = fc.order_id and pl.process_id = fc.process_id and
                                              pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
        where pl.create_time between #{selectTime1} and #{selectTime2} and pl.review_status>0
        where pl.create_time between #{selectTime1} and #{selectTime2}
          and pl.review_status > 0
        GROUP BY pl.id,fc.process_id, ogd.technology_number
        order by pl.id desc,fc.process_id, ogd.technology_number
    </select>
@@ -967,7 +986,8 @@
    <update id="updatePrintStateMp">
        update  pp.flow_card
        set print_status = print_status+1
        where process_id = #{processId} and technology_number = #{technologyNumber}
        where process_id = #{processId}
          and technology_number = #{technologyNumber}
    </update>
    <select id="printFlowCardOrderSortMp">
@@ -1018,8 +1038,7 @@
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id=od.product_id
                 left join (
            select         ogd.order_id,
                 left join (select ogd.order_id,
                           ogd.order_number,
                           ogd.technology_number,
                           ogd.glass_child,
@@ -1027,15 +1046,19 @@
            from sd.order_glass_detail as ogd
            where ogd.order_id = left(#{processId},10)
              and position(ogd.technology_number in #{technologyNumber})
            GROUP BY order_id, order_number
        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
          and position(fc.technology_number in #{technologyNumber})
          and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
    <select id="selectorderOtherMoney">
        select * from sd.basic_other_money where id between 21 and 35
        select *
        from sd.basic_other_money
        where id between 21 and 35
    </select>
    <select id="selectReworkPrintMp">
@@ -1079,7 +1102,7 @@
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,''))                       as remarks,
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
@@ -1090,7 +1113,8 @@
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number,fc.technology_number
@@ -1118,8 +1142,7 @@
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id=od.product_id
                 left join (
            select         ogd.order_id,
                 left join (select ogd.order_id,
                           ogd.order_number,
                           ogd.technology_number,
                           ogd.glass_child,
@@ -1128,11 +1151,15 @@
            where ogd.order_id = left(#{processId},10)
              and ogd.order_number=#{orderNumber}
              and position(ogd.technology_number in #{technologyNumber})
            GROUP BY order_id, order_number
        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
                 left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
        where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
@@ -1143,7 +1170,7 @@
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,''))                       as remarks,
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
@@ -1154,8 +1181,10 @@
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
                 left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
@@ -1189,8 +1218,7 @@
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id=od.product_id
                 left join (
            select         ogd.order_id,
                 left join (select ogd.order_id,
                           ogd.order_number,
                           ogd.technology_number,
                           ogd.glass_child,
@@ -1199,11 +1227,15 @@
            where ogd.order_id = left(#{processId},10)
              and ogd.order_number = #{orderNumber}
              and position(ogd.technology_number in #{technologyNumber})
            GROUP BY order_id, order_number
        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
                 left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
        left join pp.reporting_work as rw on rw.order_id=fc.order_id and rw.process_id=fc.process_id
        left join pp.damage_details as dd on rw.reporting_work_id=dd.reporting_work_id and dd.order_number=fc.order_number and dd.technology_number=fc.technology_number
                 left join pp.damage_details as dd
                           on rw.reporting_work_id = dd.reporting_work_id and dd.order_number = fc.order_number and
                              dd.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and fc.technology_number = #{technologyNumber}
@@ -1218,7 +1250,7 @@
               round(ogd.total_area, 2)                                     as total_area,
               od.perimeter,
               od.bend_radius,
               concat(od.processing_note,od.remarks) as remarks,
               concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,''))                       as remarks,
               od.other_columns,
               round(ogd.child_width) as width,
               round(ogd.child_height) as height,
@@ -1229,8 +1261,10 @@
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
                 left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
@@ -1260,8 +1294,7 @@
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id=od.product_id
                 left join (
            select         ogd.order_id,
                 left join (select ogd.order_id,
                           ogd.order_number,
                           ogd.technology_number,
                           ogd.glass_child,
@@ -1270,9 +1303,11 @@
            where ogd.order_id = left(#{processId},10)
              and ogd.order_number = #{orderNumber}
              and position(ogd.technology_number in #{technologyNumber})
            GROUP BY order_id, order_number
        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
                 left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
                 left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and fc.technology_number = #{technologyNumber}
@@ -1297,8 +1332,10 @@
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
                 left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
@@ -1328,8 +1365,7 @@
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.`order` as o on o.order_id = fc.order_id
                 left join sd.product as p on p.id=od.product_id
                 left join (
            select         ogd.order_id,
                 left join (select ogd.order_id,
                           ogd.order_number,
                           ogd.technology_number,
                           ogd.glass_child,
@@ -1338,11 +1374,15 @@
            where ogd.order_id = left(#{processId},10)
              and ogd.order_number=#{orderNumber}
              and position(ogd.technology_number in #{technologyNumber})
            GROUP BY order_id, order_number
        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
                 left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
        where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
                            GROUP BY order_id, order_number) as ogdc
                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                              ogdc.technology_number = ogd.technology_number
                 left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
          and ogdc.concatenated_glass_child is NOT null
        group by fc.process_id, fc.technology_number
    </select>
@@ -1364,8 +1404,10 @@
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                 left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
                 left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
                 left join sd.product_detail as pd
                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
                 left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                           pl.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.order_number = #{orderNumber}
          and position(fc.technology_number in #{technologyNumber})
@@ -1392,8 +1434,8 @@
               contacts,
               delivery_address     as deliveryAddress,
               od.processing_note   as processingNote,
               width,
               height,
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               od.quantity,
               od.order_number      as orderNumber,
               fc.technology_number as technologyNumber,
@@ -1425,10 +1467,12 @@
                 left join sd.product as p on p.id=od.product_id
                 left join sd.customer as c on c.id = o.customer_id
                 left join sd.product_detail as pd  on pd.prod_id=p.id and pd.sort_num=od.order_number
        left join sd.order_glass_detail ogd on ogd.order_id=o.order_id and ogd.order_number=od.order_number and ogd.technology_number=fc.technology_number
                 left join sd.order_glass_detail ogd
                           on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                              ogd.technology_number = fc.technology_number
        where fc.process_id = #{processId}
          and fc.technology_number = #{technologyNumber}
        group by od.order_number,ogd.technology_number, width, height
        group by od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
    </select>
@@ -1462,7 +1506,8 @@
    </select>
    <select id="selectPrintNotMergeMp">
        select * from ((select fc.id,
        select *
        from ((select fc.id,
                               fc.order_id,
                               fc.process_id,
                               o.customer_name,
@@ -1483,7 +1528,8 @@
                                 left join sd.order_glass_detail as ogd
                                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                                              ogd.technology_number = fc.technology_number
                                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                        left join sd.order_detail as od
                                  on od.order_id = fc.order_id and od.order_number = fc.order_number
                                 left join sd.`order` as o on o.order_id = fc.order_id
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id, ogd.technology_number
@@ -1512,20 +1558,20 @@
                                 left join sd.order_glass_detail as ogd
                                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                                              ogd.technology_number = fc.technology_number
                                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                        left join sd.order_detail as od
                                  on od.order_id = fc.order_id and od.order_number = fc.order_number
                                 left join sd.`order` as o on o.order_id = fc.order_id
                                 left join (
                            select
                                ogds.order_id,
                        left join (select ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part
                            from sd.order_glass_detail as ogds
                            where ogds.order_id = #{orderId} and LOCATE('夹胶',ogds.process)>0
                            GROUP BY order_id, order_number,ogds.group
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                                   where ogds.order_id = #{orderId}
                                     and LOCATE('夹胶', ogds.process) > 0
                                   GROUP BY order_id, order_number, ogds.group) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id,ogdss.technology_number
                        order by fc.process_id)
@@ -1550,26 +1596,91 @@
                                 left join sd.order_glass_detail as ogd
                                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
                                              ogd.technology_number = fc.technology_number
                                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
                        left join sd.order_detail as od
                                  on od.order_id = fc.order_id and od.order_number = fc.order_number
                                 left join sd.`order` as o on o.order_id = fc.order_id
                                 left join (
                            select
                                ogds.order_id,
                        left join (select ogds.order_id,
                                ogds.order_number,
                                GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number,
                                ogds.glass_child,
                                GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
                                SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part
                            from sd.order_glass_detail as ogds
                                     left join sd.order_detail as ods on ods.order_id=ogds.order_id and ods.order_number=ogds.order_number
                                     left join sd.product_detail as pds on pds.prod_id=ods.product_id and pds.glass_sort=ogds.technology_number
                                            left join sd.order_detail as ods
                                                      on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number
                                            left join sd.product_detail as pds on pds.prod_id = ods.product_id and
                                                                                  pds.glass_sort =
                                                                                  ogds.technology_number
                            where ogds.order_id = #{orderId}
                            GROUP BY order_id, order_number
                        ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number
                                   GROUP BY order_id, order_number) as ogdss
                                  on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
                        where fc.order_id = #{orderId}
                        GROUP BY fc.process_id
                        order by fc.process_id)
               order by fc.process_id)) AS combined_results
        where process is not null
          and process != ""
    </select>
                      ) AS combined_results where process is not null and process!=""
    <select id="getRepairPrintCustomDataSemi">
        select o.order_id                                            as orderId,
               o.project,
               o.customer_id                                         as customerId,
               o.customer_name                                       as customerName,
               o.order_type                                          as orderType,
               o.order_classify                                      as orderClassify,
               o.batch,
               o.icon,
               o.pack_type                                           as packType,
               o.delivery_date                                       as deliveryDate,
               o.al_type                                             as alType,
               o.money,
               contract_id                                           as contractId,
               customer_batch                                           customerBatch,
               contacts,
               o.delivery_address                                    as deliveryAddress,
               od.processing_note                                    as processingNote,
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               pl.patch_num                                          as quantity,
               pl.order_sort                                         as orderNumber,
               pl.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
               od.product_name                                       as productName,
               od.edging_type                                        as edgingType,
               p.remarks,
               c.customer_abbreviation                               as customerAbbreviation,
               p.product_abbreviation                                as productAbbreviation,
               CONCAT(fc.process_id, '/', fc.technology_number)      as processId,
               o.create_time                                         as createTime,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
               p.remarks                                             as filmNumber,
               od.bend_radius                                        as bendRadius,
               ogd.glass_child                                       as glassChild,
               ogd.glass_address                                     as glassAddress,
               JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color
        from sd.order as o
                 left join sd.order_detail as od on o.order_id = od.order_id
                 left join flow_card as fc on o.order_id = fc.order_id and
                                              od.order_number = fc.order_number
                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
                                              pl.technology_number = fc.technology_number
                 left join sd.product as p on p.id = od.product_id
                 left join sd.customer as c on c.id = o.customer_id
                 left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number
                 left join sd.order_glass_detail ogd
                           on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                              ogd.technology_number = fc.technology_number
        where pl.process_id = #{processId}
          and pl.technology_number = #{technologyNumber}
          and pl.reporting_work_id = #{reportingWorkId}
        group by od.order_number, width, height
        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort)
    </select>
</mapper>