From fca5900388c17f234ff1cb8c2248854139169bdf Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期三, 23 八月 2023 16:20:55 +0800
Subject: [PATCH] LIMS管理系统框架-开发8-23
---
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java | 70 +++++++++++
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/OrganizationalMapper.java | 20 +++
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Organizational.java | 61 ++++++++++
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseServiceImpl.java | 13 ++
standard-server/src/main/resources/mapper/OrganizationalMapper.xml | 14 ++
sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java | 8
standard-server/src/main/resources/mapper/MaterialMapper.xml | 5
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java | 6
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java | 2
standard-server/src/main/java/com/yuanchu/limslaboratory/service/OrganizationalService.java | 26 ++++
sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java | 2
standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java | 2
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 4
user-server/src/main/java/com/yuanchu/limslaboratory/service/EnterpriseService.java | 1
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java | 7
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/OrganizationalServiceImpl.java | 64 ++++++++++
16 files changed, 286 insertions(+), 19 deletions(-)
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 6ddf43e..e7a7ce8 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
@@ -60,12 +60,9 @@
}
@ApiOperation(value = "鏍囧噯搴�-->鐗╂枡-->渚ц竟鏍忓洓绾у睍寮�")
- @ApiImplicitParams(value = {
- @ApiImplicitParam(value = "鍨嬪彿/鍨嬪彿鍚嶇О", name = "specificationName", dataTypeClass = String.class)
- })
@GetMapping("/list")
- public Result<?> getFourLevelInformation(String specificationName) {
- List<Map<String, Object>> fourLevelInformation = materialService.getFourLevelInformation(specificationName);
+ public Result<?> getFourLevelInformation() {
+ List<Map<String, Object>> fourLevelInformation = materialService.getFourLevelInformation();
return Result.success(fourLevelInformation);
}
}
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java
new file mode 100644
index 0000000..2087a6a
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java
@@ -0,0 +1,70 @@
+package com.yuanchu.limslaboratory.controller;
+
+import com.yuanchu.limslaboratory.pojo.Organizational;
+import com.yuanchu.limslaboratory.service.OrganizationalService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.stereotype.Controller;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-23 01:13:37
+ */
+@Api(tags = "瀹為獙瀹ょ鐞�-->缁勭粐鏋舵瀯")
+@RestController
+@RequestMapping("/organizational")
+public class OrganizationalController {
+
+ @Autowired
+ private OrganizationalService organizationalService;
+
+ @ApiOperation(value = "渚ц竟鏍忔爲灞曞紑")
+ @GetMapping("/list")
+ public Result<?> getFourLevelInformation() {
+ Map<String, Object> organizationalTree = organizationalService.OrganizationalTree();
+ return Result.success(organizationalTree);
+ }
+
+ @ApiOperation(value = "娣诲姞閮ㄩ棬")
+ @PostMapping("/add")
+ public Result<?> addDepartment(@RequestBody @Validated Organizational organizational) {
+ Integer addDepartment = organizationalService.addDepartment(organizational);
+ if (addDepartment >= 1){
+ return Result.success("娣诲姞鎴愬姛锛�");
+ }
+ return Result.fail("娣诲姞澶辫触锛�");
+ }
+
+ @ApiOperation(value = "淇敼閮ㄩ棬")
+ @PutMapping("/add")
+ public Result<?> updateDepartment(Integer id, @RequestBody @Validated Organizational organizational) {
+ Integer addDepartment = organizationalService.updateDepartment(id, organizational);
+ if (addDepartment >= 1){
+ return Result.success("鏇存柊鎴愬姛锛�");
+ }
+ return Result.fail("鏇存柊澶辫触锛�");
+ }
+
+ @ApiOperation(value = "鍒犻櫎閮ㄩ棬")
+ @DeleteMapping("/delete")
+ public Result<?> deleteDepartment(Integer id) {
+ Integer deleteDepartment = organizationalService.deleteDepartment(id);
+ if (deleteDepartment >= 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 8769e0c..f7ed23e 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
@@ -24,7 +24,7 @@
Map selectMaterialById(String materialId);
// 鍥涚骇鏍�
- List<Map<String, Object>> FourTree(String specificationsName);
+ List<Map<String, Object>> FourTree();
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/OrganizationalMapper.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/OrganizationalMapper.java
new file mode 100644
index 0000000..3facef4
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/OrganizationalMapper.java
@@ -0,0 +1,20 @@
+package com.yuanchu.limslaboratory.mapper;
+
+import com.yuanchu.limslaboratory.pojo.Organizational;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-23 01:13:37
+ */
+public interface OrganizationalMapper extends BaseMapper<Organizational> {
+
+ List<Map<String, Object>> OrganizationalTree(Integer father_id);
+}
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Organizational.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Organizational.java
new file mode 100644
index 0000000..f55104c
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Organizational.java
@@ -0,0 +1,61 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+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 lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-23 01:13:37
+ */
+@Accessors(chain = true)
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="Material瀵硅薄", description="")
+public class Organizational implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "涓婚敭ID",hidden = true)
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @NotBlank(message = "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖锛�")
+ @ApiModelProperty(value = "閮ㄩ棬鍚嶇О", example = "寮�鍙戦儴", required = true)
+ private String department;
+
+ @NotBlank(message = "璇烽�夋嫨涓婄骇閮ㄩ棬锛�")
+ @ApiModelProperty(value = "涓婄骇閮ㄩ棬ID", example = "1", required = true)
+ private Integer fatherId;
+
+ @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;
+}
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 f6b8b81..b267d29 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
@@ -38,7 +38,7 @@
/**
* 鍥涚骇鍒嗗眰鏄剧ず
*/
- List<Map<String, Object>> getFourLevelInformation(String specificationName);
+ List<Map<String, Object>> getFourLevelInformation();
/**
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/OrganizationalService.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/OrganizationalService.java
new file mode 100644
index 0000000..bfedae9
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/OrganizationalService.java
@@ -0,0 +1,26 @@
+package com.yuanchu.limslaboratory.service;
+
+import com.yuanchu.limslaboratory.pojo.Organizational;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-23 01:13:37
+ */
+public interface OrganizationalService extends IService<Organizational> {
+
+ Map<String, Object> OrganizationalTree();
+
+ Integer addDepartment(Organizational organizational);
+
+ Integer updateDepartment(Integer id, Organizational organizational);
+
+ Integer deleteDepartment(Integer id);
+}
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 3169392..7b4d711 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
@@ -120,8 +120,8 @@
}
@Override
- public List<Map<String, Object>> getFourLevelInformation(String specificationName) {
- return materialMapper.FourTree(specificationName);
+ public List<Map<String, Object>> getFourLevelInformation() {
+ return materialMapper.FourTree();
}
//娣诲姞鎸囨爣-->閫夋嫨鏍峰搧鍚嶇О
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/OrganizationalServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/OrganizationalServiceImpl.java
new file mode 100644
index 0000000..77c0d32
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/OrganizationalServiceImpl.java
@@ -0,0 +1,64 @@
+package com.yuanchu.limslaboratory.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.yuanchu.limslaboratory.pojo.Organizational;
+import com.yuanchu.limslaboratory.mapper.OrganizationalMapper;
+import com.yuanchu.limslaboratory.service.EnterpriseService;
+import com.yuanchu.limslaboratory.service.OrganizationalService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
+ * @since 2023-08-23 01:13:37
+ */
+@Service
+public class OrganizationalServiceImpl extends ServiceImpl<OrganizationalMapper, Organizational> implements OrganizationalService {
+
+ @Resource
+ private OrganizationalMapper organizationalMapper;
+
+ @Autowired
+ private EnterpriseService enterpriseService;
+
+ @Override
+ public Map<String, Object> OrganizationalTree() {
+ String firstEnterpriseName = enterpriseService.getFirstEnterpriseName();
+ List<Map<String, Object>> mapList = organizationalMapper.OrganizationalTree(0);
+ Map<String, Object> map = new HashMap<>();
+ map.put("id", 0);
+ map.put("department", firstEnterpriseName);
+ map.put("children", mapList);
+ return map;
+ }
+
+ @Override
+ public Integer addDepartment(Organizational organizational) {
+ return organizationalMapper.insert(organizational);
+ }
+
+ @Override
+ public Integer updateDepartment(Integer id, Organizational organizational) {
+ LambdaUpdateWrapper<Organizational> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(Organizational::getId, id);
+ return organizationalMapper.update(organizational, updateWrapper);
+ }
+
+ @Override
+ public Integer deleteDepartment(Integer id) {
+ LambdaUpdateWrapper<Organizational> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(Organizational::getId, id);
+ updateWrapper.set(Organizational::getState, 0);
+ return organizationalMapper.update(new Organizational(), updateWrapper);
+ }
+}
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 d318960..b2f887e 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
@@ -87,7 +87,11 @@
List<Product> productList = productModel.stream().map(stringObjectMap -> {
Product product = new Product();
product.setName(stringObjectMap.get("name").toString());
- product.setFather(stringObjectMap.get("father").toString());
+ try{
+ product.setFather(stringObjectMap.get("father").toString());
+ }catch (Exception e){
+ product.setFather(null);
+ }
product.setUnit(stringObjectMap.get("unit").toString());
product.setSpecifications_id(specifications.getId());
return product;
diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml
index 59e36a3..e879a4e 100644
--- a/standard-server/src/main/resources/mapper/MaterialMapper.xml
+++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -58,10 +58,7 @@
FROM material m
LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s
ON s.material_id = m.`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
+ LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id` FROM specifications f WHERE f.`state` = 1) f
ON f.standard_id = s.id
WHERE m.`state` = 1
</select>
diff --git a/standard-server/src/main/resources/mapper/OrganizationalMapper.xml b/standard-server/src/main/resources/mapper/OrganizationalMapper.xml
new file mode 100644
index 0000000..5d2e231
--- /dev/null
+++ b/standard-server/src/main/resources/mapper/OrganizationalMapper.xml
@@ -0,0 +1,14 @@
+<?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.OrganizationalMapper">
+
+ <resultMap id="OrganizationalMap" type="map">
+ <id property="id" column="id"/>
+ <result property="department" column="department"/>
+ <collection property="children" select="OrganizationalTree" column="id" javaType="list"/>
+ </resultMap>
+
+ <select id="OrganizationalTree" resultMap="OrganizationalMap">
+ SELECT o.id, o.`department` FROM organizational o where o.`father_id` = #{father_id}
+ </select>
+</mapper>
diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java b/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java
index b7544d0..ec9e541 100644
--- a/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java
+++ b/sys/src/main/java/com/yuanchu/limslaboratory/CodeGenerator.java
@@ -16,7 +16,7 @@
public static String database_username = "user";
public static String database_password= "123456";
public static String author = "姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃";
- public static String model_name = "/cnas-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
+ public static String model_name = "/standard-server"; // 濡傛灉涓哄垎甯冨紡濉瓙妯″潡鍚嶇О锛屽鏋滀笉鏄垎甯冨紡涓虹┖鍗冲彲
public static String setParent = "com.yuanchu.limslaboratory"; // 鍖呰矾寰�
public static void main(String[] args) {
String projectPath = System.getProperty("user.dir");
diff --git a/sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java b/sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java
index 73201a9..86e81c4 100644
--- a/sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java
+++ b/sys/src/test/java/com/yuanchu/limslaboratory/SysApplicationTests.java
@@ -1,5 +1,6 @@
package com.yuanchu.limslaboratory;
+import com.yuanchu.limslaboratory.mapper.OrganizationalMapper;
import com.yuanchu.limslaboratory.service.PlanService;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.utils.MyUtil;
@@ -21,16 +22,15 @@
class SysApplicationTests {
@Resource
- private PlanService planService;
+ private OrganizationalMapper organizationalMapper;
@Resource
private UserService userService;
@Test
void contextLoads() {
- String newString = String.format("%06d", 77);
- System.out.println("newString === " + newString);
-
+ List<Map<String, Object>> test = organizationalMapper.OrganizationalTree(0);
+ MyUtil.PrintLog(test.toString());
}
@Test
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/EnterpriseService.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/EnterpriseService.java
index 677779d..89d393a 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/EnterpriseService.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/EnterpriseService.java
@@ -13,4 +13,5 @@
*/
public interface EnterpriseService extends IService<Enterprise> {
+ String getFirstEnterpriseName();
}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseServiceImpl.java
index 227ae2f..20f90fa 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EnterpriseServiceImpl.java
@@ -1,10 +1,13 @@
package com.yuanchu.limslaboratory.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yuanchu.limslaboratory.pojo.Enterprise;
import com.yuanchu.limslaboratory.mapper.EnterpriseMapper;
import com.yuanchu.limslaboratory.service.EnterpriseService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
/**
* <p>
@@ -17,4 +20,14 @@
@Service
public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterprise> implements EnterpriseService {
+ @Resource
+ private EnterpriseMapper enterpriseMapper;
+
+ @Override
+ public String getFirstEnterpriseName() {
+ LambdaQueryWrapper<Enterprise> wrapper = new LambdaQueryWrapper<>();
+ wrapper.select(Enterprise::getName);
+ Enterprise enterprise = enterpriseMapper.selectOne(wrapper);
+ return enterprise.getName();
+ }
}
--
Gitblit v1.9.3