Merge branch 'main' of http://lanpucloud.cn:1111/r/eims-master
| | |
| | | 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'); |
| | |
| | | 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'), |
| | | // }, |
| | | ]; |
| | | /** |
| | | * 租户选中状态 不显示个人中心 |
| | |
| | | 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') }), |
| | |
| | | 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') }), |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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) { |
| | |
| | | |
| | | @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(); |
| | | |
| | | // 点检项目列表(假设存在对应的点检项VO) |
| | | InspectCheckItemImportListener checkItemImportListener = new InspectCheckItemImportListener(updateSupport); |
| | | EasyExcel.read(file.getInputStream(), InspectCheckItemVo.class, checkItemImportListener).headRowNumber(3).sheet().doRead(); |
| | |
| | | .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()); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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>"); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |