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