From 653cbd6bc42565dbdcc7fdbe652874738b1908df Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期二, 25 七月 2023 15:32:34 +0800 Subject: [PATCH] LIMS管理系统框架-开发7-25标准库修改前 --- laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateEquipmentPointDto.java | 34 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java | 2 laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java | 8 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterialList.java | 2 inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java | 7 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java | 10 inspection-server/src/main/resources/mapper/InspectionMapper.xml | 13 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java | 71 ++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateInstrumentDto.java | 70 ++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/EquipmentPoint.java | 66 ++ sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java | 3 sys/src/main/resources/application-prod.yml | 2 sys/src/main/resources/application.yml | 5 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpecificationsInformationDto.java | 4 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java | 15 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java | 2 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java | 3 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 8 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMaterialInformation.java | 33 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java | 57 ++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java | 103 +++ laboratory-server/src/main/resources/mapper/InstrumentMapper.xml | 17 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java | 76 ++ standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpeStateSpecificationsDto.java | 4 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java | 27 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java | 80 ++ standard-server/src/main/resources/mapper/SpecificationsMapper.xml | 3 laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java | 81 +++ standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java | 12 framework/src/main/java/com/yuanchu/limslaboratory/exception/MyFileException.java | 18 framework/src/main/java/com/yuanchu/limslaboratory/utils/FileSaveUtil.java | 69 ++ standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java | 6 framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java | 3 standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java | 3 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 2 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InstrumentServiceImpl.java | 64 ++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java | 99 +++ laboratory-server/pom.xml | 6 user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java | 10 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/ClassifyService.java | 12 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/InstrumentService.java | 22 framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java | 36 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java | 9 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java | 56 ++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java | 52 + standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java | 10 sys/src/main/resources/application-dev.yml | 2 laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMetricalInformationDto.java | 53 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateClassifyDto.java | 20 /dev/null | 71 -- laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java | 13 laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml | 7 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java | 12 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 8 laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MetricalInformationMapper.java | 6 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java | 18 laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml | 5 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java | 72 ++ 59 files changed, 1,414 insertions(+), 170 deletions(-) diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java b/framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java index aa0c995..241a68a 100644 --- a/framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java +++ b/framework/src/main/java/com/yuanchu/limslaboratory/config/WebMvcConfig.java @@ -19,7 +19,6 @@ registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); //璁剧疆鏂囦欢铏氭嫙璺緞鏄犲皠 - registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/") - .addResourceLocations("file:"+filePath+"/"); + registry.addResourceHandler("/img/**").addResourceLocations("file:"+filePath+"/"); } } diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/exception/MyFileException.java b/framework/src/main/java/com/yuanchu/limslaboratory/exception/MyFileException.java new file mode 100644 index 0000000..8c0033e --- /dev/null +++ b/framework/src/main/java/com/yuanchu/limslaboratory/exception/MyFileException.java @@ -0,0 +1,18 @@ +package com.yuanchu.limslaboratory.exception; + +public class MyFileException extends RuntimeException{ + public MyFileException() { + } + + public MyFileException(String message) { + super(message); + } + + public MyFileException(Throwable cause) { + super(cause); + } + + public MyFileException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java index 0dd0dfd..976777b 100644 --- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java +++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java @@ -1,16 +1,22 @@ package com.yuanchu.limslaboratory.handler; +import com.yuanchu.limslaboratory.exception.MyFileException; +import com.yuanchu.limslaboratory.utils.MyUtil; import com.yuanchu.limslaboratory.vo.Result; import lombok.extern.slf4j.Slf4j; +import org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException; +import org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException; import org.springframework.beans.ConversionNotSupportedException; import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.DuplicateKeyException; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.multipart.MultipartException; import java.io.FileNotFoundException; import java.io.IOException; @@ -20,6 +26,13 @@ @Slf4j @RestControllerAdvice public class GlobalExceptionHandler { + + @Value("${spring.servlet.multipart.max-file-size}") + private String maxFileSize; + + @Value("${spring.servlet.multipart.max-request-size}") + private String maxRequestSize; + @ExceptionHandler(SQLException.class) public Result<?> handlerSQLException(SQLException e) { @@ -155,6 +168,29 @@ return Result.fail("闄ゆ暟涓嶈兘涓�0寮傚父"); } + /** + *鏂囦欢杩囧ぇ鎶ラ敊鎻愮ず + */ + @ExceptionHandler({MultipartException.class}) + public Result<?> fileUploadExceptionHandler(MultipartException e) { + String msg; + Throwable rootCause = e.getRootCause(); + if (rootCause instanceof FileSizeLimitExceededException) { + msg="涓婁紶鏂囦欢杩囧ぇ銆愬崟涓枃浠跺ぇ灏忎笉寰楄秴杩�" + maxFileSize + "銆�"; + }else if(rootCause instanceof SizeLimitExceededException){ + msg="涓婁紶鏂囦欢杩囧ぇ銆愭�讳笂浼犲ぇ灏忎笉寰楄秴杩�" + maxRequestSize + "銆�"; + }else { + msg="鏂囦欢涓婁紶澶辫触銆愭湇鍔″櫒寮傚父銆�"; + } + return Result.fail(msg); + } + + /** 鏂囦欢鍚庣紑鍚嶄笉閫氳繃杩斿洖鎻愮ず */ + @ExceptionHandler({MyFileException.class}) + public Result<?> myFileException(Exception e) { + return Result.fail("鎶辨瓑涓嶆敮鎸併��" + e.getMessage() +"銆戝悗缂�鐨勬枃浠讹紒"); + } + /** 鍏朵粬閿欒 */ @ExceptionHandler({Exception.class}) public Result<?> exception(Exception e) { diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/FileSaveUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/FileSaveUtil.java index 75e28eb..1fd71d9 100644 --- a/framework/src/main/java/com/yuanchu/limslaboratory/utils/FileSaveUtil.java +++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/FileSaveUtil.java @@ -1,10 +1,16 @@ package com.yuanchu.limslaboratory.utils; +import com.yuanchu.limslaboratory.exception.MyFileException; import lombok.extern.slf4j.Slf4j; import org.apache.tomcat.util.http.fileupload.IOUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import org.springframework.util.FileSystemUtils; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.PostConstruct; import java.io.ByteArrayInputStream; +import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -16,32 +22,62 @@ public class FileSaveUtil { // 鍙杫ml涓殑璺緞 + / -// @Value("${file.path}") - private String FILE_PATH; + private static String FILE_PATH; + private static String[] ALLOWED; + + @Value("${file.path}") + private String file; + + @Value("${file.allowed}") + private String[] allowed; + + @PostConstruct + public void getFile() { + FILE_PATH = this.file; + } + + @PostConstruct + public void getAllowed(){ + ALLOWED = this.allowed; + } /** * 瀛樺偍鏂囦欢涓诲嚱鏁� - * @param content 鏂囦欢浜岃繘鍒舵祦 - * @param originalFilename 鏂囦欢鍚嶇О + * @param file 鏂囦欢浜岃繘鍒舵祦 * @return 杩斿洖鏂囦欢鍚嶇О鐢ㄤ簬瀛樺偍鏁版嵁搴� */ - public String StoreFile(byte[] content, String originalFilename) { + public static String StoreFile(MultipartFile file) { + String originalFilename = file.getOriginalFilename(); // 鐢熸垚闅忔満鍚嶇О锛氭椂闂確闅忔満6浣嶆暟瀛� String FileName = System.currentTimeMillis() + "_" + MyUtil.getNumber(6); - String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); + String suffix = null; + if (originalFilename != null) { + suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); + // 濡傛灉鍚庣紑鍚嶄笉閫氳繃鎶涘嚭寮傚父 + if (!isFileAllowed(suffix)){ + throw new MyFileException(suffix); + } + } // 鍚嶇О鎷兼帴 String fileName = FileName + suffix; // 杩涜瀛樺偍 - storeFileWithFileName(content, fileName); + try { + storeFileWithFileName(file.getBytes(), fileName); + } catch (IOException e) { + throw new RuntimeException(e); + } return fileName; } + public static Boolean DeleteFile(String fileName) { + return FileSystemUtils.deleteRecursively(new File(FILE_PATH + "/" + fileName)); + } /** * 瀛樺偍鏂囦欢鍑芥暟 * @param content 鏂囦欢浜岃繘鍒舵祦 * @param fileName 鏂囦欢鍚嶇О */ - private void storeFileWithFileName(byte[] content, String fileName) { + private static void storeFileWithFileName(byte[] content, String fileName) { // 瀛樺偍璺緞 String path = FILE_PATH + java.io.File.separatorChar; // 鐩綍涓嶅瓨鍦ㄥ垯鍒涘缓 @@ -57,4 +93,21 @@ MyUtil.PrintLog("瀛樺偍鏂囦欢寮傚父锛�" + e); } } + + /** + * 鍒ゆ柇鏂囦欢鏄惁琚厑璁镐笂浼� + * + * @param fileName 鏂囦欢鍚� + * @return 鍏佽true, 鍚﹀垯false + */ + private static boolean isFileAllowed(String fileName) { + // 鑾峰彇鍚庣紑鍚� + String suffixName = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); + for (String allow : ALLOWED) { + if (allow.equals(suffixName)) { + return true; + } + } + return false; + } } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java index fc125fe..106c79a 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java @@ -19,4 +19,6 @@ List<InspectionDto> selectAllInspection(int pageSize, int countSize, Integer state); + int selectInspectToCount(Integer state); + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterialList.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterialList.java index dca2648..b362524 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterialList.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterialList.java @@ -27,7 +27,7 @@ @TableId(value = "id", type = IdType.AUTO) @ApiModelProperty(value = "id", hidden = true) - private int id; + private Integer id; @ApiModelProperty(value = "materialId") private String materialId; diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java index 2f3174e..cf7f25e 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java @@ -1,11 +1,18 @@ package com.yuanchu.limslaboratory.pojo.dto; import com.yuanchu.limslaboratory.pojo.Inspection; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.io.Serializable; +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value="InspectionDto妫�楠屽崟瀵硅薄", description="") public class InspectionDto extends Inspection implements Serializable { private static final long serialVersionUID = 1L; diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java index f4c1e86..ac69116 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java @@ -19,9 +19,10 @@ Inspection addInspection(String userName,int type); - List<InspectionDto> selectAllInspection(int pageSize, int countSize, Integer state); + Map selectAllInspection(int pageSize, int countSize, Integer state); boolean delInspectionByInsId(String inspectionId); boolean subInspectionByInsId(String inspectionId); + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java index 0f49d8c..a85c835 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java @@ -12,6 +12,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -39,8 +40,11 @@ } @Override - public List<InspectionDto> selectAllInspection(int pageSize, int countSize, Integer state) { - return inspectionMapper.selectAllInspection((pageSize - 1) * countSize,pageSize * countSize, state); + public Map selectAllInspection(int pageSize, int countSize, Integer state) { + Map map = new HashMap(); + map.put("data",inspectionMapper.selectAllInspection((pageSize - 1) * countSize,pageSize * countSize, state)); + map.put("count", inspectionMapper.selectInspectToCount(state)); + return map; } @Override diff --git a/inspection-server/src/main/resources/mapper/InspectionMapper.xml b/inspection-server/src/main/resources/mapper/InspectionMapper.xml index dd3aef4..8ba9919 100644 --- a/inspection-server/src/main/resources/mapper/InspectionMapper.xml +++ b/inspection-server/src/main/resources/mapper/InspectionMapper.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.InspectionMapper"> - <select id="selectAllInspection" resultType="InspectionDto"> - select i.id, type, inspection_status, qualified_state, i.state, i.create_time, user_name, inspect_user_id, inspect_start_time, inspect_end_time, u.name inspectUserName + <select id="selectAllInspection" resultType="com.yuanchu.limslaboratory.pojo.dto.InspectionDto"> + select i.id, type, inspection_status, qualified_state, i.create_time, user_name, inspect_start_time, inspect_end_time, u.name inspectUserName from inspection i left join user u on i.inspect_user_id = u.id <if test="state!=null"> @@ -11,4 +11,13 @@ order by i.create_time desc limit #{pageSize},#{countSize} </select> + <select id="selectInspectToCount" resultType="java.lang.Integer"> + select count(*) + from inspection i left join user u + on i.inspect_user_id = u.id + <if test="state!=null"> + where state = #{state} + </if> + </select> + </mapper> diff --git a/laboratory-server/pom.xml b/laboratory-server/pom.xml index f8e87c8..865f62c 100644 --- a/laboratory-server/pom.xml +++ b/laboratory-server/pom.xml @@ -20,5 +20,11 @@ <artifactId>framework</artifactId> <version>${project.parent.version}</version> </dependency> + + <dependency> + <groupId>com.yunchu.limslaboratory</groupId> + <artifactId>user-server</artifactId> + <version>${project.parent.version}</version> + </dependency> </dependencies> </project> diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java index a47de28..7b4b808 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java @@ -1,9 +1,19 @@ package com.yuanchu.limslaboratory.controller; -import org.springframework.web.bind.annotation.RequestMapping; - -import org.springframework.web.bind.annotation.RestController; +import com.yuanchu.limslaboratory.pojo.Classify; +import com.yuanchu.limslaboratory.pojo.dto.UpdateClassifyDto; +import com.yuanchu.limslaboratory.service.ClassifyService; +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.utils.MyUtil; +import com.yuanchu.limslaboratory.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.*; /** * <p> @@ -13,8 +23,64 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-20 */ +@Api(tags = "瀹為獙瀹�-->璁惧鍙拌处-->1銆佸垎绫绘ā鍧�") @RestController @RequestMapping("/classify") public class ClassifyController { + @Autowired + private ClassifyService classifyService; + + @ApiOperation("娣诲姞鍒嗙被锛氬鏋滈�夋嫨浜唍ame鍗虫坊鍔犵殑涓哄瓙鑺傜偣鏁版嵁锛涘鏋滄病鏈夐�夋嫨鍗虫坊鍔犵殑涓虹埗鑺傜偣鏁版嵁锛涘悗鍙板鐞�") + @PostMapping("/add") + public Result<?> addClassifyInformation(@RequestBody Classify classify) { + if (ObjectUtils.isEmpty(classify.getSonName())){ + return Result.fail("璇峰~鍐欏垎绫诲悕绉帮紒"); + } + Integer isAddClassifySuccess = classifyService.addClassifyInformation(classify); + if (isAddClassifySuccess == 1) { + if (ObjectUtils.isEmpty(classify.getSonName())){ + return Result.success("娣诲姞鐖剁骇銆�"+ classify.getFatherName() +"銆戝垎绫绘垚鍔燂紒"); + } + return Result.success("娣诲姞鍒嗙被銆�"+ classify.getSonName() +"銆戞垚鍔燂紒"); + } else if (isAddClassifySuccess == 2){ + return Result.fail("鎶辨瓑閲嶅娣诲姞鐖剁骇銆�"+ classify.getFatherName() +"銆戝垎绫伙紝娣诲姞澶辫触锛�"); + } else if (isAddClassifySuccess == 3) { + return Result.fail("鎶辨瓑閲嶅娣诲姞瀛愮骇銆�"+ classify.getSonName() +"銆戯紝娣诲姞澶辫触锛�"); + } + return Result.fail("娣诲姞鍒嗙被銆�"+ classify.getSonName() +"銆戝け璐ワ紒"); + } + + @ApiOperation("鍒嗙被渚ц竟鏍忓垪琛細濡傛灉sonName涓虹┖锛屽垯甯︾潃father_name鐨処d杩涜鐐瑰嚮鎿嶄綔") + @GetMapping("/list") + @ApiImplicitParams(value = { + @ApiImplicitParam(value = "鍒嗙被鍚嶇О", name = "classifyName", dataTypeClass = String.class) + }) + public Result<?> getListClassifyInformation(String classifyName) { + return Result.success(classifyService.getListClassifyInformation(classifyName)); + } + + @ApiOperation("鍒犻櫎鍒嗙被") + @DeleteMapping("/delete") + @ApiImplicitParams(value = { + @ApiImplicitParam(value = "鍒嗙被Id", name = "classifyId", dataTypeClass = String.class) + }) + public Result<?> deleteClassifyInformation(String classifyId) { + Boolean isDeleteSuccess = classifyService.deleteClassifyInformation(classifyId); + if (isDeleteSuccess){ + return Result.success("鍒犻櫎鍒嗙被鎴愬姛锛�"); + } + return Result.fail("鍒犻櫎鍒嗙被澶辫触锛�"); + } + + @ApiOperation("鏇存柊鍒嗙被") + @PutMapping("/update") + public Result<?> updateClassifyInformation(@RequestBody UpdateClassifyDto updateClassifyDto) throws Exception { + Classify classify = JackSonUtil.unmarshal(JackSonUtil.marshal(updateClassifyDto), Classify.class); + Boolean isUpdateClassifySuccess = classifyService.updateClassifyInformation(classify); + if (isUpdateClassifySuccess){ + return Result.success("鏇存柊鍒嗙被鎴愬姛锛�"); + } + return Result.fail("鏇存柊鍒嗙被澶辫触锛�"); + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java index ae1075c..4753c3e 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java @@ -1,9 +1,26 @@ package com.yuanchu.limslaboratory.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.pojo.EquipmentPoint; +import com.yuanchu.limslaboratory.pojo.dto.UpdateEquipmentPointDto; +import com.yuanchu.limslaboratory.service.EquipmentPointService; +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.utils.MyUtil; +import com.yuanchu.limslaboratory.utils.RedisUtil; +import com.yuanchu.limslaboratory.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * <p> @@ -13,8 +30,58 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-20 */ +@Api(tags = "瀹為獙瀹�-->璁惧鍙拌处-->3銆佽澶囩爜鐐�") @RestController @RequestMapping("/equipment-point") public class EquipmentPointController { + @Autowired + private EquipmentPointService equipmentPointService; + + @ApiOperation("娣诲姞璁惧鐮佺偣") + @PostMapping("/add") + public Result<?> addEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody EquipmentPoint equipmentPoint) throws Exception { + Object object = RedisUtil.get(token); + Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); + equipmentPoint.setUserId((Integer) unmarshal.get("id")); + Integer isInsertSuccess = equipmentPointService.addEquipmentPointInformation(equipmentPoint); + if (isInsertSuccess == 1){ + return Result.success("娣诲姞銆�"+ equipmentPoint.getEquipmentPointName() +"銆戞垚鍔燂紒"); + } + return Result.fail("娣诲姞銆�"+ equipmentPoint.getEquipmentPointName() +"銆戝け璐ワ紒璁惧鐮佺偣缂栫爜閲嶅锛�"); + } + + @ApiOperation("鏌ヨ鎵�鏈夎澶囩爜鐐规暟鎹�") + @GetMapping("/list") + public Result<?> getListEquipmentPointInformation() { + List<Map<String, Object>> list = equipmentPointService.getListEquipmentPointInformation(); + return Result.success(list); + } + + @ApiOperation("鏍规嵁鐮佺偣Id鍒犻櫎鏁版嵁") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "equipmentPointId", value = "璁惧鐮佺偣Id", dataTypeClass = Integer.class, required = true) + }) + @DeleteMapping("/delete") + public Result<?> deleteEquipmentPointInformation(Integer equipmentPointId) { + Integer isDeleteSuccess = equipmentPointService.deleteEquipmentPointInformation(equipmentPointId); + if (isDeleteSuccess == 1){ + return Result.success("鍒犻櫎鎴愬姛锛�"); + } + return Result.fail("鍒犻櫎澶辫触锛�"); + } + + @ApiOperation("鏍规嵁鐮佺偣Id鏇存柊鏁版嵁") + @PutMapping("/update") + public Result<?> updateEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody UpdateEquipmentPointDto updateEquipmentPointDto) throws Exception { + Object object = RedisUtil.get(token); + Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); + EquipmentPoint equipmentPoint = JackSonUtil.unmarshal(JackSonUtil.marshal(updateEquipmentPointDto), EquipmentPoint.class); + equipmentPoint.setUserId((Integer) unmarshal.get("id")); + Integer isUpdateSuccess = equipmentPointService.updateEquipmentPointInformation(equipmentPoint); + if (isUpdateSuccess == 1){ + return Result.success("鏇存柊鎴愬姛锛�"); + } + return Result.fail("鏇存柊澶辫触锛�"); + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java index 3b1ee87..3c95351 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java @@ -1,9 +1,24 @@ package com.yuanchu.limslaboratory.controller; -import org.springframework.web.bind.annotation.RequestMapping; +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.dto.UpdateInstrumentDto; +import com.yuanchu.limslaboratory.service.InstrumentService; +import com.yuanchu.limslaboratory.service.UserService; +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; /** * <p> @@ -13,8 +28,88 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-20 */ +@Api(tags = "瀹為獙瀹�-->璁惧鍙拌处-->2銆佷华鍣ㄦā鍧�") @RestController @RequestMapping("/instrument") public class InstrumentController { + @Autowired + private InstrumentService instrumentService; + + @Autowired + private UserService userService; + + @ApiOperation("娣诲姞浠櫒璁惧") + @PostMapping("/add") + public Result<?> addInstrumentInformation(@RequestBody Instrument instrument) { + Integer isInsertSuccess = instrumentService.addInstrumentInformation(instrument); + if (isInsertSuccess == 1){ + return Result.success("娣诲姞銆�" + instrument.getEquipmentName() + "銆戞垚鍔�!"); + } + return Result.fail("浠櫒璁惧缂栧彿閲嶅锛屾坊鍔犮��" + instrument.getEquipmentName() + "銆戝け璐�! "); + } + + @ApiOperation("鏍规嵁鍒嗙被Id锛氬垎椤靛垪琛ㄥ睍绀�") + @GetMapping("/list") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "classifyId", value = "鍒嗙被Id", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "pageNo", value = "璧峰椤�", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "conditions", value = "鏌ヨ鐘舵��:榛樿鍏ㄩ儴", dataTypeClass = Integer.class), + @ApiImplicitParam(name = "whetherWhether", value = "鏄惁宸茶繃鏈�", dataTypeClass = Boolean.class), + @ApiImplicitParam(name = "numberOrNameOrSpecifications", value = "缂栧彿/璁惧鍚嶇О/瑙勬牸鍨嬪彿", dataTypeClass = String.class) + }) + public Result<?> getListInstrumentInformation(Integer pageNo, + Integer pageSize, + Integer conditions, + Integer classifyId, + Boolean whetherWhether, + String numberOrNameOrSpecifications) { + IPage<Map<String, Object>> pageList = instrumentService.getListInstrumentInformation(conditions, whetherWhether, numberOrNameOrSpecifications, + classifyId, new Page<Objects>(pageNo, pageSize)); + Map<String, Object> map = new HashMap<>(); + map.put("row", pageList.getRecords()); + map.put("total", pageList.getTotal()); + return Result.success(map); + } + + @ApiOperation("鍒犻櫎浠櫒鏁版嵁") + @DeleteMapping("/delete") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "instrumentId", value = "浠櫒Id", dataTypeClass = String.class, required = true) + }) + public Result<?> deleteInstrumentInformation(String instrumentId) { + Boolean isDeleteSuccess = instrumentService.deleteInstrumentInformation(instrumentId); + if (isDeleteSuccess){ + return Result.success("鍒犻櫎浠櫒鎴愬姛锛�"); + } + return Result.fail("鍒犻櫎浠櫒澶辫触锛�"); + } + + @ApiOperation("娣诲姞浠櫒鏃朵繚绠′汉涓嬫媺妗嗘暟鎹�") + @GetMapping("/get_user") + public Result<?> getMapUserInformation() { + return Result.success(userService.getUserNameAndId()); + } + + @ApiOperation("鏍规嵁浠櫒Id鑾峰彇淇℃伅鐢ㄤ簬缂栬緫") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "InstrumentId", value = "鍒嗙被Id", dataTypeClass = Integer.class, required = true) + }) + @GetMapping("/get_instrument") + public Result<?> getIdInstrumentInformation(Integer InstrumentId) { + Instrument idInstrumentInformation = instrumentService.getIdInstrumentInformation(InstrumentId); + return Result.success(idInstrumentInformation); + } + + @ApiOperation("鏍规嵁浠櫒Id鏇存柊鏁版嵁") + @PutMapping("/update") + public Result<?> updateEquipmentPointInformation(@RequestBody UpdateInstrumentDto updateInstrumentDto) throws Exception { + Instrument instrument = JackSonUtil.unmarshal(JackSonUtil.marshal(updateInstrumentDto), Instrument.class); + Integer isUpdateSuccess = instrumentService.updateEquipmentPointInformation(instrument); + if (isUpdateSuccess == 1){ + return Result.success("鏇存柊銆�" + instrument.getEquipmentName() + "銆戞垚鍔�!"); + } + return Result.fail("浠櫒璁惧缂栧彿閲嶅锛屾洿鏂般��" + instrument.getEquipmentName() + "銆戝け璐�! "); + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java index 6b7ceb6..658b589 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java @@ -1,9 +1,24 @@ package com.yuanchu.limslaboratory.controller; +import com.yuanchu.limslaboratory.pojo.EquipmentPoint; +import com.yuanchu.limslaboratory.pojo.MetricalInformation; +import com.yuanchu.limslaboratory.pojo.dto.UpdateEquipmentPointDto; +import com.yuanchu.limslaboratory.pojo.dto.UpdateMetricalInformationDto; +import com.yuanchu.limslaboratory.service.MetricalInformationService; +import com.yuanchu.limslaboratory.service.UserService; +import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.utils.RedisUtil; +import com.yuanchu.limslaboratory.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.bind.annotation.RequestMapping; - -import org.springframework.web.bind.annotation.RestController; +import java.util.List; +import java.util.Map; /** * <p> @@ -13,8 +28,63 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-20 */ +@Api(tags = "瀹為獙瀹�-->璁惧鍙拌处-->4銆佽閲忎俊鎭�") @RestController @RequestMapping("/metrical-information") public class MetricalInformationController { + @Autowired + private MetricalInformationService metricalInformationService; + + @Autowired + private UserService userService; + + @ApiOperation("娣诲姞璁¢噺淇℃伅") + @PostMapping("/add") + public Result<?> addMetricalInformation(MetricalInformation metricalInformation, + @RequestPart(value = "file", required = false) MultipartFile file) { + Integer isInsertSuccess = metricalInformationService.addEquipmentPointInformation(metricalInformation, file); + if (isInsertSuccess == 1){ + return Result.success("娣诲姞銆�"+ metricalInformation.getMeasurementUnit() +"銆戞垚鍔燂紒"); + } + return Result.fail("娣诲姞銆�"+ metricalInformation.getMeasurementUnit() +"銆戝け璐ワ紒璁惧鐮佺偣缂栫爜閲嶅锛�"); + } + + @ApiOperation("鏌ヨ鎵�鏈夎閲忎俊鎭暟鎹�") + @GetMapping("/list") + public Result<?> getListMetricalInformation() { + List<Map<String, Object>> list = metricalInformationService.getListEquipmentPointInformation(); + return Result.success(list); + } + + @ApiOperation("鏍规嵁璁¢噺淇℃伅Id鍒犻櫎鏁版嵁") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "metricalInformationId", value = "璁¢噺淇℃伅Id", dataTypeClass = Integer.class, required = true) + }) + @DeleteMapping("/delete") + public Result<?> deleteMetricalInformation(Integer metricalInformationId) { + Integer isDeleteSuccess = metricalInformationService.deleteMetricalInformation(metricalInformationId); + if (isDeleteSuccess == 1){ + return Result.success("鍒犻櫎鎴愬姛锛�"); + } + return Result.fail("鍒犻櫎澶辫触锛�"); + } + + @ApiOperation("鏍规嵁璁¢噺淇℃伅Id鏇存柊鏁版嵁") + @PutMapping("/update") + public Result<?> updateMetricalInformation(UpdateMetricalInformationDto updateMetricalInformationDto, + @RequestPart(value = "file", required = false) MultipartFile file) throws Exception { + MetricalInformation metricalInformation = JackSonUtil.unmarshal(JackSonUtil.marshal(updateMetricalInformationDto), MetricalInformation.class); + Integer isUpdateSuccess = metricalInformationService.updateMetricalInformation(metricalInformation, file); + if (isUpdateSuccess == 1){ + return Result.success("鏇存柊鎴愬姛锛�"); + } + return Result.fail("鏇存柊澶辫触锛�"); + } + + @ApiOperation("娣诲姞璁¢噺淇℃伅鏃惰礋璐d汉涓嬫媺妗嗘暟鎹�") + @GetMapping("/get_user") + public Result<?> getMapUserInformation() { + return Result.success(userService.getUserNameAndId()); + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/Classify.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/Classify.java deleted file mode 100644 index f2b7f24..0000000 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/Classify.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.yuanchu.limslaboratory.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; -import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * <p> - * - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-07-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@ApiModel(value="Classify瀵硅薄", description="") -public class Classify implements Serializable { - - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "鍒嗙被涓婚敭") - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "鍒嗙被鐖跺悕绉�") - private String name; - - @ApiModelProperty(value = "鍒嗙被瀛愬悕绉�") - private String sonName; - - @ApiModelProperty(value = "閫昏緫鍒犻櫎") - private Integer state; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "涔愯閿�") - private Integer version; - - -} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/EquipmentPoint.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/EquipmentPoint.java deleted file mode 100644 index 88a2b46..0000000 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/EquipmentPoint.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.yuanchu.limslaboratory.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; -import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * <p> - * - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-07-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@ApiModel(value="EquipmentPoint瀵硅薄", description="") -public class EquipmentPoint implements Serializable { - - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "涓婚敭") - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "浠櫒Id 鍏宠仈") - private Integer instrumentId; - - @ApiModelProperty(value = "鐢ㄦ埛Id 鍏宠仈") - private Integer userId; - - @ApiModelProperty(value = "鐮佺偣缂栧彿") - private String equipmentPoint; - - @ApiModelProperty(value = "鐮佺偣鍚嶇О") - private String equipmentPointName; - - @ApiModelProperty(value = "鍗曚綅") - private String unit; - - @ApiModelProperty(value = "鎻忚堪") - private String describe; - - @ApiModelProperty(value = "鍒涘缓鏃ユ湡") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃ユ湡") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "閫昏緫鍒犻櫎") - private Integer state; - - @ApiModelProperty(value = "涔愯閿�") - private Integer version; - - -} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/Instrument.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/Instrument.java deleted file mode 100644 index 2f9f6f9..0000000 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/Instrument.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.yuanchu.limslaboratory.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; -import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * <p> - * - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-07-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@ApiModel(value="Instrument瀵硅薄", description="") -public class Instrument implements Serializable { - - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "涓婚敭") - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "鍒嗙被ID 鍏宠仈") - private Integer classifyId; - - @ApiModelProperty(value = "浠櫒璁惧缂栧彿") - private String equipmentCode; - - @ApiModelProperty(value = "浠櫒璁惧鍚嶇О") - private String equipmentName; - - @ApiModelProperty(value = "榛樿1锛�1锛氳繍琛屻��2锛氭晠闅溿��3锛氭姤淇��4锛氭淇��5锛氬緟鏈�") - private Integer condition; - - @ApiModelProperty(value = "瑙勬牸鍨嬪彿") - private String specificationsModels; - - @ApiModelProperty(value = "娴嬮噺鑼冨洿") - private String measuringRange; - - @ApiModelProperty(value = "璇樊") - private String errorRate; - - @ApiModelProperty(value = "鐢熶骇鍘傚") - private String manufacturer; - - @ApiModelProperty(value = "鍒拌揣鏃ユ湡") - private LocalDateTime arrivalDate; - - @ApiModelProperty(value = "楠屾敹鏃ユ湡") - private LocalDateTime acceptanceDate; - - @ApiModelProperty(value = "瀛樻斁鍦�") - private String storagePlace; - - @ApiModelProperty(value = "淇濈浜�") - private Integer keeper; - - @ApiModelProperty(value = "鏄惁鏀寔鏁伴噰") - private Integer whetherDataAcquisition; - - @ApiModelProperty(value = "鏄惁闇�瑕佷华鍣ㄨ澶囪閲忥細濡傛灉闇�瑕佽閲忓懆鏈熷繀濉紱濡傛灉涓嶉渶瑕佽閲忓懆鏈熶笉蹇呭~") - private Integer equipmentMeasurement; - - @ApiModelProperty(value = "璁¢噺鎴鏈夋晥鏈�") - private LocalDateTime termValidity; - - @ApiModelProperty(value = "鎻忚堪") - private String describe; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "閫昏緫鍒犻櫎") - private Integer state; - - @ApiModelProperty(value = "涔愯閿�") - private Integer version; - - -} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/MetricalInformation.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/MetricalInformation.java deleted file mode 100644 index 413f938..0000000 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/entity/MetricalInformation.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yuanchu.limslaboratory.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; -import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * <p> - * - * </p> - * - * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 - * @since 2023-07-20 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@ApiModel(value="MetricalInformation瀵硅薄", description="") -public class MetricalInformation implements Serializable { - - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "涓婚敭") - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - @ApiModelProperty(value = "鐢ㄦ埛鍏宠仈Id") - private Integer userId; - - @ApiModelProperty(value = "璁¢噺鍗曚綅") - private String measurementUnit; - - @ApiModelProperty(value = "寮�濮嬫棩鏈�") - private LocalDateTime beginDate; - - @ApiModelProperty(value = "缁撴潫鏃ユ湡") - private LocalDateTime endDate; - - @ApiModelProperty(value = "涓嶇‘瀹氬害") - private String uncertainty; - - @ApiModelProperty(value = "缁撴灉 1锛氬悎鏍硷紱2锛氱煫姝e悗鍙敤锛�3锛氫笉鍚堟牸") - private Integer result; - - @ApiModelProperty(value = "鎬ц兘鎸囨爣") - private String performanceIndex; - - @ApiModelProperty(value = "澶囨敞") - private String remarks; - - @ApiModelProperty(value = "鏂囦欢璺緞") - private String filePath; - - @ApiModelProperty(value = "鍒涘缓鏃堕棿") - private LocalDateTime createTime; - - @ApiModelProperty(value = "鏇存柊鏃堕棿") - private LocalDateTime updateTime; - - @ApiModelProperty(value = "閫昏緫鍒犻櫎") - private Integer state; - - @ApiModelProperty(value = "涔愯閿�") - private Integer version; - - -} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java index 44ca9c2..4d2856c 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/ClassifyMapper.java @@ -1,6 +1,6 @@ package com.yuanchu.limslaboratory.mapper; -import com.yuanchu.limslaboratory.entity.Classify; +import com.yuanchu.limslaboratory.pojo.Classify; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java index f84a489..3dd46b8 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java @@ -1,7 +1,13 @@ package com.yuanchu.limslaboratory.mapper; -import com.yuanchu.limslaboratory.entity.EquipmentPoint; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.pojo.EquipmentPoint; import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * <p> @@ -13,4 +19,5 @@ */ public interface EquipmentPointMapper extends BaseMapper<EquipmentPoint> { + List<Map<String, Object>> getListEquipmentPointInformation(); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java index 9c784a7..64b717a 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java @@ -1,7 +1,12 @@ package com.yuanchu.limslaboratory.mapper; -import com.yuanchu.limslaboratory.entity.Instrument; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.pojo.Instrument; import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.Map; +import java.util.Objects; /** * <p> @@ -13,4 +18,5 @@ */ public interface InstrumentMapper extends BaseMapper<Instrument> { + IPage<Map<String, Object>> getListInstrumentInformation(Integer conditions,Boolean whetherWhether, String numberOrNameOrSpecifications, Integer classifyId, Page<Objects> page); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MetricalInformationMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MetricalInformationMapper.java index a10d744..987c803 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MetricalInformationMapper.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MetricalInformationMapper.java @@ -1,7 +1,10 @@ package com.yuanchu.limslaboratory.mapper; -import com.yuanchu.limslaboratory.entity.MetricalInformation; +import com.yuanchu.limslaboratory.pojo.MetricalInformation; import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; +import java.util.Map; /** * <p> @@ -13,4 +16,5 @@ */ public interface MetricalInformationMapper extends BaseMapper<MetricalInformation> { + List<Map<String, Object>> getListEquipmentPointInformation(); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java new file mode 100644 index 0000000..8bb4eb1 --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java @@ -0,0 +1,57 @@ +package com.yuanchu.limslaboratory.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2023-07-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="Classify瀵硅薄", description="") +public class Classify implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鍒嗙被涓婚敭", hidden = true) + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "鍒嗙被鐖跺悕绉�", example = "娓╁害娴嬮噺浠〃") + private String fatherName; + + @ApiModelProperty(value = "鍒嗙被瀛愬悕绉�", example = "浣撴俯璁�",required = true) + private String sonName; + + @TableLogic(value = "1", delval = "0") + @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) + private Integer state; + + @TableField(fill = FieldFill.INSERT) + @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @ApiModelProperty(value = "涔愯閿�", hidden = true) + private Integer version; + + +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/EquipmentPoint.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/EquipmentPoint.java new file mode 100644 index 0000000..0d9a4f5 --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/EquipmentPoint.java @@ -0,0 +1,66 @@ +package com.yuanchu.limslaboratory.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2023-07-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="EquipmentPoint瀵硅薄", description="") +public class EquipmentPoint implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "涓婚敭", hidden = true) + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "浠櫒Id 鍏宠仈", example = "1", required = true) + private Integer instrumentId; + + @ApiModelProperty(value = "鐢ㄦ埛Id 鍏宠仈", hidden = true) + private Integer userId; + + @ApiModelProperty(value = "鐮佺偣缂栧彿", example = "Area-1", required = true) + private String equipmentPoint; + + @ApiModelProperty(value = "鐮佺偣鍚嶇О", example = "瀵间綋灞忚斀锛堝鍘氶潰绉級", required = true) + private String equipmentPointName; + + @ApiModelProperty(value = "鍗曚綅", example = "mm", required = true) + private String unit; + + @ApiModelProperty(value = "鎻忚堪", example = "鐤簡锛屽仛涓嶄簡") + private String descriptiveness; + + @TableLogic(value = "1", delval = "0") + @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) + private Integer state; + + @TableField(fill = FieldFill.INSERT) + @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + private Date createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true) + private Date updateTime; + + @ApiModelProperty(value = "涔愯閿�", hidden = true) + private Integer version; +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java new file mode 100644 index 0000000..0b581ec --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java @@ -0,0 +1,103 @@ +package com.yuanchu.limslaboratory.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2023-07-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="Instrument瀵硅薄", description="") +public class Instrument implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "涓婚敭", hidden = true) + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "鍒嗙被ID 鍏宠仈", example = "1", required = true) + private Integer classifyId; + + @ApiModelProperty(value = "淇濈浜猴細鐢ㄦ埛琛ㄥ叧鑱擨d", example = "9", required = true) + private Integer userId; + + @ApiModelProperty(value = "浠櫒璁惧缂栧彿", example = "JSTC-W1-00001", required = true) + private String equipmentCode; + + @ApiModelProperty(value = "浠櫒璁惧鍚嶇О", example = "鏁板瓧鐢垫ˉ", required = true) + private String equipmentName; + + @ApiModelProperty(value = "榛樿1锛�1锛氳繍琛屻��2锛氭晠闅溿��3锛氭姤淇��4锛氭淇��5锛氬緟鏈�", example = "1", required = true) + private Integer conditions; + + @ApiModelProperty(value = "瑙勬牸鍨嬪彿", example = "WCDMS-1", required = true) + private String specificationsModels; + + @ApiModelProperty(value = "娴嬮噺鑼冨洿", example = "12姣背") + private String measuringRange; + + @ApiModelProperty(value = "璇樊", example = "0.000001寰背") + private String errorRate; + + @ApiModelProperty(value = "鐢熶骇鍘傚", example = "姹熻嫃榈烽洀") + private String manufacturer; + + @ApiModelProperty(value = "鍒拌揣鏃ユ湡", example = "2001-07-06", dataType = "date") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date arrivalDate; + + @ApiModelProperty(value = "楠屾敹鏃ユ湡", example = "2060-07-06", dataType = "date") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date acceptanceDate; + + @ApiModelProperty(value = "瀛樻斁鍦�", example = "鍦扮悆浜氭床涓浗姹熻嫃鍗楅��") + private String storagePlace; + + @ApiModelProperty(value = "鏄惁鏀寔鏁伴噰锛�1锛氭敮鎸侊紱0锛氫笉鏀寔", example = "1") + private Integer whetherDataAcquisition; + + @ApiModelProperty(value = "鏄惁闇�瑕佷华鍣ㄨ澶囪閲忥細濡傛灉闇�瑕佽閲忓懆鏈熷繀濉紱濡傛灉涓嶉渶瑕佽閲忓懆鏈熶笉蹇呭~.1锛氶渶瑕侊紱0锛氫笉闇�瑕�", example = "0") + private Integer equipmentMeasurement; + + @ApiModelProperty(value = "璁¢噺鎴鏈夋晥鏈燂細涓巈quipmentMeasurement鐩稿叧鑱�", example = "12") + private Integer termValidity; + + @ApiModelProperty(value = "鎻忚堪", example = "鐤媯鏄熸湡浜旓紒锛侊紒") + private String descriptiveness; + + @JsonIgnore + @TableLogic(value = "1", delval = "0") + @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) + private Integer state; + + @JsonIgnore + @TableField(fill = FieldFill.INSERT) + @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + private Date createTime; + + @JsonIgnore + @TableField(fill = FieldFill.INSERT_UPDATE) + @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true) + private Date updateTime; + + @JsonIgnore + @ApiModelProperty(value = "涔愯閿�", hidden = true) + private Integer version; + +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java new file mode 100644 index 0000000..660d10d --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java @@ -0,0 +1,81 @@ +package com.yuanchu.limslaboratory.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +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; + +/** + * <p> + * + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2023-07-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="MetricalInformation瀵硅薄", description="") +public class MetricalInformation implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "涓婚敭", hidden = true) + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "鐢ㄦ埛鍏宠仈Id", example = "7", required = true) + private Integer userId; + + @ApiModelProperty(value = "璁¢噺鍗曚綅", example = "GB", required = true) + private String measurementUnit; + + @ApiModelProperty(value = "寮�濮嬫棩鏈�", example = "2023-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 beginDate; + + @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 = "涓嶇‘瀹氬害", example = "0.3%", required = true) + private String uncertainty; + + @ApiModelProperty(value = "缁撴灉: 1锛氬悎鏍硷紱2锛氱煫姝e悗鍙敤锛�3锛氫笉鍚堟牸", example = "1", required = true) + private Integer result; + + @ApiModelProperty(value = "鎬ц兘鎸囨爣", example = "10086") + private String performanceIndex; + + @ApiModelProperty(value = "澶囨敞", example = "10086.com") + private String remarks; + + @ApiModelProperty(value = "鏂囦欢璺緞", hidden = true) + private String filePath; + + @TableLogic(value = "1", delval = "0") + @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) + private Integer state; + + @TableField(fill = FieldFill.INSERT) + @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + private Date createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true) + private Date updateTime; + + @ApiModelProperty(value = "涔愯閿�", hidden = true) + private Integer version; + +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateClassifyDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateClassifyDto.java new file mode 100644 index 0000000..3a672de --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateClassifyDto.java @@ -0,0 +1,20 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="UpdateClassifyDto瀵硅薄", description="") +public class UpdateClassifyDto { + @ApiModelProperty(value = "鍒嗙被涓婚敭", example = "1", required = true) + private Integer id; + + @ApiModelProperty(value = "鍒嗙被鐖跺悕绉�", example = "娓╁害娴嬮噺浠〃") + private String fatherName; + + @ApiModelProperty(value = "鍒嗙被瀛愬悕绉�", example = "浣撴俯璁�",required = true) + private String sonName; +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateEquipmentPointDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateEquipmentPointDto.java new file mode 100644 index 0000000..61069dd --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateEquipmentPointDto.java @@ -0,0 +1,34 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="UpdateEquipmentPointDto瀵硅薄", description="") +public class UpdateEquipmentPointDto { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "涓婚敭", example = "1", required = true) + private Integer id; + + @ApiModelProperty(value = "浠櫒Id 鍏宠仈", example = "1", required = true) + private Integer instrumentId; + + @ApiModelProperty(value = "鐮佺偣缂栧彿", example = "Area-1", required = true) + private String equipmentPoint; + + @ApiModelProperty(value = "鐮佺偣鍚嶇О", example = "瀵间綋灞忚斀锛堝鍘氶潰绉級", required = true) + private String equipmentPointName; + + @ApiModelProperty(value = "鍗曚綅", example = "mm", required = true) + private String unit; + + @ApiModelProperty(value = "鎻忚堪", example = "鐤簡锛屽仛涓嶄簡") + private String descriptiveness; +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateInstrumentDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateInstrumentDto.java new file mode 100644 index 0000000..675cb7a --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateInstrumentDto.java @@ -0,0 +1,70 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="UpdateInstrumentDto瀵硅薄", description="") +public class UpdateInstrumentDto { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "璁¢噺淇℃伅涓婚敭",example = "1", required = true) + private Integer id; + + @ApiModelProperty(value = "鍒嗙被ID 鍏宠仈", example = "1", required = true) + private Integer classifyId; + + @ApiModelProperty(value = "淇濈浜猴細鐢ㄦ埛琛ㄥ叧鑱擨d", example = "9", required = true) + private Integer userId; + + @ApiModelProperty(value = "浠櫒璁惧缂栧彿", example = "JSTC-W1-00001", required = true) + private String equipmentCode; + + @ApiModelProperty(value = "浠櫒璁惧鍚嶇О", example = "鏁板瓧鐢垫ˉ", required = true) + private String equipmentName; + + @ApiModelProperty(value = "榛樿1锛�1锛氳繍琛屻��2锛氭晠闅溿��3锛氭姤淇��4锛氭淇��5锛氬緟鏈�", example = "1", required = true) + private Integer conditions; + + @ApiModelProperty(value = "瑙勬牸鍨嬪彿", example = "WCDMS-1", required = true) + private String specificationsModels; + + @ApiModelProperty(value = "娴嬮噺鑼冨洿", example = "12姣背") + private String measuringRange; + + @ApiModelProperty(value = "璇樊", example = "0.000001寰背") + private String errorRate; + + @ApiModelProperty(value = "鐢熶骇鍘傚", example = "姹熻嫃榈烽洀") + private String manufacturer; + + @ApiModelProperty(value = "鍒拌揣鏃ユ湡", example = "2001-07-06", dataType = "date") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date arrivalDate; + + @ApiModelProperty(value = "楠屾敹鏃ユ湡", example = "2060-07-06", dataType = "date") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date acceptanceDate; + + @ApiModelProperty(value = "瀛樻斁鍦�", example = "鍦扮悆浜氭床涓浗姹熻嫃鍗楅��") + private String storagePlace; + + @ApiModelProperty(value = "鏄惁鏀寔鏁伴噰锛�1锛氭敮鎸侊紱0锛氫笉鏀寔", example = "1") + private Integer whetherDataAcquisition; + + @ApiModelProperty(value = "鏄惁闇�瑕佷华鍣ㄨ澶囪閲忥細濡傛灉闇�瑕佽閲忓懆鏈熷繀濉紱濡傛灉涓嶉渶瑕佽閲忓懆鏈熶笉蹇呭~.1锛氶渶瑕侊紱0锛氫笉闇�瑕�", example = "0") + private Integer equipmentMeasurement; + + @ApiModelProperty(value = "璁¢噺鎴鏈夋晥鏈燂細涓巈quipmentMeasurement鐩稿叧鑱�", example = "12") + private Integer termValidity; + + @ApiModelProperty(value = "鎻忚堪", example = "鐤媯鏄熸湡浜旓紒锛侊紒") + private String descriptiveness; +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMetricalInformationDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMetricalInformationDto.java new file mode 100644 index 0000000..f209cd1 --- /dev/null +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMetricalInformationDto.java @@ -0,0 +1,53 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import com.baomidou.mybatisplus.annotation.TableId; +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.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="UpdateMetricalInformationDto瀵硅薄", description="") +public class UpdateMetricalInformationDto { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "涓婚敭") + private Integer id; + + @ApiModelProperty(value = "鐢ㄦ埛鍏宠仈Id", example = "7", required = true) + private Integer userId; + + @ApiModelProperty(value = "璁¢噺鍗曚綅", example = "GB", required = true) + private String measurementUnit; + + @ApiModelProperty(value = "寮�濮嬫棩鏈�", example = "2023-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 beginDate; + + @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 = "涓嶇‘瀹氬害", example = "0.3%", required = true) + private String uncertainty; + + @ApiModelProperty(value = "缁撴灉: 1锛氬悎鏍硷紱2锛氱煫姝e悗鍙敤锛�3锛氫笉鍚堟牸", example = "1", required = true) + private Integer result; + + @ApiModelProperty(value = "鎬ц兘鎸囨爣", example = "10086") + private String performanceIndex; + + @ApiModelProperty(value = "澶囨敞", example = "10086.com") + private String remarks; + + @ApiModelProperty(value = "鏂囦欢璺緞", hidden = true) + private String filePath; +} diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/ClassifyService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/ClassifyService.java index 7b1577d..a297357 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/ClassifyService.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/ClassifyService.java @@ -1,7 +1,10 @@ package com.yuanchu.limslaboratory.service; -import com.yuanchu.limslaboratory.entity.Classify; +import com.yuanchu.limslaboratory.pojo.Classify; import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; /** * <p> @@ -13,4 +16,11 @@ */ public interface ClassifyService extends IService<Classify> { + Integer addClassifyInformation(Classify classify); + + List<Map<String, Object>> getListClassifyInformation(String classifyName); + + Boolean deleteClassifyInformation(String classifyId); + + Boolean updateClassifyInformation(Classify classify); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java index 493ae64..ba3c510 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java @@ -1,7 +1,13 @@ package com.yuanchu.limslaboratory.service; -import com.yuanchu.limslaboratory.entity.EquipmentPoint; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.pojo.EquipmentPoint; import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * <p> @@ -13,4 +19,11 @@ */ public interface EquipmentPointService extends IService<EquipmentPoint> { + Integer addEquipmentPointInformation(EquipmentPoint equipmentPoint); + + List<Map<String, Object>> getListEquipmentPointInformation(); + + Integer deleteEquipmentPointInformation(Integer equipmentPointId); + + Integer updateEquipmentPointInformation(EquipmentPoint equipmentPoint); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/InstrumentService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/InstrumentService.java index b120270..9d492b5 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/InstrumentService.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/InstrumentService.java @@ -1,7 +1,12 @@ package com.yuanchu.limslaboratory.service; -import com.yuanchu.limslaboratory.entity.Instrument; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.pojo.Instrument; import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; +import java.util.Objects; /** * <p> @@ -13,4 +18,19 @@ */ public interface InstrumentService extends IService<Instrument> { + Integer addInstrumentInformation(Instrument instrument); + + Boolean deleteInstrumentInformation(String instrumentId); + + IPage<Map<String, Object>> getListInstrumentInformation(Integer conditions, Boolean whetherWhether, String numberOrNameOrSpecifications, + Integer classifyId, Page<Objects> page); + + /** + * 鏇存柊浠櫒鏁版嵁鐨勬椂鍊欓渶瑕佽幏鍙栨墍鏈夋暟鎹� + * @param instrumentId + * @return + */ + Instrument getIdInstrumentInformation(Integer instrumentId); + + Integer updateEquipmentPointInformation(Instrument instrument); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java index 3b74442..8d7d919 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java @@ -1,7 +1,11 @@ package com.yuanchu.limslaboratory.service; -import com.yuanchu.limslaboratory.entity.MetricalInformation; +import com.yuanchu.limslaboratory.pojo.MetricalInformation; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; /** * <p> @@ -13,4 +17,11 @@ */ public interface MetricalInformationService extends IService<MetricalInformation> { + Integer addEquipmentPointInformation(MetricalInformation metricalInformation, MultipartFile file); + + List<Map<String, Object>> getListEquipmentPointInformation(); + + Integer deleteMetricalInformation(Integer metricalInformationId); + + Integer updateMetricalInformation(MetricalInformation metricalInformation, MultipartFile file); } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java index 0f03757..f7882e9 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java @@ -1,10 +1,17 @@ package com.yuanchu.limslaboratory.service.impl; -import com.yuanchu.limslaboratory.entity.Classify; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.yuanchu.limslaboratory.pojo.Classify; import com.yuanchu.limslaboratory.mapper.ClassifyMapper; import com.yuanchu.limslaboratory.service.ClassifyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * <p> @@ -17,4 +24,75 @@ @Service public class ClassifyServiceImpl extends ServiceImpl<ClassifyMapper, Classify> implements ClassifyService { + @Resource + private ClassifyMapper classifyMapper; + + @Override + public Integer addClassifyInformation(Classify classify) { + if (ObjectUtils.isEmpty(classify.getFatherName())){ + classify.setFatherName(classify.getSonName()); + classify.setSonName(null); + LambdaQueryWrapper<Classify> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Classify::getFatherName, classify.getFatherName()); + wrapper.isNull(Classify::getSonName); + wrapper.eq(Classify::getState, 1); + Classify classify1 = classifyMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(classify1)){ + return classifyMapper.insert(classify); + } + return 2; + } + 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.selectOne(wrapper); + if (ObjectUtils.isEmpty(classify1)){ + return classifyMapper.insert(classify); + } else { + return 3; + } + } + + @Override + public List<Map<String, Object>> getListClassifyInformation(String classifyName) { + LambdaQueryWrapper<Classify> wrapper = new LambdaQueryWrapper<>(); + if (!ObjectUtils.isEmpty(classifyName)){ + wrapper.like(Classify::getFatherName, classifyName); + } + wrapper.groupBy(Classify::getFatherName); + wrapper.select(Classify::getId, Classify::getFatherName); + List<Map<String, Object>> maps = classifyMapper.selectMaps(wrapper); + for (Map<String, Object> map : maps){ + LambdaQueryWrapper<Classify> wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(Classify::getFatherName, map.get("father_name")); + wrapper1.isNotNull(Classify::getSonName); + wrapper1.select(Classify::getId, Classify::getSonName); + List<Map<String, Object>> maps1 = classifyMapper.selectMaps(wrapper1); + if (!ObjectUtils.isEmpty(maps1)){ + map.put("children", maps1); + map.remove("id"); + } else { + map.put("children", null); + } + } + return maps; + } + + @Override + public Boolean deleteClassifyInformation(String classifyId) { + LambdaUpdateWrapper<Classify> wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(Classify::getId, classifyId); + wrapper.set(Classify::getState, 0); + int isDeleteSuccess = classifyMapper.update(new Classify(), wrapper); + return isDeleteSuccess > 0; + } + + @Override + public Boolean updateClassifyInformation(Classify classify) { + LambdaUpdateWrapper<Classify> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Classify::getId, classify.getId()); + int isUpdateClassifySuccess = classifyMapper.update(classify, updateWrapper); + return isUpdateClassifySuccess > 0; + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java index d05430d..c0ba3ff 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java @@ -1,10 +1,21 @@ package com.yuanchu.limslaboratory.service.impl; -import com.yuanchu.limslaboratory.entity.EquipmentPoint; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.limslaboratory.pojo.EquipmentPoint; import com.yuanchu.limslaboratory.mapper.EquipmentPointMapper; +import com.yuanchu.limslaboratory.pojo.Instrument; import com.yuanchu.limslaboratory.service.EquipmentPointService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * <p> @@ -17,4 +28,47 @@ @Service public class EquipmentPointServiceImpl extends ServiceImpl<EquipmentPointMapper, EquipmentPoint> implements EquipmentPointService { + @Resource + private EquipmentPointMapper equipmentPointMapper; + + @Override + public Integer addEquipmentPointInformation(EquipmentPoint equipmentPoint) { + LambdaQueryWrapper<EquipmentPoint> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(EquipmentPoint::getEquipmentPoint, equipmentPoint.getEquipmentPoint()); + wrapper.eq(EquipmentPoint::getState, 1); + wrapper.select(EquipmentPoint::getEquipmentPoint); + EquipmentPoint equipmentPoint1 = equipmentPointMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(equipmentPoint1)){ + return equipmentPointMapper.insert(equipmentPoint); + } + return 0; + } + + @Override + public List<Map<String, Object>> getListEquipmentPointInformation() { + return equipmentPointMapper.getListEquipmentPointInformation(); + } + + @Override + public Integer deleteEquipmentPointInformation(Integer equipmentPointId) { + LambdaUpdateWrapper<EquipmentPoint> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(EquipmentPoint::getId, equipmentPointId); + updateWrapper.set(EquipmentPoint::getState, 0); + return equipmentPointMapper.update(new EquipmentPoint(), updateWrapper); + } + + @Override + public Integer updateEquipmentPointInformation(EquipmentPoint equipmentPoint) { + LambdaQueryWrapper<EquipmentPoint> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(EquipmentPoint::getEquipmentPoint, equipmentPoint.getEquipmentPoint()); + wrapper.eq(EquipmentPoint::getState, 1); + wrapper.select(EquipmentPoint::getId, EquipmentPoint::getId); + EquipmentPoint equipmentPoint1 = equipmentPointMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(equipmentPoint1)){ + return equipmentPointMapper.updateById(equipmentPoint); + } else if (equipmentPoint.getId().equals(equipmentPoint1.getId())){ + return equipmentPointMapper.updateById(equipmentPoint); + } + return 0; + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InstrumentServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InstrumentServiceImpl.java index 367bd37..fc776d2 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InstrumentServiceImpl.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InstrumentServiceImpl.java @@ -1,10 +1,20 @@ package com.yuanchu.limslaboratory.service.impl; -import com.yuanchu.limslaboratory.entity.Instrument; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +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.mapper.InstrumentMapper; import com.yuanchu.limslaboratory.service.InstrumentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import javax.annotation.Resource; +import java.util.Map; +import java.util.Objects; /** * <p> @@ -17,4 +27,56 @@ @Service public class InstrumentServiceImpl extends ServiceImpl<InstrumentMapper, Instrument> implements InstrumentService { + @Resource + private InstrumentMapper instrumentMapper; + + @Override + public Integer addInstrumentInformation(Instrument instrument) { + LambdaQueryWrapper<Instrument> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Instrument::getEquipmentCode, instrument.getEquipmentCode()); + wrapper.eq(Instrument::getState, 1); + wrapper.select(Instrument::getEquipmentCode); + Instrument instrument1 = instrumentMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(instrument1)){ + return instrumentMapper.insert(instrument); + } + return 0; + } + + @Override + public Boolean deleteInstrumentInformation(String instrumentId) { + LambdaUpdateWrapper<Instrument> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Instrument::getId, instrumentId); + updateWrapper.set(Instrument::getState, 0); + int isUpdateSuccess = instrumentMapper.update(new Instrument(), updateWrapper); + return isUpdateSuccess > 0; + } + + @Override + public IPage<Map<String, Object>> getListInstrumentInformation(Integer conditions, Boolean whetherWhether, String numberOrNameOrSpecifications, + Integer classifyId, Page<Objects> page) { + return instrumentMapper.getListInstrumentInformation(conditions, whetherWhether, numberOrNameOrSpecifications, classifyId, page); + } + + @Override + public Instrument getIdInstrumentInformation(Integer instrumentId) { + LambdaQueryWrapper<Instrument> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Instrument::getId, instrumentId); + return instrumentMapper.selectOne(wrapper); + } + + @Override + public Integer updateEquipmentPointInformation(Instrument instrument) { + LambdaQueryWrapper<Instrument> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Instrument::getEquipmentCode, instrument.getEquipmentCode()); + wrapper.eq(Instrument::getState, 1); + wrapper.select(Instrument::getEquipmentCode, Instrument::getId); + Instrument instrument1 = instrumentMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(instrument1)){ + return instrumentMapper.updateById(instrument); + } else if (instrument.getId().equals(instrument1.getId())){ + return instrumentMapper.updateById(instrument); + } + return 0; + } } diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java index 267662c..a2ad0d9 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java @@ -1,10 +1,20 @@ package com.yuanchu.limslaboratory.service.impl; -import com.yuanchu.limslaboratory.entity.MetricalInformation; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.yuanchu.limslaboratory.pojo.MetricalInformation; import com.yuanchu.limslaboratory.mapper.MetricalInformationMapper; import com.yuanchu.limslaboratory.service.MetricalInformationService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.limslaboratory.utils.FileSaveUtil; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; /** * <p> @@ -17,4 +27,44 @@ @Service public class MetricalInformationServiceImpl extends ServiceImpl<MetricalInformationMapper, MetricalInformation> implements MetricalInformationService { + @Resource + private MetricalInformationMapper metricalInformationMapper; + + @Override + public Integer addEquipmentPointInformation(MetricalInformation metricalInformation, MultipartFile file) { + if (!ObjectUtils.isEmpty(file)){ + String fileName = FileSaveUtil.StoreFile(file); + metricalInformation.setFilePath(fileName); + } + return metricalInformationMapper.insert(metricalInformation); + } + + @Override + public List<Map<String, Object>> getListEquipmentPointInformation() { + return metricalInformationMapper.getListEquipmentPointInformation(); + } + + @Override + public Integer deleteMetricalInformation(Integer metricalInformationId) { + LambdaUpdateWrapper<MetricalInformation> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(MetricalInformation::getId, metricalInformationId); + updateWrapper.set(MetricalInformation::getState, 0); + return metricalInformationMapper.update(new MetricalInformation(), updateWrapper); + } + + @Override + public Integer updateMetricalInformation(MetricalInformation metricalInformation, MultipartFile file) { + if (!ObjectUtils.isEmpty(file)){ + String fileName = FileSaveUtil.StoreFile(file); + metricalInformation.setFilePath(fileName); + LambdaQueryWrapper<MetricalInformation> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MetricalInformation::getId, metricalInformation.getId()); + wrapper.select(MetricalInformation::getFilePath); + MetricalInformation metricalInformation1 = metricalInformationMapper.selectOne(wrapper); + if (!ObjectUtils.isEmpty(metricalInformation1.getFilePath())){ + FileSaveUtil.DeleteFile(metricalInformation1.getFilePath()); + } + } + return metricalInformationMapper.updateById(metricalInformation); + } } diff --git a/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml b/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml index 80c2839..427d44c 100644 --- a/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml +++ b/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml @@ -2,4 +2,9 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.EquipmentPointMapper"> + <select id="getListEquipmentPointInformation" resultType="map"> + SELECT e.`id`, e.`equipment_point` equipmentPoint, e.`equipment_point_name` equipmentPointName, e.`unit`,u.`name`, DATE_FORMAT(e.`update_time`, '%Y-%m-%d') updateTime, e.`descriptiveness` + FROM equipment_point e, `user` u + WHERE e.`user_id` = u.`id` + </select> </mapper> diff --git a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml index c66d06b..ccf1794 100644 --- a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml +++ b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml @@ -2,4 +2,21 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.InstrumentMapper"> + <select id="getListInstrumentInformation" resultType="map"> + SELECT i.`id`, i.`equipment_code`, i.`equipment_name`, i.`specifications_models`, u.`name`, + DATE_FORMAT(DATE_ADD(i.`create_time`, INTERVAL i.`term_validity` MONTH), '%Y-%m-%d') termValidity, i.`conditions`, i.`storage_place` + FROM instrument i, `user` u + WHERE i.`state` = 1 + AND i.`classify_id` = #{classifyId} + <if test="conditions != null"> + AND i.`conditions` = #{conditions} + </if> + <if test="numberOrNameOrSpecifications != null and numberOrNameOrSpecifications != ''"> + AND CONCAT(i.`equipment_code`, i.`equipment_name`, i.`specifications_models`) LIKE CONCAT('%',#{numberOrNameOrSpecifications},'%') + </if> + <if test="whetherWhether == true"> + AND DATE_FORMAT(DATE_ADD(i.`create_time`, INTERVAL i.`term_validity` MONTH), '%Y-%m-%d') <![CDATA[<]]> NOW() + </if> + AND i.`user_id` = u.`id` + </select> </mapper> diff --git a/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml b/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml index d338ba4..3f74553 100644 --- a/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml +++ b/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml @@ -2,4 +2,11 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.MetricalInformationMapper"> + <select id="getListEquipmentPointInformation" resultType="map"> + SELECT m.`id`, u.`name`, m.`measurement_unit`, DATE_FORMAT(m.`begin_date`, '%Y-%m-%d') beginDate, DATE_FORMAT(m.`end_date`, '%Y-%m-%d') endDate, + m.`uncertainty`, m.`result`, m.`performance_index`, m.`remarks`, m.`file_path`, DATE_FORMAT(m.`create_time`, '%Y-%m-%d') createDate + FROM metrical_information m, `user` u + WHERE m.`user_id` = u.`id` + AND m.`state` = 1 + </select> </mapper> diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java index 6e39015..5469759 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java @@ -2,6 +2,7 @@ import com.yuanchu.limslaboratory.pojo.Material; +import com.yuanchu.limslaboratory.pojo.dto.UpdateMaterialInformation; import com.yuanchu.limslaboratory.service.MaterialService; import com.yuanchu.limslaboratory.utils.JackSonUtil; import com.yuanchu.limslaboratory.utils.RedisUtil; @@ -24,7 +25,7 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-17 */ -@Api(tags = "鏍囧噯搴�-->瑙勬牸-->鏌ョ湅-->鐖�->鐗╂枡") +@Api(tags = "鏍囧噯搴�-->4銆佽鏍�-->鏌ョ湅-->鐖舵ā鍧�") @RestController @RequestMapping("/material") public class MaterialController { @@ -32,7 +33,7 @@ @Autowired private MaterialService materialService; - @ApiOperation("鐗╂枡搴�-->娣诲姞鐗╂枡") + @ApiOperation("娣诲姞鐗╂枡") @PostMapping("/add") public Result<?> addMaterialInformation(@RequestBody Material material) { Integer isMaterialSuccess = materialService.addMaterialInformation(material); @@ -42,7 +43,7 @@ return Result.fail("娣诲姞鐗╂枡銆�"+ material.getName() +"銆戝け璐ワ紒"); } - @ApiOperation("鐗╂枡搴�-->鏍规嵁瑙勬牸ID鏌ヨ鎵�鏈夌墿鏂�") + @ApiOperation("鏍规嵁瑙勬牸ID鏌ヨ鎵�鏈夌墿鏂�") @GetMapping("/list") @ApiImplicitParams(value = { @ApiImplicitParam(value = "瑙勬牸ID", name = "specificationsId", dataTypeClass = String.class) @@ -52,17 +53,17 @@ return Result.success(listMaterialInformation); } - @ApiOperation("鐗╂枡搴�-->鏍规嵁瑙勬牸ID鏌ヨ鐗╂枡璇︽儏") + @ApiOperation("鏍规嵁鐗╂枡ID鏌ヨ鐗╂枡璇︽儏") @GetMapping("/list_id") @ApiImplicitParams(value = { @ApiImplicitParam(value = "鐗╂枡ID", name = "materialId", dataTypeClass = String.class) }) - public Result<?> getListIdMaterialInformation(String materialId) { + public Result<?> getListIdMaterialInformation(String materialId) throws Exception { Material listIdMaterialInformation = materialService.ListIdMaterialInformation(materialId); return Result.success(listIdMaterialInformation); } - @ApiOperation("鐗╂枡搴�-->鏍规嵁鐗╂枡ID鍒犻櫎鐗╂枡") + @ApiOperation("鏍规嵁鐗╂枡ID鍒犻櫎鐗╂枡") @DeleteMapping("/delete") @ApiImplicitParams(value = { @ApiImplicitParam(value = "鐗╂枡ID", name = "materialId", dataTypeClass = String.class) @@ -75,9 +76,10 @@ return Result.fail("鍒犻櫎澶辫触锛�"); } - @ApiOperation("鐗╂枡搴�-->淇敼鐗╂枡") + @ApiOperation("淇敼鐗╂枡") @PutMapping("/update") - public Result<?> updateMaterialInformation(@RequestBody Material material) { + public Result<?> updateMaterialInformation(@RequestBody UpdateMaterialInformation updateMaterialInformation) throws Exception { + Material material = JackSonUtil.unmarshal(JackSonUtil.marshal(updateMaterialInformation), Material.class); Integer isUpdateMaterialSuccess = materialService.updateMaterialInformation(material); if (isUpdateMaterialSuccess == 1) { return Result.success("淇敼鐗╂枡銆�"+ material.getName() +"銆戞垚鍔燂紒"); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java index ae95e8a..65e8dac 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java @@ -21,7 +21,7 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-17 */ -@Api(tags = "鏍囧噯搴�-->瑙勬牸-->鏌ョ湅-->鐖�-->瀛�") +@Api(tags = "鏍囧噯搴�-->5銆佽鏍�-->鏌ョ湅-->瀛愭ā鍧�") @RestController @RequestMapping("/product") public class ProductController { @@ -29,7 +29,7 @@ @Autowired private ProductService productService; - @ApiOperation("娴嬭瘯鏍囧噯妯″潡-->娣诲姞娴嬭瘯鏍囧噯") + @ApiOperation("娣诲姞娴嬭瘯鏍囧噯") @PostMapping("/add") public Result<?> addProductInformation(@RequestHeader("X-Token") String token, @RequestBody Product product) throws Exception { Object userMessage = RedisUtil.get(token); @@ -46,7 +46,7 @@ return Result.fail("娣诲姞鐗╂枡銆�"+ product.getName() +"銆戝け璐ワ紒"); } - @ApiOperation("鐗╂枡搴�-->鏍规嵁鐗╂枡ID鏌ヨ鎵�鏈夋祴璇曟爣鍑�") + @ApiOperation("鏍规嵁鐗╂枡ID鏌ヨ鎵�鏈夋祴璇曟爣鍑�") @GetMapping("/list") @ApiImplicitParams(value = { @ApiImplicitParam(value = "鐗╂枡ID", name = "materialId", dataTypeClass = String.class) @@ -56,7 +56,7 @@ return Result.success(listMaterialInformation); } - @ApiOperation("鐗╂枡搴�-->鏍规嵁娴嬭瘯鏍囧噯ID鏌ヨ鍩烘湰淇℃伅") + @ApiOperation("鏍规嵁娴嬭瘯鏍囧噯ID鏌ヨ鍩烘湰淇℃伅") @GetMapping("/productId") @ApiImplicitParams(value = { @ApiImplicitParam(value = "娴嬭瘯鏍囧噯ID", name = "productId", dataTypeClass = String.class) @@ -66,7 +66,7 @@ return Result.success(productInformation); } - @ApiOperation("鐗╂枡搴�-->鍒犻櫎娴嬭瘯鏍囧噯妯″潡鏁版嵁") + @ApiOperation("鍒犻櫎娴嬭瘯鏍囧噯妯″潡鏁版嵁") @DeleteMapping("/delete") @ApiImplicitParams(value = { @ApiImplicitParam(value = "娴嬭瘯鏍囧噯ID", name = "productId", dataTypeClass = String.class) @@ -79,7 +79,7 @@ return Result.fail("鍒犻櫎澶辫触锛�"); } - @ApiOperation("鐗╂枡搴�-->鏍规嵁娴嬭瘯鏍囧噯Id淇敼鏁版嵁") + @ApiOperation("鏍规嵁娴嬭瘯鏍囧噯Id淇敼鏁版嵁") @PutMapping("/update") public Result<?> updateMaterialInformation(@RequestBody Product product) { Integer isUpdateMaterialSuccess = productService.updateMaterialInformation(product); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java index 6fd9faa..1c91dff 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SerialNumberController.java @@ -28,7 +28,7 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-11 */ -@Api(tags = "鏍囧噯搴�-->鍨嬪彿") +@Api(tags = "鏍囧噯搴�-->2銆佸瀷鍙�") @RestController @RequestMapping("/serial-number") public class SerialNumberController { @@ -36,7 +36,7 @@ @Autowired private SerialNumberService serialNumberService; - @ApiOperation("鏍囧噯搴�-->娣诲姞鍨嬪彿") + @ApiOperation("娣诲姞鍨嬪彿") @PostMapping("/add") public Result<?> addSerialNumberInformation(@RequestHeader("X-Token") String token,@RequestBody SerialNumber serialNumber) throws Exception { Object object = RedisUtil.get(token); @@ -49,7 +49,7 @@ return Result.fail("娣诲姞銆�"+ serialNumber.getName() +"銆戝け璐ワ紒"); } - @ApiOperation("鏍囧噯搴�-->鐐瑰嚮渚ц竟鏍忔爣鍑嗭紝鍒嗛〉鏌ヨ鎵�鏈夊瀷鍙�") + @ApiOperation("鐐瑰嚮渚ц竟鏍忔爣鍑嗭紝鍒嗛〉鏌ヨ鎵�鏈夊瀷鍙�") @ApiImplicitParams(value = { @ApiImplicitParam(value = "鍨嬪彿/鍨嬪彿鍚嶇О", name = "IdOrNameOfSerialNumber", dataTypeClass = String.class), @ApiImplicitParam(value = "鏍囧噯鍙稩d", name = "standardsId", dataTypeClass = String.class, required = true), @@ -65,7 +65,7 @@ return Result.success(map); } - @ApiOperation("鏍囧噯搴�-->鏍规嵁Id淇敼鍨嬪彿鍙傛暟") + @ApiOperation("鏍规嵁Id淇敼鍨嬪彿") @PutMapping("/update") public Result<?> updateSerialNumberInformation(@RequestHeader("X-Token") String token, @RequestBody SerialNumber serialNumber) throws Exception { Object object = RedisUtil.get(token); @@ -78,7 +78,7 @@ return Result.fail("鏇存柊澶辫触锛�"); } - @ApiOperation("鏍囧噯搴�-->鏍规嵁Id鍒犻櫎鍨嬪彿") + @ApiOperation("鏍规嵁Id鍒犻櫎鍨嬪彿") @DeleteMapping("/delete") public Result<?> deleteSerialNumberInformation(String serialNumberId) { Integer isDeleteSerialNumberSuccess = serialNumberService.deleteSerialNumberInformation(serialNumberId); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java index 25f5465..6b7ff99 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java @@ -6,11 +6,10 @@ import com.yuanchu.limslaboratory.pojo.Specifications; import com.yuanchu.limslaboratory.service.SpecificationsService; import com.yuanchu.limslaboratory.utils.JackSonUtil; -import com.yuanchu.limslaboratory.utils.MyUtil; import com.yuanchu.limslaboratory.utils.RedisUtil; import com.yuanchu.limslaboratory.vo.Result; -import com.yuanchu.limslaboratory.vo.UpdateSpeStateSpecifications; -import com.yuanchu.limslaboratory.vo.UpdateSpecificationsInformation; +import com.yuanchu.limslaboratory.pojo.dto.UpdateSpeStateSpecificationsDto; +import com.yuanchu.limslaboratory.pojo.dto.UpdateSpecificationsInformationDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -31,7 +30,7 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-11 */ -@Api(tags = "鏍囧噯搴�-->鍨嬪彿-->浜у搧瑙勬牸") +@Api(tags = "鏍囧噯搴�-->3銆佸瀷鍙�-->浜у搧瑙勬牸") @RestController @RequestMapping("/specifications") public class SpecificationsController { @@ -39,7 +38,7 @@ @Autowired private SpecificationsService specificationsService; - @ApiOperation("鏍囧噯搴�-->浜у搧瑙勬牸") + @ApiOperation("娣诲姞浜у搧瑙勬牸") @PostMapping("/add") public Result<?> addSpecificationsInformation(@RequestHeader("X-Token") String token,@RequestBody Specifications specifications) throws Exception { Object object = RedisUtil.get(token); @@ -52,7 +51,7 @@ return Result.fail("娣诲姞銆�"+ specifications.getName() +"銆戝け璐ワ紒"); } - @ApiOperation("鏍囧噯搴�-->鏍规嵁鍨嬪彿鏌ヨ浜у搧瑙勬牸") + @ApiOperation("鏍规嵁鍨嬪彿鏌ヨ浜у搧瑙勬牸") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageNo", value = "璧峰椤�", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true), @@ -71,16 +70,16 @@ return Result.success(map); } - @ApiOperation("鏍囧噯搴�-->浜у搧瑙勬牸-->缂栬緫") + @ApiOperation("缂栬緫浜у搧瑙勬牸") @PutMapping("/update") - public Result<?> updateSpecificationsInformation(@RequestHeader("X-Token") String token, @RequestBody UpdateSpecificationsInformation updateSpecificationsInformation) throws Exception { + public Result<?> updateSpecificationsInformation(@RequestHeader("X-Token") String token, @RequestBody UpdateSpecificationsInformationDto updateSpecificationsInformationDto) throws Exception { Object object = RedisUtil.get(token); if (ObjectUtils.isEmpty(object)){ return Result.fail("瀵逛笉璧凤紝璇锋惡甯oken!"); } Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); - updateSpecificationsInformation.setUserId((Integer) unmarshal.get("id")); - Specifications specifications = JackSonUtil.unmarshal(JackSonUtil.marshal(updateSpecificationsInformation), Specifications.class); + updateSpecificationsInformationDto.setUserId((Integer) unmarshal.get("id")); + Specifications specifications = JackSonUtil.unmarshal(JackSonUtil.marshal(updateSpecificationsInformationDto), Specifications.class); Integer isStandardsSuccess = specificationsService.updateSpecificationsInformation(specifications); if (isStandardsSuccess == 1) { return Result.success("鏇存柊銆�"+ specifications.getName() +"銆戞垚鍔燂紒"); @@ -88,7 +87,7 @@ return Result.fail("鏇存柊銆�"+ specifications.getName() +"銆戝け璐ワ紒"); } - @ApiOperation("鏍囧噯搴�-->浜у搧瑙勬牸-->鍒犻櫎") + @ApiOperation("鍒犻櫎浜у搧瑙勬牸") @ApiImplicitParams(value = { @ApiImplicitParam(name = "specificationsId", value = "瑙勬牸Id", dataTypeClass = Integer.class, required = true) }) @@ -101,10 +100,10 @@ return Result.fail("鍒犻櫎澶辫触锛�"); } - @ApiOperation("鏍囧噯搴�-->浜у搧瑙勬牸-->鏇存柊瑙勬牸鐘舵��") + @ApiOperation("鏇存柊瑙勬牸鐘舵��") @PutMapping("/update_spe_state") - public Result<?> updateSpeStateSpecifications(@RequestBody UpdateSpeStateSpecifications updateSpeStateSpecifications) { - Integer isStandardsSuccess = specificationsService.updateSpeStateSpecifications(updateSpeStateSpecifications); + public Result<?> updateSpeStateSpecifications(@RequestBody UpdateSpeStateSpecificationsDto updateSpeStateSpecificationsDto) { + Integer isStandardsSuccess = specificationsService.updateSpeStateSpecifications(updateSpeStateSpecificationsDto); if (isStandardsSuccess == 1) { return Result.success("鎿嶄綔鎴愬姛锛�"); } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java index e101634..0190a3d 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardsController.java @@ -31,7 +31,7 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-11 */ -@Api(tags = "鏍囧噯搴�-->猸愨瓙猸�") +@Api(tags = "鏍囧噯搴�-->1銆佲瓙猸愨瓙") @RestController @RequestMapping("/standards") public class StandardsController { @@ -39,7 +39,7 @@ @Autowired private StandardsService standardsService; - @ApiOperation("鏍囧噯搴�-->娣诲姞鏍囧噯") + @ApiOperation("娣诲姞鏍囧噯") @PostMapping("/add") public Result<?> addStandardsInformation(@RequestHeader("X-Token") String token, @RequestBody Standards standards) throws Exception { Object object = RedisUtil.get(token); @@ -52,14 +52,14 @@ return Result.fail("娣诲姞銆�"+ standards.getName() +"銆戝け璐ワ紒"); } - @ApiOperation("鏍囧噯搴�-->渚ц竟鏍忔煡璇㈡墍鏈夋爣鍑嗘暟鎹�") + @ApiOperation("渚ц竟鏍忔煡璇㈡墍鏈夋爣鍑嗘暟鎹�") @GetMapping("/list") public Result<?> listStandardsInformation(){ List<Map<String, Object>> list = standardsService.listStandardsInformation(); return Result.success(list); } - @ApiOperation("鏍囧噯搴�-->鐐瑰嚮鍏ㄩ儴锛氬垎椤垫煡璇㈡墍鏈夋爣鍑嗘暟鎹�") + @ApiOperation("鐐瑰嚮鍏ㄩ儴锛氬垎椤垫煡璇㈡墍鏈夋爣鍑嗘暟鎹�") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageNo", value = "璧峰椤�", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true), @@ -74,7 +74,7 @@ return Result.success(map); } - @ApiOperation("鏍囧噯搴�-->鏍规嵁Id淇敼鍙傛暟") + @ApiOperation("鏍规嵁Id淇敼鍙傛暟") @PutMapping("/update") public Result<?> updateStandardsInformation(@RequestHeader("X-Token") String token, @RequestBody Standards standards) throws Exception { Object object = RedisUtil.get(token); @@ -87,7 +87,7 @@ return Result.fail("鏇存柊澶辫触锛�"); } - @ApiOperation("鏍囧噯搴�-->鏍规嵁ID鍒犻櫎鏁版嵁") + @ApiOperation("鏍规嵁ID鍒犻櫎鏁版嵁") @DeleteMapping("/delete") public Result<?> deleteStandardsInformation(String standardsId) { Integer isDeleteSuccess = standardsService.deleteStandardsInformation(standardsId); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java index 6044690..4472d52 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java @@ -10,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; @@ -68,6 +69,5 @@ @ApiModelProperty(value = "鍏宠仈 瑙勬牸id", example = "1", required = true) private Integer specificationsId; - } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMaterialInformation.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMaterialInformation.java new file mode 100644 index 0000000..7a97a12 --- /dev/null +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateMaterialInformation.java @@ -0,0 +1,33 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="鏍囧噯搴�-->瑙勬牸鍨嬪彿-->鐗╂枡鏇存柊", description="鐢ㄤ簬瀵硅鏍肩殑鏇存柊") +public class UpdateMaterialInformation { + + @ApiModelProperty(value = "鐗╂枡id", example = "152453211563212", required = true) + private String id; + + @ApiModelProperty(value = "鐗╂枡鍚嶇О", example = "鐭冲ご", required = true) + private String name; + + @ApiModelProperty(value = "渚涘簲鍟�", example = "鐧惧害", required = true) + private String supplier; + + @ApiModelProperty(value = "鐗╂枡瀛樻斁鍦�", example = "浠撳簱涓�锛屼簩鍙锋灦", required = true) + private String location; + + @ApiModelProperty(value = "鐗╂枡鏁伴噺", example = "200", required = true) + private Integer num; + + @ApiModelProperty(value = "鎵规", example = "1", required = true) + private String batch; + + @ApiModelProperty(value = "鐩樺彿", example = "152453211563212", required = true) + private String reelNumber; +} diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdateSpeStateSpecifications.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpeStateSpecificationsDto.java similarity index 85% rename from standard-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdateSpeStateSpecifications.java rename to standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpeStateSpecificationsDto.java index 23ec903..468cb7f 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdateSpeStateSpecifications.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpeStateSpecificationsDto.java @@ -1,4 +1,4 @@ -package com.yuanchu.limslaboratory.vo; +package com.yuanchu.limslaboratory.pojo.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -8,7 +8,7 @@ @Data @EqualsAndHashCode(callSuper = false) @ApiModel(value="鏍囧噯搴�-->瑙勬牸鍨嬪彿-->鐢ㄤ簬瀵硅鏍肩姸鎬佺殑淇敼", description="鐢ㄤ簬瀵硅鏍肩姸鎬佺殑淇敼") -public class UpdateSpeStateSpecifications { +public class UpdateSpeStateSpecificationsDto { @ApiModelProperty(value = "瑙勬牸id", example = "2", required = true) private Integer id; diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdateSpecificationsInformation.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpecificationsInformationDto.java similarity index 93% rename from standard-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdateSpecificationsInformation.java rename to standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpecificationsInformationDto.java index db45b73..8a186dc 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/vo/UpdateSpecificationsInformation.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/UpdateSpecificationsInformationDto.java @@ -1,4 +1,4 @@ -package com.yuanchu.limslaboratory.vo; +package com.yuanchu.limslaboratory.pojo.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -8,7 +8,7 @@ @Data @EqualsAndHashCode(callSuper = false) @ApiModel(value="鏍囧噯搴�-->瑙勬牸鍨嬪彿-->缂栬緫瀵硅薄", description="鐢ㄤ簬瀵硅鏍肩殑鏇存柊") -public class UpdateSpecificationsInformation { +public class UpdateSpecificationsInformationDto { @ApiModelProperty(value = "瑙勬牸id", example = "2", required = true) private Integer id; diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java index 984d4ac..b0e93cb 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java @@ -2,6 +2,7 @@ import com.yuanchu.limslaboratory.pojo.Material; import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.limslaboratory.pojo.dto.UpdateMaterialInformation; import java.util.List; import java.util.Map; @@ -54,5 +55,5 @@ * @param materialId * @return */ - Material ListIdMaterialInformation(String materialId); + Material ListIdMaterialInformation(String materialId) throws Exception; } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java index 538b400..81adab5 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java @@ -2,13 +2,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.limslaboratory.mapper.SpecificationsMapper; import com.yuanchu.limslaboratory.pojo.Specifications; import com.baomidou.mybatisplus.extension.service.IService; -import com.yuanchu.limslaboratory.vo.UpdateSpeStateSpecifications; +import com.yuanchu.limslaboratory.pojo.dto.UpdateSpeStateSpecificationsDto; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; import java.util.List; import java.util.Map; import java.util.Objects; @@ -41,5 +39,5 @@ List<Integer> SerialNumberIdDeleteSpecifications(List<String> deleteSerialNumberId); - Integer updateSpeStateSpecifications(UpdateSpeStateSpecifications updateSpeStateSpecifications); + Integer updateSpeStateSpecifications(UpdateSpeStateSpecificationsDto updateSpeStateSpecificationsDto); } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java index ce8ba0b..a7839fe 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java @@ -5,9 +5,11 @@ import com.yuanchu.limslaboratory.pojo.Material; import com.yuanchu.limslaboratory.mapper.MaterialMapper; import com.yuanchu.limslaboratory.pojo.Specifications; +import com.yuanchu.limslaboratory.pojo.dto.UpdateMaterialInformation; import com.yuanchu.limslaboratory.service.MaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.service.ProductService; +import com.yuanchu.limslaboratory.utils.JackSonUtil; import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired; diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java index 6a9bf6d..3ff92cb 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java @@ -4,13 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.limslaboratory.pojo.SerialNumber; import com.yuanchu.limslaboratory.pojo.Specifications; import com.yuanchu.limslaboratory.mapper.SpecificationsMapper; import com.yuanchu.limslaboratory.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.limslaboratory.vo.UpdateSpeStateSpecifications; -import io.swagger.models.auth.In; +import com.yuanchu.limslaboratory.pojo.dto.UpdateSpeStateSpecificationsDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -119,10 +117,10 @@ } @Override - public Integer updateSpeStateSpecifications(UpdateSpeStateSpecifications updateSpeStateSpecifications) { + public Integer updateSpeStateSpecifications(UpdateSpeStateSpecificationsDto updateSpeStateSpecificationsDto) { LambdaUpdateWrapper<Specifications> updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(Specifications::getId, updateSpeStateSpecifications.getId()); - updateWrapper.set(Specifications::getSpe_state, updateSpeStateSpecifications.getSpe_state()); + updateWrapper.eq(Specifications::getId, updateSpeStateSpecificationsDto.getId()); + updateWrapper.set(Specifications::getSpe_state, updateSpeStateSpecificationsDto.getSpe_state()); return specificationsMapper.update(new Specifications(), updateWrapper); } } diff --git a/standard-server/src/main/resources/mapper/SpecificationsMapper.xml b/standard-server/src/main/resources/mapper/SpecificationsMapper.xml index 0942946..0d0c394 100644 --- a/standard-server/src/main/resources/mapper/SpecificationsMapper.xml +++ b/standard-server/src/main/resources/mapper/SpecificationsMapper.xml @@ -13,7 +13,8 @@ </select> <select id="selectSNameSNName" resultType="Map"> - select m.num,m.supplier,m.name m_name,m.location,m.batch,m.reel_number,concat(s.name,'/',sn.name) ss_name,s.voltage_level,s.cross_section,s.number_of_cores,s.instruct from material m,specifications s,serial_number sn + select m.num,m.supplier,m.name m_name,m.location,m.batch,m.reel_number,concat(s.name,'/',sn.name) ss_name,s.voltage_level,s.cross_section,s.number_of_cores,s.instruct + from material m,specifications s,serial_number sn where m.specifications_id = s.id and s.serial_id = sn.id and m.id = #{materialId} diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java b/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java index 62440cc..683fb69 100644 --- a/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java +++ b/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java @@ -39,7 +39,8 @@ .setOpen(false) // 鏄惁鎵撳紑 .setSwagger2(true) //瀹炰綋灞炴�� Swagger2 娉ㄨВ .setServiceName("%sService") // 璁剧疆serviceName鐨勫悕绉板幓澶у啓I - .setFileOverride(Override);// 鏄惁瑕嗙洊宸茬敓鎴愭枃浠� + .setFileOverride(Override) + .setEntityName("pojo");// 鏄惁瑕嗙洊宸茬敓鎴愭枃浠� mpg.setGlobalConfig(gc); // 鏁版嵁婧愰厤缃� 鏁版嵁搴撳悕 璐﹀彿瀵嗙爜 diff --git a/sys/src/main/resources/application-dev.yml b/sys/src/main/resources/application-dev.yml index 35f3bd4..7dc4eaa 100644 --- a/sys/src/main/resources/application-dev.yml +++ b/sys/src/main/resources/application-dev.yml @@ -19,6 +19,8 @@ # 鐓х墖瀛樺偍璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ file: path: E:/webapp/images + # 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕 + allowed: png,jpg,jpeg,gif # 榈烽洀绠$悊绯荤粺瀵嗛挜 login: diff --git a/sys/src/main/resources/application-prod.yml b/sys/src/main/resources/application-prod.yml index d401c15..fda93ce 100644 --- a/sys/src/main/resources/application-prod.yml +++ b/sys/src/main/resources/application-prod.yml @@ -19,6 +19,8 @@ # 鐓х墖璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ file: path: /javaWork/LIMS/images + # 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕 + allowed: png,jpg,jpeg,gif # 榈烽洀缃戠粶IP鎴栬�呭煙鍚�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++ customer: diff --git a/sys/src/main/resources/application.yml b/sys/src/main/resources/application.yml index bad7621..cc247aa 100644 --- a/sys/src/main/resources/application.yml +++ b/sys/src/main/resources/application.yml @@ -1,6 +1,11 @@ server: port: 1234 + spring: + servlet: + multipart: + max-file-size: 20MB # 鍗曚釜鏂囦欢澶у皬 + max-request-size: 1024MB # 涓�娆¤姹傛枃浠舵�诲ぇ灏� profiles: active: dev diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java index 8f57ac8..ac8d757 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java @@ -7,12 +7,9 @@ import com.yuanchu.limslaboratory.vo.NewPersonnelVo; import com.yuanchu.limslaboratory.vo.PagePersonnelVo; import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo; -import org.springframework.transaction.annotation.Transactional; -import java.io.Serializable; - +import java.util.List; import java.util.Map; -import java.util.Objects; /** * <p> @@ -73,4 +70,9 @@ * @return */ String selectByUserId(Integer userId); + + /** + * 鑾峰彇鎵�鏈夌敤鎴风殑鍚嶇О涓嶪d + */ + List<Map<String, Object>> getUserNameAndId(); } diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java index 0a38be0..899c9cf 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java @@ -18,6 +18,7 @@ import javax.annotation.Resource; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -74,6 +75,13 @@ } @Override + public List<Map<String, Object>> getUserNameAndId() { + LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); + wrapper.select(User::getId, User::getName); + return userMapper.selectMaps(wrapper); + } + + @Override public Map<String, String> selectUserByUserId(int userId) { return userMapper.selectUserByUserId(userId); } -- Gitblit v1.9.3