流程卡打印添加倒叙打印功能、添加前端排序,将可编辑打印按钮改为标签自定义打印
| | |
| | | printLike: null, |
| | | printProject:null, |
| | | merges:null, |
| | | printFc:null |
| | | printFc:null, |
| | | flashback:null |
| | | }) |
| | | |
| | | const {currentRoute} = useRouter() |
| | |
| | | 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 { |
| | |
| | | } |
| | | }) |
| | | }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 { |
| | |
| | | selectDetailProcessCard:"流程卡明细查询" |
| | | |
| | | }, |
| | | flashback:'倒叙', |
| | | processId:'رقم بطاقة العملية', |
| | | founder:'موزع الرفوف', |
| | | layoutStatus:'الحالة', |
| | |
| | | printFlowCard:"Process card printing", |
| | | selectDetailProcessCard:"Process card details query" |
| | | }, |
| | | flashback:'倒叙', |
| | | processId:'Process Card Number', |
| | | founder:'Divider', |
| | | layoutStatus:'Type Setting', |
| | |
| | | selectDetailProcessCard:'프로세스 카드 상세 조회' |
| | | |
| | | }, |
| | | flashback:'倒叙', |
| | | processId:'프로세스 카드 번호', |
| | | founder:'분배 작업자', |
| | | layoutStatus:'가공 배치 상태', |
| | |
| | | printFlowCard:"流程卡打印", |
| | | selectDetailProcessCard:"流程卡明细查询" |
| | | }, |
| | | |
| | | flashback:'倒叙', |
| | | processId:'Номер процесса', |
| | | founder:'Диспетчер', |
| | | layoutStatus:'Формат', |
| | |
| | | selectDetailProcessCard:"流程卡明细查询" |
| | | |
| | | }, |
| | | flashback:'倒叙', |
| | | processId:'流程卡号', |
| | | founder:'分架员', |
| | | layoutStatus:'排版状态', |
| | |
| | | printStatus:'打印次数', |
| | | labelPrinting2:'标签打印2', |
| | | finishedProductPrinting2:'成品打印2', |
| | | editablePrinting:'可编辑打印', |
| | | editablePrinting:'标签自定义打印', |
| | | invertSelection:'反选', |
| | | sortSummary:'排序汇总', |
| | | addAutomatically:'自动填充', |
| | |
| | | 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 |
| | |
| | | printMergeVal: null, |
| | | like: null, |
| | | merge: null, |
| | | printFc:null |
| | | printFc:null, |
| | | flashback:null |
| | | }) |
| | | |
| | | //标签 |
| | |
| | | lableType: null//标签类型 |
| | | }) |
| | | |
| | | //倒叙 |
| | | let flashback = ref(1) |
| | | |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | |
| | | gridOptions.loading = false |
| | | |
| | | |
| | | hideButton(); |
| | | hideHead() |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | |
| | | |
| | | |
| | | const gridOptions = reactive({ |
| | | toolbar: true, |
| | | loading: true, |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | |
| | | 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}, |
| | |
| | | ],//表头按钮 |
| | | |
| | | 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, |
| | |
| | | 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 |
| | |
| | | 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'); |
| | |
| | | }) |
| | | } |
| | | |
| | | function onFlashbackChange(checked) { |
| | | flashback.value = checked ? 0 : 1 |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | 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 }"> |
| | |
| | | :printMerge="printRow.printMergeVal" |
| | | :printFc="printRow.printFc" |
| | | :merges="printRow.merge" |
| | | :flashback = "printRow.flashback" |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | | |
| | |
| | | } |
| | | |
| | | @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("打印标签数据查询接口") |
| | |
| | | |
| | | 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; |
| | |
| | | |
| | | 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); |
| | | |
| | |
| | | |
| | | 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); |
| | | |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | 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 = ""; |
| | | } |
| | |
| | | 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; |
| | |
| | | // 将该 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); |
| | | } |
| | | } |
| | |
| | | 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>>();//最终结果 |
| | |
| | | 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()); |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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 <> '' 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 <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailLists"> |
| | |
| | | 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 <> '' 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 <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailListMerge"> |
| | |
| | | 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 <> '' 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 <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailListLikes"> |