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