From ad7151b14f2721b0fa40a903c6e65a2c511dd4c5 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期四, 27 七月 2023 15:08:13 +0800 Subject: [PATCH] LIMS管理系统框架-开发7-27第二次标准库完成修改 --- laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java | 3 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddSpecifications.java | 23 + standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddStandardDto.java | 28 ++ standard-server/src/main/resources/mapper/MaterialMapper.xml | 1 pom.xml | 6 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java | 38 + standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java | 61 +++- standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java | 25 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java | 10 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Material.java | 6 standard-server/src/main/java/com/yuanchu/limslaboratory/service/SpecificationsService.java | 8 standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java | 19 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 117 ++++++- standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddMaterialDto.java | 31 ++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java | 103 +++++++ user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java | 9 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java | 19 + framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java | 15 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java | 2 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java | 4 standard-server/src/main/resources/mapper/ProductMapper.xml | 14 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MetricalInformationServiceImpl.java | 4 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java | 8 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java | 46 ++ standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardService.java | 12 laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java | 8 standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java | 2 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/MetricalInformationService.java | 2 laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml | 3 standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java | 7 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java | 2 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java | 9 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 8 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java | 76 +++++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/MetricalInformationMapper.java | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java | 29 + standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java | 9 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java | 13 laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml | 1 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standard.java | 2 41 files changed, 658 insertions(+), 129 deletions(-) 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 976777b..e94b324 100644 --- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java +++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java @@ -14,13 +14,18 @@ import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.jdbc.BadSqlGrammarException; +import org.springframework.validation.ObjectError; +import org.springframework.web.bind.MethodArgumentNotValidException; 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; +import java.net.BindException; import java.sql.SQLException; +import java.util.List; +import java.util.stream.Collectors; @Slf4j @@ -191,6 +196,16 @@ return Result.fail("鎶辨瓑涓嶆敮鎸併��" + e.getMessage() +"銆戝悗缂�鐨勬枃浠讹紒"); } + /** + * 鍙傛暟妫�楠� + */ + @ExceptionHandler({MethodArgumentNotValidException.class}) + public Result<?> methodArgumentNotValidException(MethodArgumentNotValidException e) { + List<ObjectError> allErrors = e.getBindingResult().getAllErrors(); + String message = allErrors.stream().map(s -> s.getDefaultMessage()).collect(Collectors.joining(";")); + return Result.fail(message); + } + /** 鍏朵粬閿欒 */ @ExceptionHandler({Exception.class}) public Result<?> exception(Exception e) { diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java index c0295d4..6906e8d 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java @@ -8,6 +8,7 @@ import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.service.*; 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.*; @@ -80,11 +81,12 @@ @ApiOperation("鏌ヨ鐗╂枡淇℃伅") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageSize", value = "椤垫暟", dataTypeClass = Integer.class, required = true), - @ApiImplicitParam(name = "countSize", value = "鏉℃暟/椤�", dataTypeClass = Integer.class, required = true) + @ApiImplicitParam(name = "countSize", value = "鏉℃暟/椤�", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "type", value = "绫诲瀷", dataTypeClass = Integer.class, required = true) }) @GetMapping("/selectMaterialLimit") - public Result selectMaterialLimit(int pageSize, int countSize) { - return Result.success(materialService.selectMaterialLimit(pageSize, countSize)); + public Result selectMaterialLimit(int pageSize, int countSize, int type) { + return Result.success(materialService.selectMaterialLimit(pageSize, countSize, type)); } @ApiOperation("閫夋嫨鐗╂枡淇℃伅") diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java index 09bb02e..0405b39 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java @@ -1,6 +1,7 @@ package com.yuanchu.limslaboratory.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.yuanchu.limslaboratory.pojo.InspectionMaterialList; import com.yuanchu.limslaboratory.service.InspectionMaterialListService; import com.yuanchu.limslaboratory.utils.JackSonUtil; @@ -50,11 +51,11 @@ @ApiOperation("鏍规嵁Id鏌ヨ鏍峰搧淇℃伅") @ApiImplicitParams(value = { - @ApiImplicitParam(name = "inspectionMaterialListId", value = "鏍峰搧ID", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "inspectionId", value = "鏍峰搧ID", dataTypeClass = String.class, required = true), }) - @PutMapping("/selectInspectionMaterialListById/{inspectionMaterialListId}") - public Result selectInspectionMaterialListById(@PathVariable Integer inspectionMaterialListId) { - return Result.success(inspectionMaterialListService.getById(inspectionMaterialListId)); + @GetMapping("/selectInspectionMaterialListById/{inspectionId}") + public Result selectInspectionMaterialListById(@PathVariable String inspectionId) { + return Result.success(inspectionMaterialListService.list(new QueryWrapper<InspectionMaterialList>().eq("inspection_id", inspectionId).eq("state", 1))); } @ApiOperation("鏍规嵁鏍峰搧id淇敼鏍峰搧淇℃伅") 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 4753c3e..2e403fe 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 @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.validation.constraints.NotNull; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -51,10 +52,13 @@ return Result.fail("娣诲姞銆�"+ equipmentPoint.getEquipmentPointName() +"銆戝け璐ワ紒璁惧鐮佺偣缂栫爜閲嶅锛�"); } - @ApiOperation("鏌ヨ鎵�鏈夎澶囩爜鐐规暟鎹�") + @ApiOperation("鏍规嵁浠櫒Id鏌ヨ瀵瑰簲璁惧鐮佺偣鏁版嵁") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "InstrumentId", value = "浠櫒妯″潡Id", dataTypeClass = String.class, required = true) + }) @GetMapping("/list") - public Result<?> getListEquipmentPointInformation() { - List<Map<String, Object>> list = equipmentPointService.getListEquipmentPointInformation(); + public Result<?> getListEquipmentPointInformation(String InstrumentId) { + List<Map<String, Object>> list = equipmentPointService.getListEquipmentPointInformation(InstrumentId); return Result.success(list); } 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..6a886ea 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,25 @@ 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.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.Map; +import java.util.Objects; /** * <p> @@ -13,8 +29,91 @@ * @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(@RequestHeader("X-Token") String token, @RequestBody Instrument instrument) throws Exception { + Object object = RedisUtil.get(token); + Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); + instrument.setCreateUserId((Integer) unmarshal.get("id")); + 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..a2f4c7c 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,21 @@ package com.yuanchu.limslaboratory.controller; +import com.yuanchu.limslaboratory.pojo.MetricalInformation; +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.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 +25,66 @@ * @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("鏌ヨ鎵�鏈夎閲忎俊鎭暟鎹�") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "InstrumentId", value = "浠櫒妯″潡Id", dataTypeClass = String.class, required = true) + }) + @GetMapping("/list") + public Result<?> getListMetricalInformation(String InstrumentId) { + List<Map<String, Object>> list = metricalInformationService.getListEquipmentPointInformation(InstrumentId); + 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/mapper/EquipmentPointMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java index 3dd46b8..5918e89 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 @@ -19,5 +19,5 @@ */ public interface EquipmentPointMapper extends BaseMapper<EquipmentPoint> { - List<Map<String, Object>> getListEquipmentPointInformation(); + List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId); } 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 987c803..ef27ce7 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 @@ -16,5 +16,5 @@ */ public interface MetricalInformationMapper extends BaseMapper<MetricalInformation> { - List<Map<String, Object>> getListEquipmentPointInformation(); + List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId); } 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 index 0b581ec..0d7fcdb 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Instrument.java @@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; /** * <p> @@ -37,6 +38,9 @@ @ApiModelProperty(value = "淇濈浜猴細鐢ㄦ埛琛ㄥ叧鑱擨d", example = "9", required = true) private Integer userId; + @ApiModelProperty(value = "淇濈浜猴細鐢ㄦ埛琛ㄥ叧鑱擨d", hidden = true) + private Integer createUserId; + @ApiModelProperty(value = "浠櫒璁惧缂栧彿", example = "JSTC-W1-00001", required = true) private String equipmentCode; @@ -60,10 +64,12 @@ @ApiModelProperty(value = "鍒拌揣鏃ユ湡", example = "2001-07-06", dataType = "date") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date arrivalDate; @ApiModelProperty(value = "楠屾敹鏃ユ湡", example = "2060-07-06", dataType = "date") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date acceptanceDate; @ApiModelProperty(value = "瀛樻斁鍦�", example = "鍦扮悆浜氭床涓浗姹熻嫃鍗楅��") @@ -86,9 +92,9 @@ @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true) private Integer state; - @JsonIgnore @TableField(fill = FieldFill.INSERT) @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTime; @JsonIgnore 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 index 660d10d..5ee2a7c 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/MetricalInformation.java @@ -35,6 +35,9 @@ @ApiModelProperty(value = "鐢ㄦ埛鍏宠仈Id", example = "7", required = true) private Integer userId; + @ApiModelProperty(value = "浠櫒鍏宠仈Id", example = "1", required = true) + private Integer instrumentId; + @ApiModelProperty(value = "璁¢噺鍗曚綅", example = "GB", required = true) private String measurementUnit; 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 ba3c510..4861c63 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 @@ -21,7 +21,7 @@ Integer addEquipmentPointInformation(EquipmentPoint equipmentPoint); - List<Map<String, Object>> getListEquipmentPointInformation(); + List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId); Integer deleteEquipmentPointInformation(Integer equipmentPointId); 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 8d7d919..eb8ad69 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 @@ -19,7 +19,7 @@ Integer addEquipmentPointInformation(MetricalInformation metricalInformation, MultipartFile file); - List<Map<String, Object>> getListEquipmentPointInformation(); + List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId); Integer deleteMetricalInformation(Integer metricalInformationId); 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 c0ba3ff..93202cc 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 @@ -45,8 +45,8 @@ } @Override - public List<Map<String, Object>> getListEquipmentPointInformation() { - return equipmentPointMapper.getListEquipmentPointInformation(); + public List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId) { + return equipmentPointMapper.getListEquipmentPointInformation(InstrumentId); } @Override 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 a2ad0d9..74ed4a4 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 @@ -40,8 +40,8 @@ } @Override - public List<Map<String, Object>> getListEquipmentPointInformation() { - return metricalInformationMapper.getListEquipmentPointInformation(); + public List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId) { + return metricalInformationMapper.getListEquipmentPointInformation(InstrumentId); } @Override diff --git a/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml b/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml index 427d44c..c64e216 100644 --- a/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml +++ b/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml @@ -6,5 +6,6 @@ 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` + AND e.`instrument_id` = #{InstrumentId} </select> </mapper> diff --git a/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml b/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml index 3f74553..21de131 100644 --- a/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml +++ b/laboratory-server/src/main/resources/mapper/MetricalInformationMapper.xml @@ -7,6 +7,7 @@ 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 + AND m.`state` = 1 + AND m.`instrument_id` = #{InstrumentId} </select> </mapper> diff --git a/pom.xml b/pom.xml index 3b1776c..0bfe39d 100644 --- a/pom.xml +++ b/pom.xml @@ -79,6 +79,12 @@ <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> + + <!--鍚庣娉ㄩ噴妫�楠屽伐鍏�--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-validation</artifactId> + </dependency> </dependencies> <dependencyManagement> <dependencies> 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 d3ca6fd..853f518 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 @@ -1,7 +1,6 @@ package com.yuanchu.limslaboratory.controller; - -import com.yuanchu.limslaboratory.pojo.Material; +import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto; import com.yuanchu.limslaboratory.service.MaterialService; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; @@ -9,7 +8,11 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; /** * <p> @@ -29,24 +32,34 @@ @ApiOperation("娣诲姞鐗╂枡") @PostMapping("/add") - public Result<?> addMaterialInformation(@RequestBody Material material) { - Integer isMaterialSuccess = null; + public Result<?> addMaterialInformation(@Validated @RequestBody AddMaterialDto addMaterialDto) { + Integer isMaterialSuccess = materialService.addMaterialInformation(addMaterialDto); if (isMaterialSuccess == 1) { - return Result.success("娣诲姞鐗╂枡銆�"+ material.getName() +"銆戞垚鍔燂紒"); + return Result.success("娣诲姞鐗╂枡銆�"+ addMaterialDto.getMaterialName() +"銆戞垚鍔燂紒"); } - return Result.fail("娣诲姞鐗╂枡銆�"+ material.getName() +"銆戝け璐ワ紒"); + return Result.fail("娣诲姞鐗╂枡銆�"+ addMaterialDto.getMaterialName() +"銆戝け璐ワ紒"); } @ApiOperation("鏍规嵁鐗╂枡ID鍒犻櫎鐗╂枡") @DeleteMapping("/delete") @ApiImplicitParams(value = { - @ApiImplicitParam(value = "鐗╂枡ID", name = "materialId", dataTypeClass = String.class) + @ApiImplicitParam(value = "鐗╂枡ID", name = "materialId", dataTypeClass = Integer.class) }) - public Result<?> deleteMaterialInformation(String materialId) { + public Result<?> deleteMaterialInformation(Integer materialId) { Integer isDeleteMaterialSuccess = materialService.deleteMaterialInformation(materialId); if (isDeleteMaterialSuccess == 1) { return Result.success("鍒犻櫎鎴愬姛锛�"); } return Result.fail("鍒犻櫎澶辫触锛�"); } + + @ApiOperation("渚ц竟鏍忓洓绾у睍寮�") + @ApiImplicitParams(value = { + @ApiImplicitParam(value = "鍨嬪彿/鍨嬪彿鍚嶇О", name = "specificationName", dataTypeClass = String.class) + }) + @GetMapping("/list") + public Result<?> getFourLevelInformation(String specificationName) { + List<Map<String, Object>> fourLevelInformation = materialService.getFourLevelInformation(specificationName); + return Result.success(fourLevelInformation); + } } 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 ac7a176..48d6c63 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 @@ -1,17 +1,17 @@ package com.yuanchu.limslaboratory.controller; -import com.yuanchu.limslaboratory.pojo.Product; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.service.ProductService; -import com.yuanchu.limslaboratory.utils.JackSonUtil; -import com.yuanchu.limslaboratory.utils.RedisUtil; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; /** * <p> @@ -29,16 +29,28 @@ @Autowired private ProductService productService; - @ApiOperation("鍒犻櫎娴嬭瘯鏍囧噯妯″潡鏁版嵁") - @DeleteMapping("/delete") + @ApiOperation("1銆佸垎椤垫煡璇㈤」鐩�") @ApiImplicitParams(value = { - @ApiImplicitParam(value = "娴嬭瘯鏍囧噯ID", name = "productId", dataTypeClass = String.class) + @ApiImplicitParam(name = "pageNo", value = "璧峰椤�", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true), + @ApiImplicitParam(value = "鍘熸潗鏂欑紪鐮�/鍘熸潗鏂欏悕绉�", name = "productCodeOrName", dataTypeClass = String.class) }) - public Result<?> deleteProductInformation(Integer productId) { - Integer isDeleteProduct = productService.deleteProductInformation(productId); - if (isDeleteProduct == 1) { - return Result.success("鍒犻櫎鎴愬姛锛�"); - } - return Result.fail("鍒犻櫎澶辫触锛�"); + @GetMapping("/page") + public Result<?> pageProductInformation(Integer pageNo, Integer pageSize,String productCodeOrName) { + IPage<Map<String, Object>> maps = productService.pageProductInformation(productCodeOrName, new Page<Objects>(pageNo, pageSize)); + Map<String, Object> map = new HashMap<>(); + map.put("row", maps.getRecords()); + map.put("total", maps.getTotal()); + return Result.success(map); + } + + @ApiOperation("2銆佹牴鎹埗绫绘煡瀛愮被") + @ApiImplicitParams(value = { + @ApiImplicitParam(value = "鐖剁被鍚嶇О", name = "fatherName", dataTypeClass = String.class) + }) + @GetMapping("/father") + public Result<?> pageFatherNameProductInformation(String fatherName) { + List<Map<String, Object>> maps = productService.pageFatherNameProductInformation(fatherName); + return Result.success(maps); } } 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 bfc1627..4be696a 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 @@ -1,6 +1,8 @@ package com.yuanchu.limslaboratory.controller; +import com.yuanchu.limslaboratory.pojo.dto.AddSpecifications; +import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto; import com.yuanchu.limslaboratory.service.SpecificationsService; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; @@ -8,6 +10,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** @@ -26,6 +29,16 @@ @Autowired private SpecificationsService specificationsService; + @ApiOperation("娣诲姞鐗╂枡") + @PostMapping("/add") + public Result<?> addSpecificationsInformation(@Validated @RequestBody AddSpecifications addSpecifications) { + Integer isMaterialSuccess = specificationsService.addSpecificationsInformation(addSpecifications); + if (isMaterialSuccess == 1) { + return Result.success("娣诲姞鐗╂枡銆�"+ addSpecifications.getSpecificationsName() +"銆戞垚鍔燂紒"); + } + return Result.fail("娣诲姞鐗╂枡銆�"+ addSpecifications.getSpecificationsName() +"銆戝け璐ワ紒"); + } + @ApiOperation("鍒犻櫎浜у搧瑙勬牸") @ApiImplicitParams(value = { @ApiImplicitParam(name = "specificationsId", value = "瑙勬牸Id", dataTypeClass = Integer.class, required = true) diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java index 37ab29e..665f006 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java @@ -1,11 +1,12 @@ package com.yuanchu.limslaboratory.controller; - +import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto; import com.yuanchu.limslaboratory.service.StandardService; import com.yuanchu.limslaboratory.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** @@ -24,11 +25,21 @@ @Autowired private StandardService standardService; + @ApiOperation("娣诲姞鐗╂枡") + @PostMapping("/add") + public Result<?> addStandardInformation(@Validated @RequestBody AddStandardDto addStandardDto) { + Integer isMaterialSuccess = standardService.addStandardInformation(addStandardDto); + if (isMaterialSuccess == 1) { + return Result.success("娣诲姞鐗╂枡銆�"+ addStandardDto.getStandardName() +"銆戞垚鍔燂紒"); + } + return Result.fail("娣诲姞鐗╂枡銆�"+ addStandardDto.getStandardName() +"銆戝け璐ワ紒"); + } + @ApiOperation("鏍规嵁ID鍒犻櫎鏁版嵁") @DeleteMapping("/delete") - public Result<?> deleteStandardsInformation(String standardsId) { - Integer isDeleteSuccess = standardService.deleteStandardsInformation(standardsId); - if (isDeleteSuccess == 1){ + public Result<?> deleteStandardsInformation(Integer standardsId) { + Integer isDeleteMaterialSuccess = standardService.deleteStandardInformation(standardsId); + if (isDeleteMaterialSuccess == 1) { return Result.success("鍒犻櫎鎴愬姛锛�"); } return Result.fail("鍒犻櫎澶辫触锛�"); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java index 63a2e7e..69ac1ec 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java @@ -17,7 +17,7 @@ public interface MaterialMapper extends BaseMapper<Material> { //鏌ヨ鐗╂枡淇℃伅 - List<Material> selectMaterialLimit(int num1,int num2); + List<Material> selectMaterialLimit(int num1,int num2, int type); //鏍规嵁鐗╂枡id鏌ヨ鐗╂枡淇℃伅 Map selectMaterialById(String materialId); diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java index 3a02fc6..4536735 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java @@ -1,11 +1,14 @@ package com.yuanchu.limslaboratory.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.Product; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; import java.util.Map; +import java.util.Objects; /** * <p> @@ -19,5 +22,7 @@ List<Product> selectProductByMaterialId(String materialId); - Map<String, Object> getProductInformation(Integer productId); + IPage<Map<String, Object>> pageProductInformation(String productCodeOrName, Page<Objects> page); + + Map<String, Object> selectOneChildren(Object father); } 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 9eee171..f76bc42 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 @@ -11,6 +11,7 @@ import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; /** * <p> @@ -20,6 +21,7 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2023-07-17 */ +@Accessors(chain = true) @Data @EqualsAndHashCode(callSuper = false) @ApiModel(value="Material瀵硅薄", description="") @@ -29,9 +31,9 @@ @ApiModelProperty(value = "鐗╂枡id", hidden = true) @TableId(value = "id", type = IdType.AUTO) - private String id; + private Integer id; - @ApiModelProperty(value = "鐗╂枡缂栫爜", example = "152453211563212", required = true) + @ApiModelProperty(value = "鐗╂枡缂栫爜", hidden = true) private String code; @ApiModelProperty(value = "鐗╂枡鍚嶇О", example = "鐭冲ご", required = true) diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java index 023a593..6e70cdf 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Specifications.java @@ -12,6 +12,7 @@ import io.swagger.models.auth.In; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; /** * <p> @@ -22,6 +23,7 @@ * @since 2023-07-11 */ @Data +@Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="Specifications瀵硅薄", description="瑙勬牸") public class Specifications implements Serializable { diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standard.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standard.java index 4f25ea6..5671a73 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standard.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Standard.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; /** * <p> @@ -20,6 +21,7 @@ * @since 2023-07-11 */ @Data +@Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="Standards瀵硅薄", description="鏍囧噯") public class Standard implements Serializable { diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddMaterialDto.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddMaterialDto.java new file mode 100644 index 0000000..d3ce5ae --- /dev/null +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddMaterialDto.java @@ -0,0 +1,31 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="AddMaterialDto瀵硅薄", description="") +public class AddMaterialDto { + + @NotNull(message = "鐗╂枡绫诲瀷涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "0锛氬師鏉愭枡锛�1锛氭垚鍝侊紱2锛氬崐鎴愬搧", example = "1", required = true) + private Integer type; + + @NotBlank(message = "鐗╂枡鍚嶇О涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "鐗╂枡鍚嶇О", example = "鐭冲ご", required = true) + private String materialName; + + @NotBlank(message = "鏍囧噯鍚嶇О涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "鏍囧噯鍚嶇О", example = "鍏夌氦", required = true) + private String standardName; + + @NotBlank(message = "浜у搧瑙勬牸鍚嶇О涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "浜у搧瑙勬牸鍚嶇О", example = "AB", required = true) + private String specificationsName; +} diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddSpecifications.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddSpecifications.java new file mode 100644 index 0000000..413c9bd --- /dev/null +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddSpecifications.java @@ -0,0 +1,23 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="AddSpecifications瀵硅薄", description="") +public class AddSpecifications { + + @NotNull(message = "鏍囧噯ID涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "鏍囧噯id", example = "1", required = true) + private Integer standardId; + + @NotBlank(message = "浜у搧瑙勬牸鍚嶇О涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "浜у搧瑙勬牸鍚嶇О", example = "AB", required = true) + private String specificationsName; +} diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddStandardDto.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddStandardDto.java new file mode 100644 index 0000000..2fe0eb6 --- /dev/null +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/AddStandardDto.java @@ -0,0 +1,28 @@ +package com.yuanchu.limslaboratory.pojo.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="AddStandardDto瀵硅薄", description="") +public class AddStandardDto { + + @NotNull(message = "鐗╂枡ID涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "鐗╂枡id", example = "1", required = true) + private Integer materialId; + + @NotBlank(message = "鏍囧噯鍚嶇О涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "鏍囧噯鍚嶇О", example = "鍏夌氦", required = true) + private String standardName; + + @NotBlank(message = "浜у搧瑙勬牸鍚嶇О涓嶈兘涓虹┖锛�") + @ApiModelProperty(value = "浜у搧瑙勬牸鍚嶇О", example = "AB", required = true) + private String specificationsName; + +} 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 28e5a43..7e79daf 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,8 @@ import com.yuanchu.limslaboratory.pojo.Material; import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; @@ -16,7 +18,7 @@ */ public interface MaterialService extends IService<Material> { - List<Material> selectMaterialLimit(int pageSize,int countSize); + List<Material> selectMaterialLimit(int pageSize,int countSize, int type); Map selectMaterialById(String materialId); @@ -25,12 +27,17 @@ * @param materialId * @return */ - Integer deleteMaterialInformation(String materialId); + @Transactional(rollbackFor = Exception.class) + Integer deleteMaterialInformation(Integer materialId); /** - * 鍒犻櫎绛変簬SpecificationsId鐨勭墿鏂欐暟鎹� - * @param deleteSpecificationsId - * @return + * 涓夌骇娣诲姞鍙傛暟 */ - List<String> specificationsIdDeleteMaterial(List<Integer> deleteSpecificationsId); + @Transactional(rollbackFor = Exception.class) + Integer addMaterialInformation(AddMaterialDto addMaterialDto); + + /** + * 鍥涚骇鍒嗗眰鏄剧ず + */ + List<Map<String, Object>> getFourLevelInformation(String specificationName); } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java index 9940876..d6b2662 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java @@ -1,10 +1,13 @@ package com.yuanchu.limslaboratory.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.Product; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; import java.util.Map; +import java.util.Objects; /** @@ -16,7 +19,9 @@ * @since 2023-07-17 */ public interface ProductService extends IService<Product> { - Integer deleteProductInformation(Integer productId); + void deleteProductInformation(List<Integer> SpecificationsId); - void MaterialIdDeleteProduct(List<String> deleteMaterialId); + IPage<Map<String, Object>> pageProductInformation(String productCodeOrName, Page<Objects> page); + + List<Map<String, Object>> pageFatherNameProductInformation(String fatherName); } 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 9111ec9..5da007f 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 @@ -1,7 +1,11 @@ package com.yuanchu.limslaboratory.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.yuanchu.limslaboratory.pojo.Specifications; import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.limslaboratory.pojo.Standard; +import com.yuanchu.limslaboratory.pojo.dto.AddSpecifications; +import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -23,5 +27,7 @@ @Transactional(rollbackFor = Exception.class) Integer deleteSpecifications(Integer specificationsId); - List<Integer> SerialNumberIdDeleteSpecifications(List<String> deleteSerialNumberId); + List<Integer> StandardIdDeleteSpecifications(List<Integer> deleteStandard); + + Integer addSpecificationsInformation(AddSpecifications addStandardDto); } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardService.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardService.java index 643d7cc..ef36a18 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardService.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/StandardService.java @@ -2,7 +2,11 @@ import com.yuanchu.limslaboratory.pojo.Standard; import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto; +import io.swagger.models.auth.In; import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * <p> @@ -16,9 +20,13 @@ /** * 鏍规嵁鏍囧噯Id鍒犻櫎鏁版嵁 - * @param standardsId + * @param materialId * @return */ + List<Integer> deleteStandardsInformation(Integer materialId); + @Transactional(rollbackFor = Exception.class) - Integer deleteStandardsInformation(String standardsId); + Integer deleteStandardInformation(Integer standardsId); + + Integer addStandardInformation(AddStandardDto addStandardDto); } 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 a373c2a..feb1a9e 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 @@ -2,16 +2,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.yuanchu.limslaboratory.pojo.Material; import com.yuanchu.limslaboratory.mapper.MaterialMapper; +import com.yuanchu.limslaboratory.pojo.Specifications; +import com.yuanchu.limslaboratory.pojo.Standard; +import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto; import com.yuanchu.limslaboratory.service.MaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.service.ProductService; +import com.yuanchu.limslaboratory.service.SpecificationsService; +import com.yuanchu.limslaboratory.service.StandardService; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -27,12 +34,21 @@ public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> implements MaterialService { @Resource - MaterialMapper materialMapper; + private MaterialMapper materialMapper; + + @Autowired + private StandardService standardService; + + @Autowired + private SpecificationsService specificationsService; + + @Autowired + private ProductService productService; //鏌ヨ鐗╂枡淇℃伅 @Override - public List<Material> selectMaterialLimit(int pageSize, int countSize) { - return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize); + public List<Material> selectMaterialLimit(int pageSize, int countSize, int type) { + return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize, type); } //鏍规嵁鐗╂枡id鏌ヨ鐗╂枡淇℃伅 @@ -41,39 +57,92 @@ return materialMapper.selectMaterialById(materialId); } - @Autowired - private ProductService productService; - @Override - public Integer deleteMaterialInformation(String materialId) { + public Integer deleteMaterialInformation(Integer materialId) { LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Material::getId, materialId); updateWrapper.set(Material::getState, 0); - List<String> list = new ArrayList<>(); - list.add(materialId); int isDeleteSuccess = materialMapper.update(new Material(), updateWrapper); if (isDeleteSuccess == 1){ - productService.MaterialIdDeleteProduct(list); + List<Integer> isDeleteStandard = standardService.deleteStandardsInformation(materialId); + if (!ObjectUtils.isEmpty(isDeleteStandard)){ + List<Integer> idDeleteSpecifications = specificationsService.StandardIdDeleteSpecifications(isDeleteStandard); + if (!ObjectUtils.isEmpty(idDeleteSpecifications)){ + productService.deleteProductInformation(idDeleteSpecifications); + } + } return 1; } return 0; } @Override - public List<String> specificationsIdDeleteMaterial(List<Integer> deleteSpecificationsId) { - List<String> list = new ArrayList<>(); - for (Integer serialNumberId:deleteSpecificationsId){ - LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); - wrapper.select(Material::getId); - List<Material> maps1 = materialMapper.selectList(wrapper); - for (Material material:maps1){ - LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(Material::getId, material.getId()); - updateWrapper.set(Material::getState, 0); - materialMapper.update(new Material(), updateWrapper); - list.add(material.getId()); + public Integer addMaterialInformation(AddMaterialDto addMaterialDto) { + Material material = new Material() + .setCode("BZ" + IdWorker.getIdStr()) + .setName(addMaterialDto.getMaterialName()) + .setType(addMaterialDto.getType()); + int isInsertSuccess = materialMapper.insert(material); + if (isInsertSuccess > 0){ + Standard standard = new Standard() + .setMaterialId(material.getId()) + .setName(addMaterialDto.getStandardName()); + boolean save = standardService.save(standard); + if (save){ + Specifications specifications = new Specifications() + .setName(addMaterialDto.getSpecificationsName()) + .setStandardId(standard.getId()); + boolean save1 = specificationsService.save(specifications); + if (save1) + return 1; } } - return list; + return 0; + } + + @Override + public List<Map<String, Object>> getFourLevelInformation(String specificationName) { + LambdaQueryWrapper<Material> typeWrapper = new LambdaQueryWrapper<>(); + typeWrapper.groupBy(Material::getType); + typeWrapper.select(Material::getType); + List<Map<String, Object>> typeMaps = materialMapper.selectMaps(typeWrapper); + for (Map<String, Object> typeMap : typeMaps){ + LambdaQueryWrapper<Material> materialWrapper = new LambdaQueryWrapper<>(); + materialWrapper.eq(Material::getType, typeMap.get("type")); + materialWrapper.select(Material::getId, Material::getName); + List<Map<String, Object>> materialMaps = materialMapper.selectMaps(materialWrapper); + if (!ObjectUtils.isEmpty(materialMaps)){ + for (Map<String, Object> materialMap : materialMaps){ + LambdaQueryWrapper<Standard> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Standard::getMaterialId, materialMap.get("id")); + wrapper.select(Standard::getId, Standard::getName); + List<Map<String, Object>> standardMaps = standardService.listMaps(wrapper); + if (!ObjectUtils.isEmpty(standardMaps)){ + for (Map<String, Object> standardMap : standardMaps){ + LambdaQueryWrapper<Specifications> specificationWrapper = new LambdaQueryWrapper<>(); + MyUtil.PrintLog(standardMap.get("id").toString()); + specificationWrapper.eq(Specifications::getStandardId, standardMap.get("id")); + if (!ObjectUtils.isEmpty(specificationName)){ + specificationWrapper.eq(Specifications::getName, specificationName); + } + specificationWrapper.select(Specifications::getId, Specifications::getName); + List<Map<String, Object>> specificationsMaps = specificationsService.listMaps(specificationWrapper); + if (!ObjectUtils.isEmpty(specificationsMaps)){ + standardMap.put("children", specificationsMaps); + } else { + standardMap.put("children", null); + } + } + materialMap.put("children", standardMaps); + } else { + materialMap.put("children", null); + } + } + typeMap.put("children", materialMaps); + } else { + typeMap.put("children", null); + } + } + return typeMaps; } } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java index 45dee2f..6cbc593 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java @@ -2,10 +2,13 @@ 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.Product; import com.yuanchu.limslaboratory.mapper.ProductMapper; import com.yuanchu.limslaboratory.service.ProductService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.factory.annotation.Autowired; import com.yuanchu.limslaboratory.service.UserService; import org.springframework.stereotype.Service; @@ -15,6 +18,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; /** * <p> @@ -31,20 +35,40 @@ private ProductMapper productMapper; @Override - public Integer deleteProductInformation(Integer productId) { - LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(Product::getId, productId); - wrapper.set(Product::getState, 0); - return productMapper.update(new Product(), wrapper); - } - - @Override - public void MaterialIdDeleteProduct(List<String> deleteMaterialId) { - for (String materialId : deleteMaterialId){ + public void deleteProductInformation(List<Integer> SpecificationsId) { + for (Integer materialId : SpecificationsId){ LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(Product::getId, materialId); + wrapper.eq(Product::getSpecifications_id, materialId); wrapper.set(Product::getState, 0); productMapper.update(new Product(), wrapper); } } + + @Override + public IPage<Map<String, Object>> pageProductInformation(String productCodeOrName, Page<Objects> page) { + IPage<Map<String, Object>> iPage = productMapper.pageProductInformation(productCodeOrName, page); + List<Map<String, Object>> maps = iPage.getRecords(); + MyUtil.PrintLog(maps.toString()); + maps.forEach(map -> { + int num = Integer.parseInt(map.get("num").toString()); + boolean children = false; + if (num > 1){ + children = true; + } else { + Map<String, Object> product = productMapper.selectOneChildren(map.get("father")); + map.putAll(product); + } + map.put("children", children); + map.remove("num"); + }); + return iPage; + } + + @Override + public List<Map<String, Object>> pageFatherNameProductInformation(String fatherName) { + LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Product::getFather, fatherName); + wrapper.select(Product::getId, Product::getName, Product::getUnit, Product::getRequired, Product::getInternal); + return productMapper.selectMaps(wrapper); + } } 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 0730bc4..93be8b1 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,9 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.yuanchu.limslaboratory.pojo.Specifications; import com.yuanchu.limslaboratory.mapper.SpecificationsMapper; +import com.yuanchu.limslaboratory.pojo.dto.AddSpecifications; +import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto; import com.yuanchu.limslaboratory.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -29,9 +32,6 @@ private SpecificationsMapper specificationsMapper; @Autowired - private MaterialService materialService; - - @Autowired private ProductService productService; @Override @@ -43,21 +43,18 @@ list.add(specificationsId); int isDeleteSuccess = specificationsMapper.update(new Specifications(), updateWrapper); if (isDeleteSuccess == 1){ - List<String> deleteMaterialId = materialService.specificationsIdDeleteMaterial(list); - if (!ObjectUtils.isEmpty(deleteMaterialId)){ - productService.MaterialIdDeleteProduct(deleteMaterialId); - } + productService.deleteProductInformation(list); return 1; } return 0; } @Override - public List<Integer> SerialNumberIdDeleteSpecifications(List<String> deleteSerialNumberId) { + public List<Integer> StandardIdDeleteSpecifications(List<Integer> deleteStandard) { List<Integer> list = new ArrayList<>(); - for (String serialNumberId:deleteSerialNumberId){ + for (Integer standard : deleteStandard){ LambdaQueryWrapper<Specifications> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Specifications::getId, serialNumberId); + wrapper.eq(Specifications::getStandardId, standard); wrapper.select(Specifications::getId); List<Specifications> maps1 = specificationsMapper.selectList(wrapper); for (Specifications specifications:maps1){ @@ -70,4 +67,12 @@ } return list; } + + @Override + public Integer addSpecificationsInformation(AddSpecifications addStandardDto) { + Specifications specifications = new Specifications() + .setName(addStandardDto.getSpecificationsName()) + .setStandardId(addStandardDto.getStandardId()); + return specificationsMapper.insert(specifications); + } } diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java index 5aed855..bfc9618 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/StandardServiceImpl.java @@ -1,17 +1,23 @@ package com.yuanchu.limslaboratory.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.yuanchu.limslaboratory.mapper.StandardMapper; +import com.yuanchu.limslaboratory.pojo.Material; +import com.yuanchu.limslaboratory.pojo.Specifications; import com.yuanchu.limslaboratory.pojo.Standard; +import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto; import com.yuanchu.limslaboratory.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * <p> @@ -27,36 +33,63 @@ @Resource private StandardMapper standardMapper; - @Autowired - private UserService userService; - @Lazy @Autowired private SpecificationsService specificationsService; - - @Autowired - private MaterialService materialService; @Autowired private ProductService productService; @Override - public Integer deleteStandardsInformation(String standardsId) { + public List<Integer> deleteStandardsInformation(Integer materialId) { + LambdaQueryWrapper<Standard> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Standard::getMaterialId, materialId); + wrapper.select(Standard::getId); + List<Integer> list = new ArrayList<>(); + List<Standard> standards = standardMapper.selectList(wrapper); + for (Standard standard : standards){ + LambdaUpdateWrapper<Standard> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Standard::getMaterialId, materialId); + updateWrapper.set(Standard::getState, 0); + standardMapper.update(new Standard(), updateWrapper); + list.add(standard.getId()); + } + return list; + } + + @Override + public Integer deleteStandardInformation(Integer standardsId) { LambdaUpdateWrapper<Standard> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Standard::getId, standardsId); updateWrapper.set(Standard::getState, 0); + List<Integer> list = new ArrayList<>(); int isDeleteSuccess = standardMapper.update(new Standard(), updateWrapper); if (isDeleteSuccess == 1){ - List<Integer> deleteSpecificationsId = specificationsService.SerialNumberIdDeleteSpecifications(null); - if (!ObjectUtils.isEmpty(deleteSpecificationsId)){ - List<String> deleteMaterialId = materialService.specificationsIdDeleteMaterial(deleteSpecificationsId); - if (!ObjectUtils.isEmpty(deleteMaterialId)){ - productService.MaterialIdDeleteProduct(deleteMaterialId); - } + list.add(standardsId); + List<Integer> idDeleteSpecifications = specificationsService.StandardIdDeleteSpecifications(list); + if (!ObjectUtils.isEmpty(idDeleteSpecifications)){ + productService.deleteProductInformation(idDeleteSpecifications); } return 1; } return 0; } + + @Override + public Integer addStandardInformation(AddStandardDto addStandardDto) { + Standard standard = new Standard() + .setMaterialId(addStandardDto.getMaterialId()) + .setName(addStandardDto.getStandardName()); + int save = standardMapper.insert(standard); + if (save == 1){ + Specifications specifications = new Specifications() + .setName(addStandardDto.getSpecificationsName()) + .setStandardId(standard.getId()); + boolean save1 = specificationsService.save(specifications); + if (save1) + return 1; + } + return 0; + } } diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml index e2cb725..d3281fd 100644 --- a/standard-server/src/main/resources/mapper/MaterialMapper.xml +++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml @@ -6,6 +6,7 @@ select id, name from material where state = 1 + and type = #{type} order by create_time desc limit #{num1},#{num2} </select> diff --git a/standard-server/src/main/resources/mapper/ProductMapper.xml b/standard-server/src/main/resources/mapper/ProductMapper.xml index 4868b93..7596baa 100644 --- a/standard-server/src/main/resources/mapper/ProductMapper.xml +++ b/standard-server/src/main/resources/mapper/ProductMapper.xml @@ -2,4 +2,18 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.limslaboratory.mapper.ProductMapper"> + <select id="pageProductInformation" resultType="map"> + SELECT COUNT(1) num, p.`father` + FROM product p + <if test="productCodeOrName != null and productCodeOrName != ''"> + WHERE p.`father` = #{productCodeOrName} + </if> + GROUP BY p.`father` + </select> + + <select id="selectOneChildren" resultType="map"> + SELECT p.`id`, p.`unit`, p.`required`, p.`internal` + FROM product p + WHERE p.`father` = #{father} + </select> </mapper> 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 3b9df69..8291c99 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,13 +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> @@ -80,4 +76,9 @@ * @return */ List<User> selectUser(); + + /** + * 鑾峰彇鎵�鏈夌敤鎴风殑鍚嶇О涓嶪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 eb7b820..7b87483 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 @@ -12,7 +12,6 @@ import com.yuanchu.limslaboratory.vo.NewPersonnelVo; import com.yuanchu.limslaboratory.vo.PagePersonnelVo; import com.yuanchu.limslaboratory.vo.UpdatePersonnelVo; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -80,6 +79,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