From aa423b168ac997db1b52cb4636498245f93a26a2 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 18 八月 2023 18:08:19 +0800
Subject: [PATCH] 计量管理-》新增计划计量
---
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java | 48 +++++++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetPlanMeasureInstrumentDto.java | 25 +++++
laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml | 113 ++++++++++++++++++++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfoAndIns.java | 22 ++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java | 8 +
laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java | 14 ++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfo.java | 2
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java | 25 +++-
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java | 10 +
9 files changed, 252 insertions(+), 15 deletions(-)
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java
index b877166..44b2456 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.Instrument;
import com.yuanchu.limslaboratory.pojo.MeteringPlan;
+import com.yuanchu.limslaboratory.pojo.dto.GetPlanMeasureInstrumentDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeasurementLedgerDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeteringPlanDto;
import com.yuanchu.limslaboratory.service.MeteringPlanService;
@@ -60,10 +61,15 @@
return Result.success(page);
}
- @ApiOperation("鏌ヨ璁¢噺淇℃伅")
- public Result<?> getPlanMeasureInstrument(Integer id){
- return Result.success(meteringPlanService.getPlanMeasureInstrument(id));
+ @ApiOperation("鍗曡璁″垝淇℃伅")
+ @GetMapping("/getPlanMeasureInstrument")
+ public Result<?> getPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto){
+ return Result.success(meteringPlanService.getPlanMeasureInstrument(dto));
}
-
+ @ApiOperation("璁″垝淇℃伅涔嬩笅鍒嗛〉")
+ @GetMapping("/limitGetPlanMeasureInstrument")
+ public Result<?> limitGetPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto){
+ return Result.success(meteringPlanService.limitGetPlanMeasureInstrument(dto));
+ }
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java
index 5abe58b..edce831 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java
@@ -2,10 +2,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.limslaboratory.pojo.LimitPage;
-import com.yuanchu.limslaboratory.pojo.MeteringPlan;
+import com.yuanchu.limslaboratory.pojo.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.yuanchu.limslaboratory.pojo.MeteringPlanAndInfo;
+import com.yuanchu.limslaboratory.pojo.dto.GetPlanMeasureInstrumentDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeasurementLedgerDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeteringPlanDto;
import org.apache.ibatis.annotations.Param;
@@ -37,4 +36,9 @@
Map<String, Object>getTotal(@Param("dto")SelectMeteringPlanDto dto);
+ MeteringPlanAndInfoAndIns getPlanMeasureInstrument(@Param("limitPage") LimitPage limitPage,Long id);
+
+ List<MetricalInfoAndIns> limitGetPlanMeasureInstrument(@Param("limitPage")LimitPage limitPage, Long id);
+
+ Map<String, Object> countPlanMeasurIns(Long id);
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfo.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfo.java
index 5dde538..efc5615 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfo.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfo.java
@@ -36,6 +36,8 @@
@ApiModelProperty(value = "缁撴潫鏃ユ湡", example = "2023-07-06", required = true, dataType = "date")
private Date endTime;
+ private String unit;
+
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE_TIME)
private Date createTime;
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfoAndIns.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfoAndIns.java
new file mode 100644
index 0000000..bbea7b5
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfoAndIns.java
@@ -0,0 +1,22 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="MeteringPlanAndInfoAndIns瀵硅薄", description="")
+public class MeteringPlanAndInfoAndIns extends MeteringPlanAndInfo implements Serializable {
+
+ List<MetricalInfoAndIns>metricalInfoAndInsList;
+
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java
new file mode 100644
index 0000000..2e08a84
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java
@@ -0,0 +1,48 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="MeteringPlanAndInfoAndIns瀵硅薄", description="")
+public class MetricalInfoAndIns extends Instrument implements Serializable {
+
+ @ApiModelProperty(value = "璁¢噺缂栧彿", example = "1", required = true)
+ private String code;
+
+ @ApiModelProperty(value = "璁¢噺鍗曚綅", example = "GB", required = true)
+ private String measurementUnit;
+
+ @ApiModelProperty(value = "缁撴潫鏃ユ湡", example = "2026-07-06", required = true, dataType = "date")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE_TIME)
+ private Date endDate;
+
+ @ApiModelProperty(value = "缁撴灉: 1锛氬悎鏍硷紱2锛氱煫姝e悗鍙敤锛�3锛氫笉鍚堟牸", example = "1", required = true)
+ private Integer result;
+
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE_TIME)
+ private Date imCreateTime;
+
+ private String measurementName;
+
+ private String imCreateName;
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetPlanMeasureInstrumentDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetPlanMeasureInstrumentDto.java
new file mode 100644
index 0000000..8be35d1
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetPlanMeasureInstrumentDto.java
@@ -0,0 +1,25 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "GetPlanMeasureInstrumentDto瀵硅薄", description = "")
+public class GetPlanMeasureInstrumentDto implements Serializable {
+
+ @ApiModelProperty(value = "褰撳墠椤�", example = "1", required = true)
+ private Long currentPage;
+ @ApiModelProperty(value = "姣忛〉澶氬皯鏉�", example = "10", required = true)
+ private Long pageSize;
+ @ApiModelProperty(value = "璁″垝id", example = "10", required = true)
+ private Long id;
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java
index 21bb7b6..b69a3d3 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java
@@ -4,9 +4,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.MeteringPlan;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.limslaboratory.pojo.MeteringPlanAndInfoAndIns;
+import com.yuanchu.limslaboratory.pojo.MetricalInfoAndIns;
+import com.yuanchu.limslaboratory.pojo.dto.GetPlanMeasureInstrumentDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeasurementLedgerDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeteringPlanDto;
+import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -26,5 +30,7 @@
IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(SelectMeasurementLedgerDto selectMeasurementLedgerDto);
- Map<String, Object> getPlanMeasureInstrument(Integer id);
+ Map<String, Object> getPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto);
+
+ Map<String, Object> limitGetPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto);
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java
index cd2cf23..eb42a3b 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java
@@ -3,11 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.limslaboratory.pojo.Instrument;
-import com.yuanchu.limslaboratory.pojo.LimitPage;
-import com.yuanchu.limslaboratory.pojo.MeteringPlan;
+import com.yuanchu.limslaboratory.pojo.*;
import com.yuanchu.limslaboratory.mapper.MeteringPlanMapper;
-import com.yuanchu.limslaboratory.pojo.MeteringPlanAndInfo;
+import com.yuanchu.limslaboratory.pojo.dto.GetPlanMeasureInstrumentDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeasurementLedgerDto;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeteringPlanDto;
import com.yuanchu.limslaboratory.service.MeteringPlanService;
@@ -67,7 +65,22 @@
}
@Override
- public Map<String, Object> getPlanMeasureInstrument(Integer id) {
- return null;
+ public Map<String, Object> getPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto) {
+ MeteringPlanAndInfoAndIns planMeasureInstrument =
+ meteringPlanMapper.getPlanMeasureInstrument
+ (new LimitPage((dto.getCurrentPage()-1)*dto.getPageSize(),
+ dto.getPageSize()), dto.getId());
+ Map<String, Object> map = meteringPlanMapper.countPlanMeasurIns(dto.getId());
+ map.put("list",planMeasureInstrument);
+ return map;
+ }
+
+ @Override
+ public Map<String, Object> limitGetPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto) {
+ Map<String, Object> map = meteringPlanMapper.countPlanMeasurIns(dto.getId());
+ map.put("list",meteringPlanMapper
+ .limitGetPlanMeasureInstrument(new LimitPage((dto.getCurrentPage()-1)*dto.getPageSize()
+ ,dto.getPageSize()),dto.getId()));
+ return map;
}
}
diff --git a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
index 762ec4c..f1af9c6 100644
--- a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
@@ -40,8 +40,9 @@
IF(IFNULL(i.result, 0) > 0, 1, 0) status,
(SELECT name FROM `user` u WHERE p.measure_person = u.id) measureName,
i.`code` iCode,
+ p.unit unit,
p.create_time createTime
- FROM (SELECT id, measure_person, create_Person, begin_Time, end_Time, planned_order_number, create_time
+ FROM (SELECT id, unit ,measure_person, create_Person, begin_Time, end_Time, planned_order_number, create_time
from metering_plan
where 1=1
<if test="dto.plannedOrderNumber!=null and dto.plannedOrderNumber!=''">
@@ -58,6 +59,115 @@
and planned_order_number=#{plannedOrderNumber}
</if>
</select>
+ <select id="getPlanMeasureInstrument"
+ resultMap="measureInsAndPlanMap">
+ SELECT m.planned_order_number plannedOrderNumber,
+ (SELECT NAME FROM USER WHERE id = m.measure_person) measureName,
+ m.begin_time beginTime,
+ m.end_time endTime,
+ m.unit unit,
+ u.`name` createName,
+ m.create_time createTime,
+ im.equipment_code equipmentCode,
+ im.equipment_name equipmentName,
+ im.measuring_range measuringRange,
+ im.term_validity termValidity,
+ im.result result,
+ im.end_date endDate,
+ im.imName imName,
+ im.create_time imCreateTime,
+ im.measurement_unit imUnit,
+ im.`code` imCode
+ FROM metering_plan m
+ LEFT JOIN `user` u ON m.create_Person = u.id
+ LEFT JOIN (
+ SELECT i.equipment_code,
+ i.equipment_name,
+ i.measuring_range,
+ i.term_validity,
+ im.result,
+ im.end_date,
+ (SELECT NAME FROM USER WHERE id = im.user_id) imName,
+ im.create_time,
+ im.measurement_unit,
+ im.`code`,
+ im.plan
+ FROM metrical_information im,
+ metering_plan m,
+ instrument i
+ WHERE im.instrument_id = i.id
+ and m.id = im.plan
+ and im.plan = #{id}
+ LIMIT #{limitPage.start}
+ , #{limitPage.end}
+ ) im ON m.id = im.plan
+ WHERE 1 = 1
+ AND m.id = #{id}
+ </select>
+ <select id="limitGetPlanMeasureInstrument" resultMap="MetricalInfoAndInsMap">
+ SELECT i.equipment_code equipmentCode,
+ i.equipment_name equipmentName,
+ i.measuring_range measuringRange,
+ i.term_validity termValidity,
+ im.result result,
+ im.end_date endDate,
+ (SELECT NAME FROM USER WHERE id = im.user_id) imName,
+ im.create_time imCreateTime,
+ im.measurement_unit imUnit,
+ im.`code` imCode
+ FROM metrical_information im,
+ metering_plan m,
+ instrument i
+ WHERE im.instrument_id = i.id
+ and m.id = im.plan
+ and im.plan = #{id} LIMIT #{limitPage.start}
+ , #{limitPage.end}
+ </select>
+ <select id="countPlanMeasurIns" resultType="java.util.Map">
+ SELECT count(im.id) total
+ FROM metrical_information im,
+ metering_plan m,
+ instrument i
+ WHERE im.instrument_id = i.id
+ and m.id = im.plan
+ and im.plan = #{id}
+ </select>
+
+ <resultMap id="MetricalInfoAndInsMap" type="MetricalInfoAndIns">
+ <result property="code" column="imCode"/>
+ <result property="measurementUnit" column="imUnit"/>
+ <result property="imCreateTime" column="imCreateTime"/>
+ <result property="measurementName" column="imName"/>
+ <result property="endDate" column="endDate"/>
+ <result property="result" column="result"/>
+ <result property="termValidity" column="termValidity"/>
+ <result property="measuringRange" column="measuringRange"/>
+ <result property="equipmentName" column="equipmentName"/>
+ <result property="equipmentCode" column="equipmentCode"/>
+ </resultMap>
+
+ <resultMap id="measureInsAndPlanMap" type="meteringPlanAndInfoAndIns">
+ <result property="id" column="id"/>
+ <result property="createPerson" column="createName"/>
+ <result property="beginTime" column="beginTime"/>
+ <result property="endTime" column="endTime"/>
+ <result property="plannedOrderNumber" column="plannedOrderNumber"/>
+ <result property="measurePerson" column="measureName"/>
+ <result property="createTime" column="createTime"/>
+ <result property="unit" column="unit"/>
+ <collection property="metricalInfoAndInsList" ofType="metricalInfoAndIns">
+ <result property="code" column="imCode"/>
+ <result property="measurementUnit" column="imUnit"/>
+ <result property="imCreateTime" column="imCreateTime"/>
+ <result property="measurementName" column="imName"/>
+ <result property="endDate" column="endDate"/>
+ <result property="result" column="result"/>
+ <result property="termValidity" column="termValidity"/>
+ <result property="measuringRange" column="measuringRange"/>
+ <result property="equipmentName" column="equipmentName"/>
+ <result property="equipmentCode" column="equipmentCode"/>
+ </collection>
+ </resultMap>
<resultMap id="MeteringPlanAndInfoMap" type="meteringPlanAndInfo">
<result property="id" column="id"/>
@@ -67,6 +177,7 @@
<result property="plannedOrderNumber" column="plannedOrderNumber"/>
<result property="measurePerson" column="measureName"/>
<result property="createTime" column="createTime"/>
+ <result property="unit" column="unit"/>
<collection property="resultList" ofType="MetricalInformation">
<result property="code" column="iCode"/>
<result property="result" column="status"/>
--
Gitblit v1.9.3