Fixiaobai
2023-08-18 aa423b168ac997db1b52cb4636498245f93a26a2
计量管理-》新增计划计量
已修改6个文件
已添加3个文件
267 ■■■■■ 文件已修改
laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MeteringPlanAndInfoAndIns.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInfoAndIns.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetPlanMeasureInstrumentDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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"/>