流程卡打印添加倒叙打印功能、添加前端排序,将可编辑打印按钮改为标签自定义打印
11个文件已修改
238 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ar.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/kr.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/ru.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/lang/zh.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue 120 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -33,7 +33,8 @@
  printLike: null,
  printProject:null,
  merges:null,
  printFc:null
  printFc:null,
  flashback:null
})
const {currentRoute} = useRouter()
@@ -68,7 +69,7 @@
let flowCardCount = ''
onMounted(() => {
      if(props.printProject!=null){
        request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}`).then((res) => {
        request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}/${props.flashback}`).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
          } else {
@@ -77,7 +78,7 @@
          }
        })
      }else{
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}`, data.value).then((res) => {
        request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}/${props.flashback}`, data.value).then((res) => {
          if (res.code == 200) {
            load(res.data.data)
          } else {
north-glass-erp/northglass-erp/src/lang/ar.js
@@ -388,6 +388,7 @@
            selectDetailProcessCard:"流程卡明细查询"
        },
        flashback:'倒叙',
        processId:'رقم بطاقة العملية',
        founder:'موزع الرفوف',
        layoutStatus:'الحالة',
north-glass-erp/northglass-erp/src/lang/en.js
@@ -388,6 +388,7 @@
            printFlowCard:"Process card printing",
            selectDetailProcessCard:"Process card details query"
        },
        flashback:'倒叙',
        processId:'Process Card Number',
        founder:'Divider',
        layoutStatus:'Type Setting',
north-glass-erp/northglass-erp/src/lang/kr.js
@@ -397,6 +397,7 @@
            selectDetailProcessCard:'프로세스 카드 상세 조회'
        },
        flashback:'倒叙',
        processId:'프로세스 카드 번호',
        founder:'분배 작업자',
        layoutStatus:'가공 배치 상태',
north-glass-erp/northglass-erp/src/lang/ru.js
@@ -386,7 +386,7 @@
            printFlowCard:"流程卡打印",
            selectDetailProcessCard:"流程卡明细查询"
        },
        flashback:'倒叙',
        processId:'Номер процесса',
        founder:'Диспетчер',
        layoutStatus:'Формат',
north-glass-erp/northglass-erp/src/lang/zh.js
@@ -397,6 +397,7 @@
            selectDetailProcessCard:"流程卡明细查询"
        },
        flashback:'倒叙',
        processId:'流程卡号',
        founder:'分架员',
        layoutStatus:'排版状态',
@@ -487,7 +488,7 @@
        printStatus:'打印次数',
        labelPrinting2:'标签打印2',
        finishedProductPrinting2:'成品打印2',
        editablePrinting:'可编辑打印',
        editablePrinting:'标签自定义打印',
        invertSelection:'反选',
        sortSummary:'排序汇总',
        addAutomatically:'自动填充',
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -22,6 +22,9 @@
import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global";
import TagStyleDesigner from "@/components/pp/TagStyleDesigner.vue";
import useUserInfoStore from "@/stores/userInfo";
import { ElCheckbox } from 'element-plus'
const company = companyInfo()
const userStore = useUserInfoStore()
const userId = userStore.user.userId
@@ -63,7 +66,8 @@
  printMergeVal: null,
  like: null,
  merge: null,
  printFc:null
  printFc:null,
  flashback:null
})
//标签
@@ -74,6 +78,8 @@
  lableType: null//标签类型
})
//倒叙
let  flashback = ref(1)
const getTableRow = (row, type) => {
  switch (type) {
@@ -211,7 +217,6 @@
    gridOptions.loading = false
    hideButton();
    hideHead()
  } else {
    ElMessage.warning(res.msg)
@@ -236,6 +241,7 @@
const gridOptions = reactive({
  toolbar: true,
  loading: true,
  border: "full",//表格加边框
  keepSource: true,//保持源数据
@@ -304,10 +310,11 @@
      field: 'technology_number',
      title: t('processCard.technologyNumber'),
      showOverflow: "ellipsis",
      width: 110,
      width: 120,
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged,
      sortable: true
    },
    {field: 'glass_address', title: t('processCard.glassAddress'), width: 90},
    {field: 'quantity', title: t('order.quantity'), width: 90},
@@ -341,14 +348,15 @@
  ],//表头按钮
  toolbarConfig: {
    slots:{
      buttons: "toolbar_buttons"
    },
    buttons: [
      {code: 'print', name: t('processCard.print'), status: 'primary'},
      {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: 'sortTable', name: t('processCard.sortSummary'), status: 'primary'},
      // {code: 'printTest', name: "测试打印", status: 'primary'},
      // {code: 'printLike', name: "同配置打印", status: 'primary'},
      // {code: 'print', name: t('processCard.print'), status: 'primary'},
      // {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: 'sortTable', name: t('processCard.sortSummary'), status: 'primary'},
    ],
    // import: false,
    // export: true,
@@ -409,6 +417,7 @@
          printRow.value.like = null
          printRow.value.merge = company.flowCardMerge
          printRow.value.printFc= printFc
          printRow.value.flashback = flashback.value
          // router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords),printMerge:printMergeVal}})
          if(company.companyName=='常州市吉利玻璃有限公司'){
            dialogTableVisibleStraight.value = true
@@ -656,28 +665,21 @@
  addListener(xGridDetail.value, detailGridOptions)
}
const hideButton = () => {
  // 根据条件值 hidePrintLabels 过滤按钮数组
  gridOptions.toolbarConfig.buttons = gridOptions.toolbarConfig.buttons.filter(button => {
    // 根据 hidePrintLabels 过滤 printLabel 和 printLabel2 按钮
    if (hidePrintLabels === 'true') {
      if (button.code === 'printLabel' || button.code === 'printLabel2') {
        return false; // 隐藏 printLabel 和 printLabel2
      }
    }
    // 如果 printBtn 为 '1',则隐藏 customLabel 按钮
    if (btnType == 1 && button.code === 'customLabel') {
      return false; // 隐藏 customLabel 按钮
    }
    // 默认情况下返回 true,保留其他按钮
    return true;
  });
//判断某个按钮 code 是否要显示
function isButtonVisible(code) {
  // 如果要隐藏 printLabel/printLabel2
  if (hidePrintLabels && (code === 'printLabel' || code === 'printLabel2')) {
    return false
  }
  // 如果 btnType 为 1,要隐藏 customLabel
  if (btnType === 1 && code === 'customLabel') {
    return false
  }
  return true
}
const hideHead = () => {
  // 判断 btnType 是否等于 '1' (可以根据需要调整为数字 1)
  if (btnType == 1) {
    const headDiv = document.querySelector('.head');
@@ -702,6 +704,9 @@
  })
}
function onFlashbackChange(checked) {
  flashback.value = checked ? 0 : 1
}
</script>
<template>
@@ -750,8 +755,64 @@
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <!-- 自定义 toolbar_buttons 插槽 -->
        <template #toolbar_buttons="{ $grid }">
          <!-- 手动写出所有按钮 -->
          <el-button
              v-if="isButtonVisible('print')"
              type="primary"
              style="margin-right:8px;"
              @click="$grid.dispatchEvent('toolbar-button-click', { code: 'print' })"
          >
            {{ t('processCard.print') }}
          </el-button>
          <el-button
              v-if="isButtonVisible('customLabel')"
              type="primary"
              style="margin-right:8px;"
              @click="$grid.dispatchEvent('toolbar-button-click', { code: 'customLabel' })"
          >
            {{ t('processCard.customLabelPrinting') }}
          </el-button>
          <el-button
              v-if="isButtonVisible('printLabel')"
              type="primary"
              style="margin-right:8px;"
              @click="$grid.dispatchEvent('toolbar-button-click', { code: 'printLabel' })"
          >
            {{ t('processCard.labelPrinting') }}
          </el-button>
          <el-button
              v-if="isButtonVisible('printLabel2')"
              type="primary"
              style="margin-right:8px;"
              @click="$grid.dispatchEvent('toolbar-button-click', { code: 'printLabel2' })"
          >
            {{ t('processCard.labelPrinting2') }}
          </el-button>
          <el-button
              v-if="isButtonVisible('sortTable')"
              type="primary"
              style="margin-right:8px;"
              @click="$grid.dispatchEvent('toolbar-button-click', { code: 'sortTable' })"
          >
            {{ t('processCard.sortSummary') }}
          </el-button>
          <el-checkbox
              :model-value="flashback === 0"
              @change="onFlashbackChange"
          >
            {{ t('processCard.flashback') }}
          </el-checkbox>
        </template>
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      下拉显示所有信息插槽-->
        <template #content="{ row }">
@@ -808,6 +869,7 @@
          :printMerge="printRow.printMergeVal"
          :printFc="printRow.printFc"
          :merges="printRow.merge"
          :flashback = "printRow.flashback"
          style="width: 100%;height: 100%"/>
    </el-dialog>
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -187,20 +187,21 @@
    }
    @ApiOperation("打印流程卡数据查询接口")
    @PostMapping("/getSelectPrinting/{printMerge}/{printLike}/{merge}")
    @PostMapping("/getSelectPrinting/{printMerge}/{printLike}/{merge}/{flashback}")
    public Result getSelectPrinting(
            @PathVariable String printMerge,
            @PathVariable String printLike,
            @PathVariable String merge,
            @PathVariable String flashback,
            @RequestBody Map<String, Object> object) {
        return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike,merge));
        return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike,merge,flashback));
    }
    @ApiOperation("工程打印流程卡数据查询接口")
    @PostMapping("/getSelectPrintProject/{printProject}/{merge}")
    @PostMapping("/getSelectPrintProject/{printProject}/{merge}/{flashback}")
    public Result getSelectPrintProject(
            @PathVariable String printProject,@PathVariable String merge) {
        return Result.seccess(flowCardService.getSelectPrintProject(printProject,merge));
            @PathVariable String printProject,@PathVariable String merge,@PathVariable String flashback) {
        return Result.seccess(flowCardService.getSelectPrintProject(printProject,merge,flashback));
    }
    @ApiOperation("打印标签数据查询接口")
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.erp.dto.pp.FlowCardDTO;
import com.example.erp.dto.pp.TeamOutputDTO;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.OrderDetail;
import org.apache.ibatis.annotations.Mapper;
@@ -84,7 +83,7 @@
    List<Map<String, String>> getPrimaryLists(String processId, String technologyNumber, String glassChild, String process, String orderId,Integer quantity);
    List<Map<String, Object>> getDetailList(String processId, String technologyNumber, String process);
    List<Map<String, Object>> getDetailList(String processId, String technologyNumber, String process, String flashback);
    List<Map<String, Object>> getDetailLists(String processId, String technologyNumber, String process,Integer orderNumber);
@@ -138,9 +137,9 @@
    List<Map<String, String>> selectReworkPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard);
    List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process);
    List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process, String flashback);
    List<Map<String, Object>> getDetailListMerge(String processId, String process);
    List<Map<String, Object>> getDetailListMerge(String processId, String process, String flashback);
    List<Map<String, Object>> getDetailListLikes(String processId, String technologyNumber, String process,String printProject,Integer quantity);
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -14,7 +14,6 @@
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@@ -297,7 +296,7 @@
        }
    }
    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge) {
    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge, String flashback) {
        if (printMerge == null) {
            printMerge = "";
        }
@@ -328,10 +327,10 @@
                    if (processName.equals("stepC") || processName.equals("stepD")) {//工艺是否包含夹胶中空
                        itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess());
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(),flashback);
                        itemmap.put("detailList", detailList);
                    } else {
                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {
                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//否
                            // 检查是否已经处理过该 processId,如果处理过则跳过
                            if (processedKeys.contains(uniqueKey)) {
                                continue;
@@ -339,29 +338,28 @@
                            // 将该 processId 加入已处理集合
                            processedKeys.add(uniqueKey);
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess());
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess(),flashback);
                            itemmap.put("detailList", detailList);
                        } else {
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess());
                            System.out.println(flashback);
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(),flashback);
                            itemmap.put("detailList", detailList);
                        }
                    }
                } else {
                } else {//否
                    //流程卡明细数据
                    if (printLike.equals("") || printLike.equals("null")) {
                        itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge, flowCard.getOrderId()));
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess());
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback);
                        itemmap.put("detailList", detailList);
                    } else {
                        itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess());
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess(), flashback);
                        itemmap.put("detailList", detailList);
                    }
                }
@@ -401,7 +399,7 @@
        return map;
    }
    public Map<String, Object> getSelectPrintProject(String printProject, String merge) {
    public Map<String, Object> getSelectPrintProject(String printProject, String merge, String flashback) {
        Map<String, Object> map = new HashMap<>();
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果
@@ -426,7 +424,7 @@
                if (processName.equals("stepC") || processName.equals("stepD")) {//工艺是否包含夹胶中空
                    itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                    if (flowCard.getPatchState().equals(0)) {
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess());
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback);
                        itemmap.put("detailList", detailList);
                    } else {
                        List<Map<String, Object>> detailList = flowCardMapper.getDetailLists(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber());
@@ -445,11 +443,11 @@
                            processedKeys.add(uniqueKey);
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess());
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess(), flashback);
                            itemmap.put("detailList", detailList);
                        } else {
                            itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess());
                            List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(), flashback);
                            itemmap.put("detailList", detailList);
                        }
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -783,7 +783,24 @@
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
        <choose>
            <!-- flashback = 1 时正序 -->
            <when test="flashback == 1">
                ORDER BY
                CASE
                WHEN fcs.sort IS NOT NULL AND fcs.sort &lt;&gt;  '' THEN fcs.sort
                ELSE fc.order_number
                END ASC
            </when>
            <!-- flashback != 1 时倒序 -->
            <otherwise>
                ORDER BY
                CASE
                WHEN fcs.sort IS NOT NULL AND fcs.sort &lt;&gt;  '' THEN fcs.sort
                ELSE fc.order_number
                END DESC
            </otherwise>
        </choose>
    </select>
    <select id="getDetailLists">
@@ -1455,7 +1472,24 @@
        where fc.process_id = #{processId}
          and position(fc.technology_number in #{technologyNumber})
        group by fc.process_id, fc.order_number, fc.technology_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
        <choose>
            <!-- flashback = 1 时正序 -->
            <when test="flashback == 1">
                ORDER BY
                CASE
                WHEN fcs.sort IS NOT NULL AND fcs.sort &lt;&gt;  '' THEN fcs.sort
                ELSE fc.order_number
                END ASC
            </when>
            <!-- flashback != 1 时倒序 -->
            <otherwise>
                ORDER BY
                CASE
                WHEN fcs.sort IS NOT NULL AND fcs.sort &lt;&gt;  '' THEN fcs.sort
                ELSE fc.order_number
                END DESC
            </otherwise>
        </choose>
    </select>
    <select id="getDetailListMerge">
@@ -1487,7 +1521,24 @@
                               and fcs.process = #{process}
        where fc.process_id = #{processId} and fc.`merge`=1
        group by fc.process_id, fc.order_number
        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
        <choose>
            <!-- flashback = 1 时正序 -->
            <when test="flashback == 1">
                ORDER BY
                CASE
                WHEN fcs.sort IS NOT NULL AND fcs.sort &lt;&gt;  '' THEN fcs.sort
                ELSE fc.order_number
                END ASC
            </when>
            <!-- flashback != 1 时倒序 -->
            <otherwise>
                ORDER BY
                CASE
                WHEN fcs.sort IS NOT NULL AND fcs.sort &lt;&gt;  '' THEN fcs.sort
                ELSE fc.order_number
                END DESC
            </otherwise>
        </choose>
    </select>
    <select id="getDetailListLikes">