From 5247f5d991b09bef8dce64ca8fac0e9c804f4584 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 24 四月 2025 09:10:22 +0800 Subject: [PATCH] feat(eims): 优化数据导入功能并添加创建时间排序 --- eims-ui/apps/web-antd/src/views/_core/authentication/login.vue | 4 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairRecordServiceImpl.java | 2 eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-import-modal.vue | 12 ++-- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java | 24 +++++-- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java | 2 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintPlanServiceImpl.java | 13 ++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java | 2 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryServiceImpl.java | 3 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java | 2 eims-ui/apps/web-antd/src/views/eims/maint-plan/maint-plan-import-modal.vue | 12 ++-- eims/ruoyi-admin/src/main/resources/application-prod.yml | 16 ++-- eims-ui/apps/web-antd/src/layouts/basic.vue | 72 ++++++++++++------------ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java | 2 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java | 2 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java | 2 15 files changed, 104 insertions(+), 66 deletions(-) diff --git a/eims-ui/apps/web-antd/src/layouts/basic.vue b/eims-ui/apps/web-antd/src/layouts/basic.vue index 0a7dbef..fb982e9 100644 --- a/eims-ui/apps/web-antd/src/layouts/basic.vue +++ b/eims-ui/apps/web-antd/src/layouts/basic.vue @@ -40,15 +40,15 @@ const tenantStore = useTenantStore(); const menus = computed(() => { const defaultMenus = [ - { - handler: () => { - openWindow(VBEN_DOC_URL, { - target: '_blank', - }); - }, - icon: BookOpenText, - text: $t('ui.widgets.document'), - }, + // { + // handler: () => { + // openWindow(VBEN_DOC_URL, { + // target: '_blank', + // }); + // }, + // icon: BookOpenText, + // text: $t('ui.widgets.document'), + // }, { handler: () => { router.push('/profile'); @@ -56,33 +56,33 @@ icon: UserOutlined, text: $t('ui.widgets.profile'), }, - { - handler: () => { - openWindow('https://gitee.com/dapppp/ruoyi-plus-vben5', { - target: '_blank', - }); - }, - icon: () => h(GiteeIcon, { class: 'text-red-800' }), - text: 'Gitee椤圭洰鍦板潃', - }, - { - handler: () => { - openWindow(VBEN_GITHUB_URL, { - target: '_blank', - }); - }, - icon: GitHubOutlined, - text: 'Vben瀹樻柟鍦板潃', - }, - { - handler: () => { - openWindow(`${VBEN_GITHUB_URL}/issues`, { - target: '_blank', - }); - }, - icon: CircleHelp, - text: $t('ui.widgets.qa'), - }, + // { + // handler: () => { + // openWindow('https://gitee.com/dapppp/ruoyi-plus-vben5', { + // target: '_blank', + // }); + // }, + // icon: () => h(GiteeIcon, { class: 'text-red-800' }), + // text: 'Gitee椤圭洰鍦板潃', + // }, + // { + // handler: () => { + // openWindow(VBEN_GITHUB_URL, { + // target: '_blank', + // }); + // }, + // icon: GitHubOutlined, + // text: 'Vben瀹樻柟鍦板潃', + // }, + // { + // handler: () => { + // openWindow(`${VBEN_GITHUB_URL}/issues`, { + // target: '_blank', + // }); + // }, + // icon: CircleHelp, + // text: $t('ui.widgets.qa'), + // }, ]; /** * 绉熸埛閫変腑鐘舵�� 涓嶆樉绀轰釜浜轰腑蹇� diff --git a/eims-ui/apps/web-antd/src/views/_core/authentication/login.vue b/eims-ui/apps/web-antd/src/views/_core/authentication/login.vue index 4652260..21bc24f 100644 --- a/eims-ui/apps/web-antd/src/views/_core/authentication/login.vue +++ b/eims-ui/apps/web-antd/src/views/_core/authentication/login.vue @@ -93,7 +93,7 @@ class: 'focus:border-primary', placeholder: $t('authentication.usernameTip'), }, - defaultValue: 'admin', + defaultValue: 'test', fieldName: 'username', label: $t('authentication.username'), rules: z.string().min(1, { message: $t('authentication.usernameTip') }), @@ -104,7 +104,7 @@ class: 'focus:border-primary', placeholder: $t('authentication.password'), }, - defaultValue: 'admin123', + defaultValue: '123456', fieldName: 'password', label: $t('authentication.password'), rules: z.string().min(5, { message: $t('authentication.passwordTip') }), diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-import-modal.vue b/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-import-modal.vue index 3baa409..730db3c 100644 --- a/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-import-modal.vue +++ b/eims-ui/apps/web-antd/src/views/eims/insp-plan/insp-plan-import-modal.vue @@ -101,12 +101,12 @@ <div class="flex items-center gap-2"> <span class="text-red-500">鈿狅笍鐗瑰埆娉ㄦ剰鈿狅笍锛氳涓嬭浇妯$増淇濇寔瀵煎叆鏂囦欢琛ㄥご鍜屾ā鐗堜竴鑷村悗瀵煎叆</span> </div> -<!-- <div class="flex items-center gap-2">--> -<!-- <span :class="{ 'text-red-500': checked }">--> -<!-- 鏄惁鏇存柊/瑕嗙洊宸插瓨鍦ㄧ殑鐐规璁″垝鏁版嵁--> -<!-- </span>--> -<!-- <Switch v-model:checked="checked" />--> -<!-- </div>--> + <div class="flex items-center gap-2"> + <span :class="{ 'text-red-500': checked }"> + 鏄惁鏇存柊/瑕嗙洊宸插瓨鍦ㄧ殑鐐规璁″垝鏁版嵁 + </span> + <Switch v-model:checked="checked" /> + </div> </div> </BasicModal> </template> diff --git a/eims-ui/apps/web-antd/src/views/eims/maint-plan/maint-plan-import-modal.vue b/eims-ui/apps/web-antd/src/views/eims/maint-plan/maint-plan-import-modal.vue index 380d446..2943c30 100644 --- a/eims-ui/apps/web-antd/src/views/eims/maint-plan/maint-plan-import-modal.vue +++ b/eims-ui/apps/web-antd/src/views/eims/maint-plan/maint-plan-import-modal.vue @@ -101,12 +101,12 @@ <div class="flex items-center gap-2"> <span class="text-red-500">鈿狅笍鐗瑰埆娉ㄦ剰鈿狅笍锛氳涓嬭浇妯$増淇濇寔瀵煎叆鏂囦欢琛ㄥご鍜屾ā鐗堜竴鑷村悗瀵煎叆</span> </div> -<!-- <div class="flex items-center gap-2">--> -<!-- <span :class="{ 'text-red-500': checked }">--> -<!-- 鏄惁鏇存柊/瑕嗙洊宸插瓨鍦ㄧ殑淇濆吇璁″垝鏁版嵁--> -<!-- </span>--> -<!-- <Switch v-model:checked="checked" />--> -<!-- </div>--> + <div class="flex items-center gap-2"> + <span :class="{ 'text-red-500': checked }"> + 鏄惁鏇存柊/瑕嗙洊宸插瓨鍦ㄧ殑淇濆吇璁″垝鏁版嵁 + </span> + <Switch v-model:checked="checked" /> + </div> </div> </BasicModal> </template> diff --git a/eims/ruoyi-admin/src/main/resources/application-prod.yml b/eims/ruoyi-admin/src/main/resources/application-prod.yml index 4045cac..866dd54 100644 --- a/eims/ruoyi-admin/src/main/resources/application-prod.yml +++ b/eims/ruoyi-admin/src/main/resources/application-prod.yml @@ -52,13 +52,13 @@ username: root password: 123456 # 浠庡簱鏁版嵁婧� - slave: - lazy: true - type: ${spring.datasource.type} - driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true - username: - password: +# slave: +# lazy: true +# type: ${spring.datasource.type} +# driverClassName: com.mysql.cj.jdbc.Driver +# url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true +# username: +# password: # oracle: # type: ${spring.datasource.type} # driverClassName: oracle.jdbc.OracleDriver @@ -212,7 +212,7 @@ client-id: 449c4*********937************759 client-secret: ac7***********1e0************28d redirect-uri: ${justauth.address}/social-callback?source=topiam - scopes: [ openid, email, phone, profile ] + scopes: [openid, email, phone, profile] qq: client-id: 10**********6 client-secret: 1f7d08**********5b7**********29e diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java index 5c4ace9..6d7f742 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquServiceImpl.java @@ -119,6 +119,8 @@ lqw.eq(bo.getServiceLife() != null, EimsEqu::getServiceLife, bo.getServiceLife()); lqw.between(params.get("beginTime") != null && params.get("endTime") != null, EimsEqu::getDeployDate, params.get("beginTime"), params.get("endTime")); + // 鎸夊垱寤烘棩鏈熷�掑簭 + lqw.orderByDesc(EimsEqu::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java index 52e43d2..6d23e51 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java @@ -104,6 +104,8 @@ lqw.eq(bo.getInspUser() != null, EimsInspectPlan::getInspUser, bo.getInspUser()); lqw.eq(bo.getInspDept() != null, EimsInspectPlan::getInspDept, bo.getInspDept()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsInspectPlan::getStatus, bo.getStatus()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsInspectPlan::getCreateTime); return lqw; } private QueryWrapper<EimsInspectPlan> buildWrapper(EimsInspectPlanBo bo) { @@ -207,11 +209,6 @@ @Override public String importData(MultipartFile file, boolean updateSupport) throws IOException, IOException { - int successNum = 0; - int failureNum = 0; - StringBuilder successMsg = new StringBuilder(); - StringBuilder failureMsg = new StringBuilder(); - // 鐐规椤圭洰鍒楄〃锛堝亣璁惧瓨鍦ㄥ搴旂殑鐐规椤筕O锛� InspectCheckItemImportListener checkItemImportListener = new InspectCheckItemImportListener(updateSupport); EasyExcel.read(file.getInputStream(), InspectCheckItemVo.class, checkItemImportListener).headRowNumber(3).sheet().doRead(); @@ -228,17 +225,30 @@ .map(String::trim) .orElseThrow(() -> new ServiceException("瀵煎叆澶辫触锛屾棤娉曡鍙栧浐瀹氳祫浜х紪鍙�")); - - // 鏌ヨ璁惧淇℃伅 QueryWrapper<EimsEqu> query = new QueryWrapper<>(); query.eq("asset_no", assetNo); EimsEquVo equVo = equMapper.selectVoOne(query); if (equVo == null) throw new ServiceException("璁惧鏈壘鍒帮紝璇峰厛鍦ㄨ澶囧彴甯愪腑娣诲姞"); + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); for (InspectCheckItemVo itemVo : successList) { if ("璁惧鐘舵�佸崱鐘舵��".equals(itemVo.getItemName())) break; + + // 濡傛灉鍏佽瑕嗙洊锛屽垯鍒犻櫎宸插瓨鍦ㄧ殑璁板綍 + if (updateSupport) { + LambdaQueryWrapper<EimsInspectPlan> deleteWrapper = Wrappers.lambdaQuery(); + deleteWrapper.eq(EimsInspectPlan::getEquId, equVo.getEquId()) + .eq(EimsInspectPlan::getInspName, itemVo.getItemName()) + .eq(EimsInspectPlan::getStatus, "0"); + baseMapper.delete(deleteWrapper); + } + + // 鏂板鐐规璁″垝 EimsInspectPlanBo bo = new EimsInspectPlanBo(); bo.setEquId(equVo.getEquId()); bo.setInspName(itemVo.getItemName()); diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java index 55c65ff..96596a8 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java @@ -100,6 +100,8 @@ lqw.eq(bo.getInspTime() != null, EimsInspectRecord::getInspTime, bo.getInspTime()); lqw.eq(bo.getPlanTime() != null, EimsInspectRecord::getPlanTime, bo.getPlanTime()); lqw.eq(bo.getVerifyUser() != null, EimsInspectRecord::getVerifyUser, bo.getVerifyUser()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsInspectRecord::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryServiceImpl.java index acc79bf..a957b33 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInventoryServiceImpl.java @@ -112,7 +112,8 @@ EimsInventory::getCreateBy, params.get("beginCreateBy"), params.get("endCreateBy")); lqw.eq(bo.getUserDept() != null, EimsInventory::getUserDept, bo.getUserDept()); lqw.eq(bo.getInventoryUser() != null, EimsInventory::getInventoryUser, bo.getInventoryUser()); - + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsInventory::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java index 4b23e57..d7cf570 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java @@ -176,6 +176,8 @@ lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsMaintOrder::getStatus, bo.getStatus()); lqw.eq(bo.getPlanTime() != null, EimsMaintOrder::getPlanTime, bo.getPlanTime()); lqw.eq(bo.getPlanId() != null, EimsMaintOrder::getPlanId, bo.getPlanId()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsMaintOrder::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintPlanServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintPlanServiceImpl.java index f1e2647..4518514 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintPlanServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintPlanServiceImpl.java @@ -99,6 +99,8 @@ lqw.eq(bo.getMaintUser() != null, EimsMaintPlan::getMaintUser, bo.getMaintUser()); lqw.eq(bo.getMaintDept() != null, EimsMaintPlan::getMaintDept, bo.getMaintDept()); lqw.eq(bo.getStatus() != null, EimsMaintPlan::getStatus, bo.getStatus()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsMaintPlan::getCreateTime); return lqw; } @@ -321,6 +323,17 @@ maintPlanBo.setMaintNextTime(nextTime); } + // 濡傛灉鍏佽瑕嗙洊锛屽垯鍒犻櫎宸插瓨鍦ㄧ殑鐩稿悓鏉′欢璁板綍 + if (updateSupport) { + LambdaQueryWrapper<EimsMaintPlan> deleteWrapper = Wrappers.lambdaQuery(); + deleteWrapper.eq(EimsMaintPlan::getEquId, maintPlanBo.getEquId()) + .eq(EimsMaintPlan::getMaintName, maintPlanBo.getMaintName()) + .eq(EimsMaintPlan::getStatus, maintPlanBo.getStatus()) + .eq(EimsMaintPlan::getMaintCycle, maintPlanBo.getMaintCycle()) + .eq(EimsMaintPlan::getMaintCycleUnit, maintPlanBo.getMaintCycleUnit()); + baseMapper.delete(deleteWrapper); + } + if (!insertByBo(maintPlanBo)) { failureNum++; failureMsg.append(failureNum).append("銆佽澶囷細").append(eimsEquVo.getEquName()).append("锛屽鍏ュけ璐�<br>"); diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairRecordServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairRecordServiceImpl.java index a6221c5..9fb1a1b 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairRecordServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairRecordServiceImpl.java @@ -76,6 +76,8 @@ lqw.eq(bo.getHandleTime() != null, EimsRepairRecord::getHandleTime, bo.getHandleTime()); lqw.eq(bo.getOperaUser() != null, EimsRepairRecord::getOperaUser, bo.getOperaUser()); lqw.eq(StringUtils.isNotBlank(bo.getOpera()), EimsRepairRecord::getOpera, bo.getOpera()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsRepairRecord::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java index 3ef90e9..9ed4e3b 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java @@ -167,6 +167,8 @@ lqw.eq(bo.getRepairDept() != null, EimsRepairReq::getRepairDept, bo.getRepairDept()); lqw.eq(bo.getRepairUser() != null, EimsRepairReq::getRepairUser, bo.getRepairUser()); lqw.eq(StringUtils.isNotBlank(bo.getFaultType()), EimsRepairReq::getFaultType, bo.getFaultType()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsRepairReq::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java index 0158ac9..8afbba1 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java @@ -98,6 +98,8 @@ EimsRepairRes::getStartTime, params.get("beginStartTime"), params.get("endStartTime")); lqw.between(params.get("beginEndTime") != null && params.get("endEndTime") != null, EimsRepairRes::getEndTime, params.get("beginEndTime"), params.get("endEndTime")); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsRepairRes::getCreateTime); return lqw; } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java index 4cdd95b..dc9cd62 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsSpareServiceImpl.java @@ -90,6 +90,8 @@ lqw.like(StringUtils.isNotBlank(bo.getMadeIn()), EimsSpare::getMadeIn, bo.getMadeIn()); lqw.like(StringUtils.isNotBlank(bo.getSupplier()), EimsSpare::getSupplier, bo.getSupplier()); lqw.eq(StringUtils.isNotBlank(bo.getUnit()), EimsSpare::getUnit, bo.getUnit()); + // 鎸夊垱寤烘椂闂村�掑簭 + lqw.orderByDesc(EimsSpare::getCreateTime); return lqw; } -- Gitblit v1.9.3