Fixiaobai
2023-08-17 58f820f804046e7fe82bef5a7b428b442a728e8a
计量管理-》计量台账
已修改15个文件
已添加2个文件
185 ■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/limslaboratory/utils/MyUtil.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/SelectMeasurementLedgerDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/SelectMeteringPlanDto.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/resources/mapper/ClassifyMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/limslaboratory/pojo/Dto/CnasSatisfactionSurveyPageDto.java
@@ -26,10 +26,10 @@
    @ApiModelProperty(value = "分页多少条", example = "10", required = true)
    private Long pageNum;
    @ApiModelProperty(value = "调查日期", example = "2020-01-02", required = true)
    @ApiModelProperty(value = "调查日期", example = "2020-01-02")
    private Date surveyDate;
    @ApiModelProperty(value = "录入日期", example = "2025-06-08", required = true)
    @ApiModelProperty(value = "录入日期", example = "2025-06-08")
    private Date entryDate;
}
framework/src/main/java/com/yuanchu/limslaboratory/utils/MyUtil.java
@@ -63,13 +63,13 @@
        return sb.toString();
    }
    public static String getTimeSixNumberCode(String prefix){
    public static String getTimeSixNumberCode(String prefix,String name){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String format = simpleDateFormat.format(new Date());
        String timeStr = format.replace("-", "");
        long incrNum = RedisUtil.incr("num", 1);
        long incrNum = RedisUtil.incr(name, 1);
        if(incrNum == 1){
            RedisUtil.expire("num", 60 * 60 * 24);
            RedisUtil.expire(name, 60 * 60 * 24);
        }
        String sixIncr = String.format("%06d", incrNum);
        return prefix + timeStr + sixIncr;
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
@@ -198,7 +198,7 @@
        //生成报告单
        Report report = new Report();
        //生成报告单号
        String code = MyUtil.getTimeSixNumberCode("BG");
        String code = MyUtil.getTimeSixNumberCode("BG","BG");
        //获取检验结论
        String conclusion = "";
        Inspection inspection1 = inspectionMapper.selectById(id);
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
@@ -35,7 +35,7 @@
    @Override
    public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
        String code = MyUtil.getTimeSixNumberCode("SL");
        String code = MyUtil.getTimeSixNumberCode("SL","SL");
        linkBasicInformation.setEntrustCoding(code);
        int insert = linkBasicInformationMapper.insert(linkBasicInformation);
        if (insert == 1) {
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.SelectMeasurementLedgerDto;
import com.yuanchu.limslaboratory.service.MeteringPlanService;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
@@ -49,7 +50,7 @@
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "measureCodeOrNameOrUnit", value = "每一页数量", dataTypeClass = Integer.class, required = true)
            @ApiImplicitParam(name = "measureCodeOrNameOrUnit", value = "测量编码/名称/单位", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/plan_page_list")
    public Result<?> pagingQueryOfMeteringPlan(Integer pageNo, Integer pageSize, String measureCodeOrNameOrUnit) {
@@ -58,13 +59,9 @@
    }
    @ApiOperation("计量台账分页查询")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "pageSize", value = "每一页数量", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/standing_page_list")
    public Result<?> pagingQueryOfMeasurementLedger(Integer pageNo, Integer pageSize) {
        IPage<Map<String, Object>> page = meteringPlanService.pagingQueryOfMeasurementLedger(new Page<Objects>(pageNo, pageSize));
    public Result<?> pagingQueryOfMeasurementLedger(SelectMeasurementLedgerDto selectMeasurementLedgerDto) {
        IPage<Map<String, Object>> page = meteringPlanService.pagingQueryOfMeasurementLedger(selectMeasurementLedgerDto);
        return Result.success(page);
    }
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java
@@ -3,6 +3,8 @@
import com.yuanchu.limslaboratory.pojo.Classify;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
 * <p>
 *  Mapper æŽ¥å£
@@ -13,6 +15,6 @@
 */
public interface ClassifyMapper extends BaseMapper<Classify> {
    Classify selectOneByName(Classify classify);
    List<Classify> selectOneByName(Classify classify);
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MeteringPlanMapper.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.MeteringPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeasurementLedgerDto;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
import java.util.Objects;
@@ -18,5 +20,5 @@
 */
public interface MeteringPlanMapper extends BaseMapper<MeteringPlan> {
    IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(Page<Objects> page);
    IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(Page<Objects> page,@Param("dto") SelectMeasurementLedgerDto dto);
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java
@@ -32,6 +32,9 @@
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "计量编号", example = "1", required = true)
    private String code;
    @ApiModelProperty(value = "用户关联Id", example = "7", required = true)
    private Integer userId;
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/SelectMeasurementLedgerDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
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/16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "selectMeasurementLedgerDto对象", description = "")
public class SelectMeasurementLedgerDto implements Serializable {
    @ApiModelProperty(value = "当前页", example = "1", required = true)
    private Long currentPage;
    @ApiModelProperty(value = "每页多少条", example = "10", required = true)
    private Long pageSize;
    @ApiModelProperty(value = "仪器编码",  required = false)
    private String code;
    @ApiModelProperty(value = "仪器名称",  required = false)
    private String name;
    @ApiModelProperty(value = "计量单位",  required = false)
    private String unit;
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/SelectMeteringPlanDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
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/16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "SelectMeteringPlanDto", description = "")
public class SelectMeteringPlanDto implements Serializable {
    @ApiModelProperty(value = "当前页", example = "1", required = true)
    private Long currentPage;
    @ApiModelProperty(value = "每页多少条", example = "10", required = true)
    private Long pageSize;
    @ApiModelProperty(value = "仪器编码",  required = false)
    private String code;
    @ApiModelProperty(value = "仪器名称",  required = false)
    private String name;
    @ApiModelProperty(value = "计量单位",  required = false)
    private String unit;
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MeteringPlanService.java
@@ -4,6 +4,7 @@
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.dto.SelectMeasurementLedgerDto;
import java.util.Map;
import java.util.Objects;
@@ -22,5 +23,5 @@
    IPage<Map<String, Object>> pagingQueryOfMeteringPlan(String measureCodeOrNameOrUnit, Page<Objects> page);
    IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(Page<Objects> page);
    IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(SelectMeasurementLedgerDto selectMeasurementLedgerDto);
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java
@@ -30,16 +30,12 @@
    @Override
    public Integer addClassifyInformation(Classify classify) {
        //LambdaQueryWrapper<Classify> wrapper = new LambdaQueryWrapper<>();
        //wrapper.eq(Classify::getFatherName, classify.getFatherName());
        //wrapper.eq(Classify::getSonName, classify.getSonName());
        //wrapper.eq(Classify::getState, 1);
        Classify classify1 = classifyMapper.selectOneByName(classify);
        if (ObjectUtils.isEmpty(classify1)){
        List<Classify> classify1 = classifyMapper.selectOneByName(classify);
        if (classify1.size()>0){
            return 2;
        } else {
            classify.setCreateTime(DateUtil.date());
            return classifyMapper.insert(classify);
        } else {
            return 2;
        }
    }
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MeteringPlanServiceImpl.java
@@ -6,6 +6,7 @@
import com.yuanchu.limslaboratory.pojo.Instrument;
import com.yuanchu.limslaboratory.pojo.MeteringPlan;
import com.yuanchu.limslaboratory.mapper.MeteringPlanMapper;
import com.yuanchu.limslaboratory.pojo.dto.SelectMeasurementLedgerDto;
import com.yuanchu.limslaboratory.service.MeteringPlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.utils.MyUtil;
@@ -34,18 +35,21 @@
    @Override
    public Integer addMeteringPlanInformation(MeteringPlan meteringPlan) {
        String timeSixNumber = MyUtil.getTimeSixNumberCode("P");
        String timeSixNumber = MyUtil.getTimeSixNumberCode("P","P");
        meteringPlan.setPlannedOrderNumber(timeSixNumber);
        return meteringPlanMapper.insert(meteringPlan);
    }
    @Override
    public IPage<Map<String, Object>> pagingQueryOfMeteringPlan(String measureCodeOrNameOrUnit, Page<Objects> page) {
        return null;
    }
    @Override
    public IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(Page<Objects> page) {
        return meteringPlanMapper.pagingQueryOfMeasurementLedger(page);
    public IPage<Map<String, Object>> pagingQueryOfMeasurementLedger(SelectMeasurementLedgerDto dto) {
        return meteringPlanMapper.pagingQueryOfMeasurementLedger(new Page<>(dto.getCurrentPage(),dto.getPageSize(),true),dto);
    }
}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java
@@ -36,6 +36,7 @@
            String fileName = FileSaveUtil.StoreFile(file);
            metricalInformation.setFilePath(fileName);
        }
        metricalInformation.setCode(MyUtil.getTimeSixNumberCode("METRICALCODE","METRICALCODE"));
        return metricalInformationMapper.insert(metricalInformation);
    }
laboratory-server/src/main/resources/mapper/ClassifyMapper.xml
@@ -3,20 +3,11 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.ClassifyMapper">
    <select id="selectOneByName" resultType="com.yuanchu.limslaboratory.pojo.Classify">
        SELECT id,
               father_name,
               son_name,
               state,
               create_time,
               update_time,
               version
        SELECT id
        FROM classify
        WHERE state = 1
          <if test="fatherName!=null and fatherName!=''">
              AND father_name = #{fatherName}
          </if>
          <if test="sonName!=null and sonName!=''">
              and son_name =#{sonName}
          </if>
    </select>
</mapper>
laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml
@@ -3,9 +3,31 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.MeteringPlanMapper">
    <select id="pagingQueryOfMeasurementLedger" resultType="map">
        SELECT i.`equipment_code`, i.`equipment_name`, i.`specifications_models`, m.`create_time`, m.`uncertainty`,
               m.`end_date`, i.`term_validity`, i.`storage_place`, i.`conditions`
        FROM instrument i, metrical_information m
        WHERE i.`id` = m.`instrument_id`
        SELECT
        i.`equipment_code` equipmentCode,
        i.`equipment_name` equipmentName,
        m.measurement_unit measurementUnit,
        i.measuring_range measuringRange,
        i.term_validity termValidity,
        m.result result,
        m.end_date endDate,
        u.NAME name ,
        m.`create_time` createTime,
        m.code code
        FROM
        metrical_information m
        LEFT JOIN `user` u ON u.id = m.user_id
        LEFT JOIN instrument i ON i.`id` = m.`instrument_id`
        WHERE 1=1
        and (m.state=1 and i.state=1)
        <if test="dto.code!=null and dto.code!=''">
         and    i.`equipment_code` like concat('%',#{dto.code},'%')
        </if>
        <if test="dto.name!=null and dto.name!=''">
          and   i.`equipment_name` like concat('%',#{dto.name},'%')
        </if>
        <if test="dto.name!=null and dto.name!=''">
          and   i.measurement_unit like concat('%',#{dto.unit},'%')
        </if>
    </select>
</mapper>
sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java
@@ -3,12 +3,14 @@
import com.yuanchu.limslaboratory.pojo.vo.PlanVo;
import com.yuanchu.limslaboratory.service.PlanService;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.utils.MyUtil;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
@@ -19,6 +21,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@SpringBootTest
class SysApplicationTests {
@@ -154,6 +157,28 @@
            }
        }
    }
    @Test
    void testRedis(){
        boolean b=true;
        if (b) {
            this.contextLoads();
        } else {
            this.TT();
        }
        System.out.println(2024%100);
        new Thread(()->{
            String timeSixNumberCode = MyUtil.getTimeSixNumberCode("CS", "number");
            System.out.println(timeSixNumberCode);
        }).start();
        //new Thread(()->{
        //    String timeSixNumberCode = MyUtil.getTimeSixNumberCode("CS", "number");
        //    System.out.println(timeSixNumberCode);
        //}).start();
        //new Thread(()->{
        //    String timeSixNumberCode = MyUtil.getTimeSixNumberCode("CS", "number");
        //    System.out.println(timeSixNumberCode);
        //}).start();
    }
}