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)); } } 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); } 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; 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; } 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ï¼ç«æ£åå¯ç¨ï¼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; } 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; } 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); } 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; } } 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"/>