From 3ad5b828240db97470c9a08b247b1f6f5cdc0dd7 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期五, 04 八月 2023 11:30:33 +0800 Subject: [PATCH] LIMS管理系统框架-开发8-4 --- standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java | 3 + inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 42 -------------------- inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java | 2 standard-server/src/main/resources/mapper/MaterialMapper.xml | 37 ++++++++++++++++++ laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java | 14 +----- laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java | 3 + laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ClassifyServiceImpl.java | 15 ------- 9 files changed, 51 insertions(+), 69 deletions(-) diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java index 6a21f00..22de441 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java @@ -48,7 +48,7 @@ return Result.success(link1); } - @ApiOperation(value = "鍒嗛〉琛ㄦ牸", tags = "123") + @ApiOperation(value = "鍒嗛〉琛ㄦ牸") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageNo", value = "璧峰椤�", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "pageSize", value = "姣忎竴椤垫暟閲�", dataTypeClass = Integer.class, required = true), diff --git a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml index d17384b..7751861 100644 --- a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml +++ b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml @@ -4,7 +4,7 @@ <select id="getLinkBasicPage" resultType="map"> SELECT l.`id`, l.`entrust_coding`, l.`entrusted`, d.`samples_number`, d.`sample_name`, d.`specifications_models`, - DATE_FORMAT(l.`inspection_time`,'%Y-%m-%d') inspectionTime, l.`completion_deadline`, l.`contacts`, d.`date_survey`, d.`inspection_status` + DATE_FORMAT(l.`inspection_time`,'%Y-%m-%d') inspectionTime, DATE_FORMAT(l.`completion_deadline`,'%Y-%m-%d') inspectionTime, l.`contacts`, d.`date_survey`, d.`inspection_status` FROM link_basic_information l, link_detection d WHERE l.`id` = d.`link_basic_id` AND l.`state` = 1 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 6e18c6c..614814b 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 @@ -31,22 +31,14 @@ @Autowired private ClassifyService classifyService; - @ApiOperation("娣诲姞鍒嗙被锛氬鏋滈�夋嫨浜唍ame鍗虫坊鍔犵殑涓哄瓙鑺傜偣鏁版嵁锛涘鏋滄病鏈夐�夋嫨鍗虫坊鍔犵殑涓虹埗鑺傜偣鏁版嵁锛涘悗鍙板鐞�") + @ApiOperation("娣诲姞鍒嗙被") @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() +"銆戯紝娣诲姞澶辫触锛�"); + } else if (isAddClassifySuccess == 2) { + return Result.fail("鎶辨瓑閲嶅娣诲姞鍒嗙被鍚嶇О銆�"+ classify.getSonName() +"銆戯紝娣诲姞澶辫触锛�"); } return Result.fail("娣诲姞鍒嗙被銆�"+ classify.getSonName() +"銆戝け璐ワ紒"); } 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 index 8bb4eb1..019c5e4 100644 --- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java +++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Classify.java @@ -11,6 +11,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; + /** * <p> * @@ -33,6 +35,7 @@ @ApiModelProperty(value = "鍒嗙被鐖跺悕绉�", example = "娓╁害娴嬮噺浠〃") private String fatherName; + @NotBlank(message = "鍚嶇О涓嶅厑璁镐负绌猴紒") @ApiModelProperty(value = "鍒嗙被瀛愬悕绉�", example = "浣撴俯璁�",required = true) private String sonName; 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 f7882e9..66d8c86 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 @@ -29,19 +29,6 @@ @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()); @@ -50,7 +37,7 @@ if (ObjectUtils.isEmpty(classify1)){ return classifyMapper.insert(classify); } else { - return 3; + return 2; } } 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 853f518..8a89867 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 @@ -53,7 +53,7 @@ return Result.fail("鍒犻櫎澶辫触锛�"); } - @ApiOperation("渚ц竟鏍忓洓绾у睍寮�") + @ApiOperation(value = "鏍囧噯搴�-->鐗╂枡-->渚ц竟鏍忓洓绾у睍寮�", tags = "猸愨瓙猸愬悗绔皟鏁�") @ApiImplicitParams(value = { @ApiImplicitParam(value = "鍨嬪彿/鍨嬪彿鍚嶇О", name = "specificationName", dataTypeClass = String.class) }) 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 6df4b19..0408808 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 @@ -21,4 +21,7 @@ //鏍规嵁鐗╂枡id鏌ヨ鐗╂枡淇℃伅 Map selectMaterialById(String materialId); + + // 鍥涚骇鏍� + List<Map<String, Object>> FourTree(String specificationsName); } 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 83e6236..62db781 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 @@ -102,46 +102,6 @@ @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<>(); - 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; + return materialMapper.FourTree(specificationName); } } diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml index 8853a62..1903342 100644 --- a/standard-server/src/main/resources/mapper/MaterialMapper.xml +++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml @@ -30,4 +30,41 @@ and s.serial_id = sn.id and m.id=#{materialId} </select> + + <resultMap id="OneLevelTreeMap" type="Map"> + <id property="id" column="materialId"/> + <result property="name" column="materialName"/> + <collection property="children" resultMap="TwoLevelTreeMap" javaType="List"/> + </resultMap> + + <resultMap id="TwoLevelTreeMap" type="Map"> + <id property="id" column="standardId"/> + <result property="name" column="standardName"/> + <collection property="children" resultMap="ThreeLevelTreeMap" javaType="List"/> + </resultMap> + + <resultMap id="ThreeLevelTreeMap" type="Map"> + <id property="id" column="specificationsId"/> + <result property="name" column="specificationsName"/> + <collection property="children" resultMap="FourLevelTreeMap" javaType="List"/> + </resultMap> + + <resultMap id="FourLevelTreeMap" type="Map"> + <id property="id" column="productId"/> + <result property="name" column="productName"/> + </resultMap> + + <select id="FourTree" resultMap="OneLevelTreeMap"> + SELECT m.`id` materialId, m.`name` materialName, s.`id` standardId, s.`name` standardName, + f.`id` specificationsId, f.`name` specificationsName, p.`id` productId, p.`name` productName + FROM material m + LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s ON m.id = s.`material_id` + LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id` FROM specifications f WHERE f.`state` = 1 + <if test="specificationsName != null and specificationsName != ''"> + AND f.`name` = #{specificationsName} + </if> + ) f ON s.`id` = f.`standard_id` + LEFT JOIN (SELECT p.`id`, p.`name`, p.`specifications_id` FROM product p WHERE p.`state` = 1) p ON f.`id` = p.`specifications_id` + WHERE m.`state` = 1 + </select> </mapper> -- Gitblit v1.9.3