From f8a7078cfaf8f4106f1081856260eae55a3a2579 Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期二, 18 三月 2025 08:55:44 +0800 Subject: [PATCH] 完成点检模块 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java | 3 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 43 ++++++- eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx | 7 eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml | 3 eims-ui/apps/web-antd/src/views/eims/components/basis-sub-table.vue | 5 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java | 1 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java | 7 + eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml | 31 ++++++ eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts | 11 ++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java | 3 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java | 39 +++++++ eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java | 3 eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue | 108 ++++++++++++++++++--- 13 files changed, 233 insertions(+), 31 deletions(-) diff --git a/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts b/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts index 09faab4..2a911c5 100644 --- a/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts +++ b/eims-ui/apps/web-antd/src/api/eims/insp-record/index.ts @@ -8,6 +8,7 @@ enum Api { inspRecordExport = '/eims/inspRecord/export', inspRecordList = '/eims/inspRecord/list', + inspStRecordList = '/eims/inspRecord/stList', root = '/eims/inspRecord' } @@ -22,6 +23,16 @@ } /** + * 鏌ヨ姹囨�讳笅鐨勭偣妫�璁板綍鍒楄〃 + * @param query + * @returns {*} + */ + +export function listInspStRecord(params?: any) { + return requestClient.get<InspectRecordVO[]>(Api.inspStRecordList, { params }); +} + +/** * 鏌ヨ鐐规璁板綍璇︾粏 * @param inspRecordId */ diff --git a/eims-ui/apps/web-antd/src/views/eims/components/basis-sub-table.vue b/eims-ui/apps/web-antd/src/views/eims/components/basis-sub-table.vue index b7e37a0..d2d3732 100644 --- a/eims-ui/apps/web-antd/src/views/eims/components/basis-sub-table.vue +++ b/eims-ui/apps/web-antd/src/views/eims/components/basis-sub-table.vue @@ -38,8 +38,9 @@ Object.assign(formValues, params); } else { // 鏈紶鍙傚垯鏌ヨ涓�涓笉瀛樺湪鐨勫�� - const params = { [keyName]: -1 }; - Object.assign(formValues, params); + // const params = { [keyName]: -1 }; + // Object.assign(formValues, params); + return false } return await props.listApi({ pageNum: page.currentPage, diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx b/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx index e4de7f4..7fd40eb 100644 --- a/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx +++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx @@ -44,9 +44,9 @@ fixed: 'left' }, { - title: '淇濆吇骞存湀', - field: 'planTime', - minWidth: 120 + title: '淇濆吇鏃堕棿', + field: 'planTimeStr', + minWidth: 200 }, { title: '鐘舵��', @@ -54,6 +54,7 @@ minWidth: 80, slots: { default: ({ row }) => { + if (!row.status) return ''; return renderDict(row.status, DictEnum.EIMS_INSPECT_STATUS); } } diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue b/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue index 203ec1a..0319a0b 100644 --- a/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue +++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue @@ -1,13 +1,16 @@ <script setup lang="ts"> +import type { Recordable } from '@vben/types'; + import { onMounted, ref } from 'vue'; import { Page, useVbenDrawer, type VbenFormProps } from '@vben/common-ui'; +import { $t } from '@vben/locales'; import { addFullName, getPopupContainer, getVxePopupContainer } from '@vben/utils'; -import { Modal, Popconfirm, Space } from 'ant-design-vue'; +import { Button, Modal, Popconfirm, Space } from 'ant-design-vue'; import { useVbenVxeGrid, vxeCheckboxChecked, type VxeGridProps, vxeSortEvent } from '#/adapter/vxe-table'; -import { delMaintOrder, listMaintOrderGroupDetail } from '#/api/eims/maint-order'; +import { listInspStRecord } from '#/api/eims/insp-record'; import { delInspectSt, listInspectSt } from '#/api/eims/insp-st'; import { getDeptTree, userList } from '#/api/system/user'; import BasisSubTable from '#/views/eims/components/basis-sub-table.vue'; @@ -15,13 +18,22 @@ import { columns, querySchema } from './data'; import inspStDrawer from './insp-st-drawer.vue'; -import type { Recordable } from '@vben/types'; -import { $t } from '@vben/locales'; defineExpose({ tableSelect }); +/** + * 瑙嗗浘妯″紡 + * day-鏍规嵁鏃ユ眹鎬� + * month-鏍规嵁鏈堟眹鎬� + */ +enum ViewMode { + Day = 'Day', + Month = 'Month' +} + +const curViewMode = ref<ViewMode>(ViewMode.Month); const formOptions: VbenFormProps = { commonConfig: { labelWidth: 80, @@ -32,6 +44,14 @@ collapsed: true, schema: querySchema(), wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4', + handleReset: async () => { + // eslint-disable-next-line no-use-before-define + const { formApi, reload } = tableApi; + await formApi.resetForm(); + const formValues = formApi.form.values; + formApi.setLatestSubmissionValues(formValues); + await reload(formValues); + }, // 鏃ユ湡閫夋嫨鏍煎紡鍖� fieldMappingTime: [['planTime', ['params[beginPlanTime]', 'params[endPlanTime]'], ['YYYY-MM-DD 00:00:00', 'YYYY-MM-DD 23:59:59']]] }; @@ -52,6 +72,8 @@ proxyConfig: { ajax: { query: async ({ page }, formValues = {}) => { + const params = { 'viewMode': curViewMode.value }; + Object.assign(formValues, params); return await listInspectSt({ pageNum: page.currentPage, pageSize: page.pageSize, @@ -72,6 +94,46 @@ }, id: 'insp-st-index' }; +const fieldsToExclude = new Set(['action', 'inspTime', 'maintUserNames', 'specialNote', 'status']); +const gridOptions2: VxeGridProps = { + checkboxConfig: { + // 楂樹寒 + highlight: true, + // 缈婚〉鏃朵繚鐣欓�変腑鐘舵�� + reserve: true + // 鐐瑰嚮琛岄�変腑 + // trigger: 'row' + }, + columns: columns?.filter((column: any) => !fieldsToExclude.has(column?.field)), + height: 'auto', + keepSource: true, + pagerConfig: {}, + proxyConfig: { + ajax: { + query: async ({ page }, formValues = {}) => { + const params = { 'viewMode': curViewMode.value }; + Object.assign(formValues, params); + return await listInspectSt({ + pageNum: page.currentPage, + pageSize: page.pageSize, + ...formValues + }); + } + } + }, + rowConfig: { + isHover: true, + keyField: 'id' + }, + sortConfig: { + // 杩滅▼鎺掑簭 + remote: true, + // 鏀寔澶氬瓧娈垫帓搴� 榛樿鍏抽棴 + multiple: true + }, + id: 'insp-st-index' +}; + const recordId = ref<string>(); const [BasicTable, tableApi] = useVbenVxeGrid({ formOptions, @@ -80,7 +142,7 @@ sortChange: (sortParams) => vxeSortEvent(tableApi, sortParams), cellClick: (e: any) => { const { row } = e; - recordId.value = `${row.equId}_${row.planTime}`; + recordId.value = `${row.equId}_${row.planTime}_${curViewMode.value}`; } } }); @@ -151,15 +213,16 @@ } ]); } + const [InspStDrawer, inspStDrawerApi] = useVbenDrawer({ connectedComponent: inspStDrawer }); - async function handleEdit(record: Recordable<any>) { inspStDrawerApi.setData({ id: record.id }); inspStDrawerApi.open(); } + async function handleDelete(row: Recordable<any>) { await delInspectSt(row.id); await tableApi.query(); @@ -187,6 +250,24 @@ function tableSelect() { return tableApi.grid.getCheckboxRecords(); } + +const dayBtn = ref<any>('default'); +const monBtn = ref<any>('primary'); + +function queryData(type: ViewMode) { + if (type === ViewMode.Day) { + dayBtn.value = 'primary'; + monBtn.value = 'default'; + curViewMode.value = ViewMode.Day; + tableApi.setGridOptions(gridOptions2); + } else if (type === ViewMode.Month) { + dayBtn.value = 'default'; + monBtn.value = 'primary'; + curViewMode.value = ViewMode.Month; + tableApi.setGridOptions(gridOptions); + } + tableApi.query(); +} </script> <template> @@ -194,7 +275,9 @@ <div class="flex h-full gap-[8px] flex-col"> <BasicTable class="h-2/3" table-title="鐐规璁板綍鍒楄〃"> <template #toolbar-tools> - <Space > + <Space> + <Button :type="dayBtn" @click.stop="queryData(ViewMode.Day)">鏃ヨ鍥�</Button> + <Button :type="monBtn" @click.stop="queryData(ViewMode.Month)">鏈堣鍥�</Button> <a-button :disabled="!vxeCheckboxChecked(tableApi)" danger @@ -225,16 +308,9 @@ </Popconfirm> </Space> </template> - </BasicTable> - <BasisSubTable - :columns="recordCol" - :list-api="listMaintOrderGroupDetail" - :req-value="recordId" - class="h-1/3" - req-key="maintCode" - title="淇濆吇瀹炴柦椤圭洰" - /> + <BasisSubTable :columns="recordCol" :list-api="listInspStRecord" :req-value="recordId" class="h-1/3" + req-key="inspCode" title="鐐规璁板綍" /> </div> <InspStDrawer @reload="tableApi.query()" /> </Page> diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java index 6a65c62..11f84f6 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java @@ -1,11 +1,21 @@ package org.dromara.eims.controller; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.TemporalAdjusters; import java.util.List; +import java.util.Map; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.eims.domain.bo.EimsMaintOrderBo; +import org.dromara.eims.domain.vo.EimsMaintOrderVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -46,6 +56,35 @@ return eimsInspectRecordService.queryPageListCustom(bo, pageQuery); } + @SaCheckPermission("eims:inspectRecord:list") + @GetMapping("/stList") + public TableDataInfo<EimsInspectRecordVo> groupDetail(EimsInspectRecordBo bo, PageQuery pageQuery) { + // 杩欓噷浣跨敤inspCode浼犻�掍簡 equid + plantime + viewModel锛坉ay-鏃ヨ鍥� month-鏈堣鍥撅級 + String inspCode = bo.getInspCode(); + if (StringUtils.isEmpty(inspCode) || !inspCode.contains("_")) { + return TableDataInfo.build(new Page<>(0,0)); + } + String[] split = inspCode.split("_"); + bo.setEquId(Long.valueOf(split[0])); + bo.setInspCode(null); + LocalDate planTime = DateUtils.parseDate(split[1]).toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + if((split[2].equals("Day"))){ + LocalDateTime startOfDay = planTime.atStartOfDay(); + LocalDateTime endOfDay = planTime.plusDays(1).atStartOfDay().minusSeconds(1); + Map<String, Object> params = bo.getParams(); + params.put("beginPlanTime",startOfDay); + params.put("endPlanTime",endOfDay); + }else if((split[2].equals("Month"))){ + LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth()); + LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth()); + Map<String, Object> params = bo.getParams(); + params.put("beginPlanTime",startOfMonth); + params.put("endPlanTime",endOfMonth); + } + return eimsInspectRecordService.queryPageListCustom(bo, pageQuery); + } + + /** * 瀵煎嚭鐐规璁板綍鍒楄〃 */ diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java index 13daeb7..82d3ea9 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java @@ -77,6 +77,9 @@ */ private String remark; + //鍓嶇鐣岄潰鏌ョ湅妯″紡 day-鏃ヨ鍥� month-鏈堣鍥� + private String viewMode; + diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java index 0997212..021d71b 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java @@ -55,6 +55,7 @@ */ @ExcelProperty(value = "璁″垝鏃堕棿") private Date planTime; + private String planTimeStr; /** * 鐘舵�� diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java index 15ea2d5..a71d578 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java @@ -6,7 +6,9 @@ import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.eims.domain.EimsInspectRecord; +import org.dromara.eims.domain.EimsInspectSt; import org.dromara.eims.domain.vo.EimsInspectRecordVo; +import org.dromara.eims.domain.vo.EimsInspectStVo; /** * 鐐规璁板綍Mapper鎺ュ彛 @@ -16,5 +18,6 @@ */ public interface EimsInspectRecordMapper extends BaseMapperPlus<EimsInspectRecord, EimsInspectRecordVo> { Page<EimsInspectRecordVo> selectInspRecordList(@Param("page") Page<EimsInspectRecordVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectRecord> queryWrapper); + Page<EimsInspectStVo> selectInspRecordDayList(@Param("page") Page<EimsInspectStVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectSt> queryWrapper); } diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java index 3de61b3..ebd61d3 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java @@ -1,9 +1,11 @@ package org.dromara.eims.service; +import org.dromara.eims.domain.bo.EimsInspectStBo; import org.dromara.eims.domain.vo.EimsInspectRecordVo; import org.dromara.eims.domain.bo.EimsInspectRecordBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.eims.domain.vo.EimsInspectStVo; import java.util.Collection; import java.util.List; @@ -74,4 +76,5 @@ * @return 鐐规璁板綍鍒嗛〉鍒楄〃 */ TableDataInfo<EimsInspectRecordVo> queryPageListCustom(EimsInspectRecordBo bo, PageQuery pageQuery); + } 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 4901462..55c65ff 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 @@ -12,7 +12,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.eims.domain.EimsInspectPlan; +import org.dromara.eims.domain.EimsInspectSt; import org.dromara.eims.domain.EimsMaintPlan; +import org.dromara.eims.domain.bo.EimsInspectStBo; +import org.dromara.eims.domain.vo.EimsInspectStVo; import org.dromara.eims.domain.vo.EimsMaintOrderVo; import org.dromara.eims.mapper.EimsInspectPlanMapper; import org.dromara.eims.mapper.EimsMaintPlanMapper; @@ -73,6 +76,7 @@ return TableDataInfo.build(page); } + /** * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�璁板綍鍒楄〃 * @@ -112,6 +116,8 @@ qw.in(bo.getInspDept() != null, "ir.insp_dept", getAllDescendantIds(bo.getInspDept())); qw.eq(bo.getStatus() != null, "ir.status", bo.getStatus()); qw.eq(bo.getInspResult() != null, "ir.insp_result", bo.getInspResult()); + qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, + "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); qw.eq(bo.getPlanTime()!=null, "ir.plan_time", bo.getPlanTime()); qw.orderByDesc("ir.create_time"); @@ -119,6 +125,7 @@ } + /** * 鏍规嵁id锛岃幏鍙栨墍鏈夊悗浠d * diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java index f938a05..dc31019 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java @@ -23,10 +23,7 @@ import java.time.LocalDate; import java.time.ZoneId; import java.time.temporal.TemporalAdjusters; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; import java.util.stream.Collectors; /** @@ -62,11 +59,20 @@ */ @Override public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) { - QueryWrapper<EimsInspectSt> lqw = buildWrapper(bo); - Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), lqw); - // 濉厖鏁版嵁 - fillStData(result); - return TableDataInfo.build(result); + // 鏈堣鍥� + if(bo.getViewMode().equals("Month")){ + QueryWrapper<EimsInspectSt> qw = buildWrapper(bo); + Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), qw); + // 濉厖鏁版嵁 + fillStData(result); + return TableDataInfo.build(result); + // 鏃ヨ鍥� + }else if(bo.getViewMode().equals("Day")){ + Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo)); + return TableDataInfo.build(result); + } + + return null; } private void fillStData(Page<EimsInspectStVo> result) { @@ -103,6 +109,25 @@ } + private QueryWrapper<EimsInspectSt> buildGroupWrapper(EimsInspectStBo bo) { + Map<String, Object> params = bo.getParams(); + QueryWrapper<EimsInspectSt> qw = Wrappers.query(); + qw.like(StringUtils.isNotBlank(bo.getTitle()), "CONCAT(DATE_FORMAT(ir.plan_time, '%Y%m%d'), equ.equ_name)", bo.getTitle()); + qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName()); + qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo()); + qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, + "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); + qw.eq(bo.getInspUser() != null, "ir.insp_user", bo.getInspUser()); + qw.eq(bo.getVerifyUser() != null, "ir.verify_user", bo.getVerifyUser()); + qw.eq(bo.getStatus() != null, "ir.status", bo.getStatus()); + qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null, + "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime")); + qw.groupBy(Arrays.asList("ir.equ_id","ir.plan_time")); + qw.orderByDesc( "ir.plan_time"); + + return qw; + } + /** * 鏌ヨ绗﹀悎鏉′欢鐨勭偣妫�姹囨�诲垪琛� * diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml index db8135f..bf14d6a 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml +++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml @@ -6,6 +6,10 @@ <resultMap type="org.dromara.eims.domain.vo.EimsInspectRecordVo" id="EimsInspRecordVoResult"> </resultMap> + + <resultMap type="org.dromara.eims.domain.vo.EimsInspectStVo" id="EimsInspectStVoResult"> + </resultMap> + <select id="selectInspRecordList" resultMap="EimsInspRecordVoResult"> SELECT ir.*,equ.equ_name equName,equ.equ_code equCode,equ.asset_no assetNo,equ.model_no modelNo,ir.create_time createTime, us.nick_name inspUserName,dp.dept_name inspDeptName,ue.nick_name verifyUserName @@ -17,4 +21,31 @@ ${ew.getCustomSqlSegment} </select> + + <select id="selectInspRecordDayList" resultMap="EimsInspectStVoResult"> + SELECT + MAX(ir.id) id, + ir.equ_id, + ir.plan_time, + DATE_FORMAT(ir.plan_time, '%Y-%m-%d') as planTimeStr, + CONCAT(DATE_FORMAT(ir.plan_time, '%Y%m%d'), equ.equ_name) as title, + MAX(equ.equ_name) AS equName, + MAX(equ.equ_code) AS equCode, + MAX(equ.asset_no) AS assetNo, + MAX(equ.model_no) AS modelNo, + GROUP_CONCAT(us.nick_name SEPARATOR ', ') AS inspUserNames, + GROUP_CONCAT(ue.nick_name SEPARATOR ', ') AS verifyUserNames, + COUNT(ir.id) AS recordCount, -- 涓�澶╃偣妫�鎬绘暟 + SUM(CASE WHEN ir.status = 0 THEN 1 ELSE 0 END) AS unCheckCount, + SUM(CASE WHEN ir.status = 1 THEN 1 ELSE 0 END) AS checkCount, + SUM(CASE WHEN ir.insp_result = 1 THEN 1 ELSE 0 END) AS normalNum, + SUM(CASE WHEN ir.insp_result = 2 THEN 1 ELSE 0 END) AS abNormalNum + FROM eims_inspect_record ir + LEFT JOIN eims_equ equ ON ir.equ_id = equ.equ_id + LEFT JOIN sys_user us ON ir.insp_user = us.user_id + LEFT JOIN sys_user ue ON ir.verify_user = ue.user_id + LEFT JOIN sys_dept dp ON ir.insp_dept = dp.dept_id + ${ew.getCustomSqlSegment} + </select> + </mapper> diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml index d3ccccc..b9540eb 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml +++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml @@ -6,9 +6,10 @@ <resultMap type="org.dromara.eims.domain.vo.EimsInspectStVo" id="MaintInspStVoResult"> </resultMap> <select id="selectInspStList" resultMap="MaintInspStVoResult"> - SELECT st.*,equ.equ_name equName,equ.asset_no assetNo FROM eims_inspect_st st + SELECT st.*,equ.equ_name equName,equ.asset_no assetNo, DATE_FORMAT(st.plan_time, '%Y-%m') as planTimeStr FROM eims_inspect_st st LEFT JOIN eims_equ equ on st.equ_id = equ.equ_id ${ew.getCustomSqlSegment} </select> + </mapper> -- Gitblit v1.9.3