From 730443b70de88d328ffa275f51f69280fda979e4 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期三, 30 八月 2023 12:59:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
inspection-server/src/main/resources/mapper/RawMaterialMapper.xml | 3
inspection-server/src/main/resources/mapper/LinkDetectionMapper.xml | 3
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/MenuMapper.java | 2
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java | 2
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java | 2
framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnums.java | 91 +++++++
inspection-server/src/main/resources/mapper/InspectionMapper.xml | 2
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java | 5
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java | 45 +++
framework/src/main/java/com/yuanchu/limslaboratory/utils/MyClassUtil.java | 62 +++++
sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java | 2
user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java | 9
framework/src/main/java/com/yuanchu/limslaboratory/enums/InterfaceType.java | 46 +++
framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java | 23 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java | 8
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java | 6
user-server/src/main/resources/mapper/MenuMapper.xml | 11
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java | 17
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java | 4
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/MapHandlerRoleDto.java | 18 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java | 25 ++
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java | 8
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 14 +
sys/src/main/resources/application-dev.yml | 2
user-server/src/main/resources/mapper/UserMapper.xml | 1
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkDetectionMapper.java | 1
user-server/src/main/resources/mapper/RoleManangeMapper.xml | 12 +
laboratory-server/src/main/resources/mapper/InstrumentMapper.xml | 3
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java | 2
inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml | 74 +++++
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 3
sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java | 114 +++++++++
laboratory-server/src/main/resources/mapper/ClassifyMapper.xml | 3
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java | 21 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkDetectionServiceImpl.java | 1
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java | 4
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LinkBasicInformationVo.java | 25 ++
37 files changed, 642 insertions(+), 32 deletions(-)
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java
index 086b681..54e2dc6 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java
@@ -1,28 +1,35 @@
package com.yuanchu.limslaboratory.annotation;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import com.yuanchu.limslaboratory.enums.InterfaceType;
+import com.yuanchu.limslaboratory.enums.MenuEnums;
+
+import java.lang.annotation.*;
/**
* @author 寮犲
*/
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
+@Documented
public @interface AuthHandler {
/**
* 鎺ュ彛绫诲瀷
* @return
*/
- int type() default 0;
-
+ InterfaceType type() default InterfaceType.NUll;
/**
- * 鎺ュ彛鍚�
+ * 鑿滃崟id
* @return
*/
- String name() default "";
+ MenuEnums menuId() default MenuEnums.NUll;
+
+ /**
+ * 鏄惁闇�瑕佹坊鍔犳暟鎹簱
+ * @return
+ */
+ boolean isAdd() default false;
+
}
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/enums/InterfaceType.java b/framework/src/main/java/com/yuanchu/limslaboratory/enums/InterfaceType.java
new file mode 100644
index 0000000..609128b
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/enums/InterfaceType.java
@@ -0,0 +1,46 @@
+package com.yuanchu.limslaboratory.enums;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/30
+ */
+public enum InterfaceType {
+
+ /**
+ * 鎺ュ彛绫诲瀷
+ */
+ SELECT("select",0),
+ ADD("add",1),
+ UPDATE("update",2),
+ DELETE("delete",3),
+ NUll();
+
+
+ private String type;
+
+ private Integer num;
+
+ public String getType() {
+ return type;
+ }
+
+ InterfaceType() {
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public Integer getNum() {
+ return this.num;
+ }
+
+ public void setNum(Integer num) {
+ this.num = num;
+ }
+
+ InterfaceType(String type, Integer num) {
+ this.type = type;
+ this.num = num;
+ }
+}
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnums.java b/framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnums.java
new file mode 100644
index 0000000..acc0a79
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnums.java
@@ -0,0 +1,91 @@
+package com.yuanchu.limslaboratory.enums;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/29
+ */
+public enum MenuEnums {
+ /**
+ * 绌烘牸鍖哄垎鍔熻兘妯″潡
+ */
+ standardLibrary("鏍囧噯搴�",1),
+ index("鏍囧噯搴�",38),
+
+ inspectionManagement("鎶ユ绠$悊",2),
+ commissionInspection("濮旀墭妫�楠�",3),
+ reportForInspection("鍘熸潗鏂欐姤妫�",4),
+
+ experiment("璇曢獙绠$悊",5),
+ inspectionApplication("鏂板妫�楠�",6),
+ planAssignments("妫�楠岃鍒�",7),
+ checkTheReport("妫�楠屾姤鍛�",8),
+ reportAuditing("鎶ュ憡瀹℃牳",9),
+ nonConformanceReview("涓嶅悎鏍煎搧鍙嶉",10),
+ nonConformingFeedback("涓嶅悎鏍煎搧璇勫",11),
+ passRateStatistics("鍚堟牸鐜囩粺璁�",12),
+
+ laboratory("瀹為獙瀹ょ鐞�",13),
+ ledger("璁惧鍙拌处",14),
+ measure("璁¢噺绠$悊",15),
+ gather("璁惧閲囬泦",16),
+ personnel("浜哄憳绠$悊",17),
+ org("缁勭粐鏋舵瀯",36),
+ role("瑙掕壊绠$悊",37),
+
+ laboratoryManage("瀹為獙瀹ょ鐞�",18),
+ CNAS("CNS绠$悊",19),
+ reviewAnnualPlan("瀹℃牳骞村害璁″垝",20),
+ nonConformanceManage("涓嶇鍚堥」绠$悊",21),
+ nonConformanceStatistics("涓嶇鍚堥」缁熻",22),
+ satisfactionSurveys("婊℃剰搴﹁皟鏌�",23),
+
+ chart("鏅鸿兘鍥捐〃",24),
+ center("瀹為獙涓績",25),
+ spc("SPC鎺у埗鍥�",26),
+ shota("姝eお鍒嗗竷鍥�",27),
+ work("宸ヤ綔缁熻",28),
+
+ message("娑堟伅浠e姙",29),
+ mymessage("鎴戠殑娑堟伅",30),
+ toDo("鎴戠殑浠e姙",31),
+
+ personal("涓汉绠$悊",32),
+ myInformation("鎴戠殑淇℃伅",33),
+
+ baseData("鍩虹鏁版嵁",34),
+ basicDataMessage("鍩虹鏁版嵁",35),
+
+ home("涓婚〉",39),
+
+ /**
+ * 绌�
+ */
+ NUll();
+ MenuEnums() {
+ }
+
+ private String name;
+
+ private Integer id;
+
+ MenuEnums(String name, Integer id) {
+ this.name = name;
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+}
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/MyClassUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MyClassUtil.java
new file mode 100644
index 0000000..976a27a
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/MyClassUtil.java
@@ -0,0 +1,62 @@
+package com.yuanchu.limslaboratory.utils;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.core.io.support.ResourcePatternResolver;
+import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ClassUtils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.io.File;
+import java.net.JarURLConnection;
+import java.net.URL;
+
+/**
+ * @author 寮犲
+ */
+@Component
+@Slf4j
+public class MyClassUtil {
+
+ private final static String RESOURCE_PATTERN = "/**/*.class";
+
+ /**
+ * 閫氳繃鍖呭悕鑾峰彇椤圭洰鍖呬笅鎵�鏈夌被
+ *
+ * @param BASE_PACKAGE 鍖呭悕
+ * @return
+ */
+ public static List<Class<?>> getClassList(String BASE_PACKAGE) {
+ List<Class<?>> classes = new ArrayList<>();
+ //spring宸ュ叿绫伙紝鍙互鑾峰彇鎸囧畾璺緞涓嬬殑鍏ㄩ儴绫�
+ ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
+ try {
+ String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +
+ ClassUtils.convertClassNameToResourcePath(BASE_PACKAGE) + RESOURCE_PATTERN;
+ Resource[] resources = resourcePatternResolver.getResources(pattern);
+ //MetadataReader 鐨勫伐鍘傜被
+ MetadataReaderFactory readerfactory = new CachingMetadataReaderFactory(resourcePatternResolver);
+ for (Resource resource : resources) {
+ //鐢ㄤ簬璇诲彇绫讳俊鎭�
+ MetadataReader reader = readerfactory.getMetadataReader(resource);
+ //鎵弿鍒扮殑class
+ String classname = reader.getClassMetadata().getClassName();
+ log.info("classname={}", classname);
+ Class<?> clazz = Class.forName(classname);
+ classes.add(clazz);
+ }
+ } catch (Exception e) {
+ log.error("鑾峰彇class寮傚父:", e);
+ }
+ return classes;
+ }
+}
\ No newline at end of file
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 7d0ee78..48f32c0 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
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yuanchu.limslaboratory.annotation.AuthHandler;
+import com.yuanchu.limslaboratory.mapper.InstrumentMapper;
import com.yuanchu.limslaboratory.mapper.UserMapper;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.yuanchu.limslaboratory.pojo.Report;
@@ -50,6 +51,9 @@
@Resource
UserMapper userMapper;
+
+ @Resource
+ private InstrumentMapper instrumentMapper;
@ApiOperation(value = "鏌ヨ妫�楠岀敵璇峰崟鍒楄〃")
@ApiImplicitParams(value = {
@@ -117,7 +121,8 @@
@ApiOperation(value = "鏂板妫�楠屽崟")
@PostMapping("/addInspect")
- public Result addInspect(@RequestHeader("token") String token, @Validated @RequestBody InspectionVo inspectionVo) throws Exception {
+ @AuthHandler
+ public Result addInspect(@RequestHeader("X-Token") String token, @Validated @RequestBody InspectionVo inspectionVo) throws Exception {
Object object = RedisUtil.get(token);
Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
return Result.success(inspectionService.addInspect((Integer) unmarshal.get("id"), inspectionVo));
@@ -128,15 +133,22 @@
@ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class, required = true)
})
@GetMapping("/selectInspectsListById")
+ @AuthHandler
public Result selectInspectsListById(Integer id) {
return Result.success(inspectionService.selectInspectsListById(id));
}
@ApiOperation(value = "閫夋嫨妫�楠岄」鐩殑璐d换浜�")
@GetMapping("/selectUser")
+ @AuthHandler
public Result selectUser() {
return Result.success(userMapper.selectUser());
}
+
+ @ApiOperation(value = "閫夋嫨妫�楠岃澶�")
+ @GetMapping("/selectEquipment")
+ @AuthHandler
+ public Result selectEquipment(){return Result.success(instrumentMapper.getInstrument());}
@ApiOperation(value = "淇濆瓨妫�楠岄」鐩矗浠讳汉")
@ApiImplicitParams(value = {
@@ -144,8 +156,16 @@
@ApiImplicitParam(name = "userProId", value = "璐d换浜篿d", dataTypeClass = Integer.class, required = true)
})
@GetMapping("/chooseUseProId")
+ @AuthHandler
public Result chooseUseProId(Integer id, Integer userProId) {
return Result.success(inspectionService.chooseUseProId(id, userProId));
+ }
+
+ @ApiOperation("淇濆瓨璁惧id")
+ @GetMapping("/chooseEquipment")
+ @AuthHandler
+ public Result chooseEquipment(Integer id,Integer equipmentId){
+ return Result.success(inspectionService.chooseEquipment(id, equipmentId));
}
@ApiOperation(value = "浣滃簾妫�楠屽崟")
@@ -153,10 +173,13 @@
@ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class, required = true)
})
@PostMapping("/delInspect")
+ @AuthHandler
public Result delInspect(Integer id) {
return Result.success(inspectionService.delInspect(id));
}
+
+
}
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 76edbcc..bb5a18a 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
@@ -2,8 +2,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.annotation.AuthHandler;
+import com.yuanchu.limslaboratory.enums.InterfaceType;
+import com.yuanchu.limslaboratory.enums.MenuEnums;
+import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
import com.yuanchu.limslaboratory.utils.MyUtil;
import com.yuanchu.limslaboratory.utils.RedisUtil;
@@ -69,4 +73,21 @@
return Result.success(map);
}
+ @ApiOperation("鏍规嵁id鏌ヨSpecifications琛ㄧ殑Name")
+ @GetMapping("/getSpecificationsName")
+ public Result<?> getSpecificationsName(String id){
+ return Result.success(linkBasicInformationService.getSpecificationsName(id));
+ }
+
+ @ApiOperation("鍒犻櫎")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "id", value = "濮旀墭鏍峰搧id", dataTypeClass = Integer.class, required = true)
+ })
+ @PostMapping("/delLink")
+ @AuthHandler(type = InterfaceType.DELETE,menuId = MenuEnums.commissionInspection,isAdd = true)
+ public Result<?> delLink(Integer id){
+ linkBasicInformationService.delLink(id);
+ return Result.success("鍒犻櫎鎴愬姛!");
+ }
+
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
index 85cb28e..be91e78 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
@@ -49,9 +49,10 @@
@Resource
ProductService productService;
+
+
@ApiOperation("閾炬帴-->鑾峰彇鏍峰搧鍚嶇О")
@GetMapping("/material")
- @AuthHandler
public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
String redisLink = RedisUtil.get("viewId").toString();
if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -65,7 +66,6 @@
@ApiOperation("閾炬帴-->鑾峰彇瑙勬牸鍨嬪彿")
@GetMapping("/specification")
- @AuthHandler
public Result<?> getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) {
String redisLink = RedisUtil.get("viewId").toString();
if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -80,7 +80,6 @@
@ApiImplicitParam(name = "modelId", value = "鍨嬪彿id", dataTypeClass = Integer.class, required = true)
})
@GetMapping("/chooseProject")
- @AuthHandler
public Result<?> chooseProject(@RequestHeader("link") String link, Integer modelId) {
String redisLink = RedisUtil.get("viewId").toString();
if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -93,7 +92,6 @@
@ApiOperation("閾炬帴-->娣诲姞濮旀墭鎶ユ鐢宠鍗�")
@PostMapping("/addInspection")
- @AuthHandler
public Result<?> addLinkBasicInformation(@RequestHeader("link") String link, @RequestBody LinkBasicInformation linkBasicInformation) {
String redisLink = RedisUtil.get("viewId").toString();
if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -111,22 +109,27 @@
@ApiOperation(value = "鐢熸垚浜岀淮鐮佹墍闇�鐨勫敮涓�鐮�")
@GetMapping("/getViewUUID")
- @AuthHandler
public Result<?> getViewUUID(int day){
return Result.success("鐢熸垚鎴愬姛",linkBasicInformationService.getViewUUID(day));
}
@ApiOperation(value = "鏌ヨ浜岀淮鐮佹墍闇�鐨勫敮涓�鐮�")
@GetMapping("/selectViewUUID")
- @AuthHandler
public Result<?> selectViewUUID(){
return Result.success("鏌ヨ鎴愬姛",linkBasicInformationService.selectViewUUID());
}
@ApiOperation(value = "妫�楠屽敮涓�鐮佹槸鍚︽湁鏁�")
@GetMapping("/isIfViewUUID")
- @AuthHandler
public Result<?> isIfViewUUID(String viewId){
return Result.success("鏌ヨ鎴愬姛",linkBasicInformationService.isIfViewUUID(viewId));
}
+
+
+ @ApiOperation("鑾峰彇鏍峰搧淇℃伅浠ュ強濮旀墭淇℃伅")
+ @GetMapping("/getContractsSampleInfo")
+ public Result<?> getContractsSampleInfo(String viewId){
+ return Result.success(linkBasicInformationService.getContractsSampleInfo(viewId));
+ }
+
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java
index dfb1e46..422dae3 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkBasicInformationMapper.java
@@ -5,6 +5,8 @@
import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.limslaboratory.pojo.vo.InspectionVo;
+import com.yuanchu.limslaboratory.pojo.vo.LinkBasicInformationVo;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -28,4 +30,7 @@
List<Map<String, Object>> selectLinkAll();
+ LinkBasicInformation getLinkBasicInformation(@Param("uid")String uid);
+
+ int deleteByID(Integer id);
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkDetectionMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkDetectionMapper.java
index 7e6da26..e7a7486 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkDetectionMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/LinkDetectionMapper.java
@@ -14,4 +14,5 @@
*/
public interface LinkDetectionMapper extends MyBaseMapper<LinkDetection> {
+ int deleteByLinkbasic(Integer id);
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java
index 5c9f196..483d0e4 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java
@@ -65,6 +65,10 @@
@ApiModelProperty(value = "濮旀墭澶囨敞", example = "濮旀墭澶囨敞YPBH123456789YPBH123456789YPBH123456789")
private String entrustRemarks;
+ @ApiModelProperty(value = "妫�楠屾椂闂�", hidden = true)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date insTime;
+
@TableLogic(value = "1", delval = "0")
@ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true)
private Integer state;
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
index 5345c81..832e4ca 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java
@@ -60,7 +60,7 @@
@ApiModelProperty(value = "LinkBasicInformation瀵硅薄Id", hidden = true)
private Integer linkBasicId;
- @TableLogic(value = "1", delval = "0")
+
@ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true)
private Integer state;
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LinkBasicInformationVo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LinkBasicInformationVo.java
new file mode 100644
index 0000000..7a81fe4
--- /dev/null
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/LinkBasicInformationVo.java
@@ -0,0 +1,25 @@
+package com.yuanchu.limslaboratory.pojo.vo;
+
+import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
+import com.yuanchu.limslaboratory.pojo.LinkDetection;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/29
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class LinkBasicInformationVo extends LinkBasicInformation implements Serializable{
+
+ /**
+ *鏍峰搧淇℃伅
+ */
+ private List<LinkDetection> detectionList;
+
+
+}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java
index fd58af1..f8236fc 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java
@@ -78,6 +78,12 @@
*/
String chooseUseProId(Integer id, Integer userProId);
-
+ /**
+ * 淇濆瓨璁惧
+ * @param id
+ * @param equipmentId
+ * @return
+ */
+ boolean chooseEquipment(Integer id, Integer equipmentId);
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java
index 3a4c2a5..3f81fb4 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.limslaboratory.pojo.Specifications;
import com.yuanchu.limslaboratory.pojo.vo.InspectionVo;
import org.springframework.transaction.annotation.Transactional;
@@ -36,4 +37,11 @@
Map<String, String> selectViewUUID();
boolean isIfViewUUID(String uuid);
+
+ LinkBasicInformation getContractsSampleInfo(String viewId);
+
+ //鏍规嵁濮旀墭鏍峰搧id鍒犻櫎
+ void delLink(Integer id);
+
+ Specifications getSpecificationsName(String id);
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
index 4f5f9c1..580f029 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
@@ -1,7 +1,9 @@
package com.yuanchu.limslaboratory.service.impl;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Snowflake;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -132,6 +134,7 @@
RawMaterial rawMaterial = new RawMaterial();
rawMaterial.setId(inspectionVo.getId());
rawMaterial.setType(1);
+ rawMaterial.setInspectionDate(DateUtil.date());
rawMaterial.setSurveyor(userMapper.selectById(id).getName());
rawMaterialMapper.updateById(rawMaterial);
}
@@ -286,12 +289,23 @@
return "淇濆瓨鎴愬姛!";
}
+ @Override
+ public boolean chooseEquipment(Integer id, Integer equipmentId) {
+ UpdateWrapper<InspectionProduct>inspectionProductUpdateWrapper=new UpdateWrapper<>();
+ inspectionProductUpdateWrapper.lambda().set(InspectionProduct::getInstrumentId,equipmentId)
+ .eq(InspectionProduct::getId,id);
+ return inspectionProductMapper.update(null,inspectionProductUpdateWrapper)>0;
+ }
+
/*鏍规嵁鏍峰搧鍚嶇О,鏍峰搧缂栧彿,鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id*/
private Integer getSpecificationId(String name, String mcode, String specification) {
//鑾峰彇鐗╂枡id
Material material = materialMapper.selectOne(Wrappers.<Material>query()
.eq("name", name)
.eq("code", mcode));
+ if (Objects.isNull(material)){
+ return null;
+ }
//鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
String[] split = specification.split("-");
String stName = split[0];
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
index d7dd0eb..4e216bd 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
@@ -1,9 +1,14 @@
package com.yuanchu.limslaboratory.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.mapper.LinkDetectionMapper;
+import com.yuanchu.limslaboratory.mapper.SpecificationsMapper;
import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
import com.yuanchu.limslaboratory.mapper.LinkBasicInformationMapper;
+import com.yuanchu.limslaboratory.pojo.LinkDetection;
+import com.yuanchu.limslaboratory.pojo.Specifications;
import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.service.LinkDetectionService;
@@ -11,6 +16,7 @@
import com.yuanchu.limslaboratory.utils.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
@@ -29,11 +35,27 @@
@Resource
private LinkBasicInformationMapper linkBasicInformationMapper;
+ @Resource
+ private LinkDetectionMapper linkDetectionMapper;
+
@Autowired
private LinkDetectionService linkDetectionService;
+ @Autowired
+ private SpecificationsMapper specificationsMapperOn;
+
@Override
+ @Transactional(rollbackFor = Exception.class)
public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
+ System.out.println(linkBasicInformation.getLinkDetectionList());
+ QueryWrapper<LinkBasicInformation> queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().select(LinkBasicInformation::getId).eq(LinkBasicInformation::getUid, linkBasicInformation.getUid());
+ LinkBasicInformation linkBasicInformation1 = linkBasicInformationMapper.selectOne(queryWrapper);
+ Optional.ofNullable(linkBasicInformation1.getId()).ifPresent(l->{
+ //鎵ц鍒犻櫎
+ linkDetectionMapper.deleteByLinkbasic(linkBasicInformation1.getId());
+ linkBasicInformationMapper.deleteByID(linkBasicInformation1.getId());
+ });
//濮旀墭缂栧彿
String code = MyUtil.getTimeSixNumberCode("SL", "SL");
linkBasicInformation.setEntrustCoding(code);
@@ -83,5 +105,28 @@
return uuid.equals(RedisUtil.get("viewId"));
}
+ @Override
+ public LinkBasicInformation getContractsSampleInfo(String viewId) {
+ return linkBasicInformationMapper.getLinkBasicInformation(viewId);
+ }
+
+ //鏍规嵁濮旀墭鏍峰搧鍒犻櫎
+ @Override
+ public void delLink(Integer id) {
+ LinkDetection linkDetection = new LinkDetection();
+ linkDetection.setId(id);
+ linkDetection.setState(0);
+ linkDetectionService.updateById(linkDetection);
+ }
+
+ @Override
+ public Specifications getSpecificationsName(String id) {
+ QueryWrapper<Specifications>queryWrapper=new QueryWrapper<>();
+ queryWrapper.lambda().select(Specifications::getName)
+ .eq(Specifications::getId,id)
+ .eq(Specifications::getState,1);
+ return specificationsMapperOn.selectOne(queryWrapper);
+ }
+
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkDetectionServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkDetectionServiceImpl.java
index e347c34..b73a90f 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkDetectionServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkDetectionServiceImpl.java
@@ -29,6 +29,7 @@
for (LinkDetection linkDetection:linkDetectionList){
linkDetection.setInspectionStatus(1);
linkDetection.setLinkBasicId(id);
+ linkDetection.setState(1);
}
linkDetectionMapper.insertBatchSomeColumn(linkDetectionList);
}
diff --git a/inspection-server/src/main/resources/mapper/InspectionMapper.xml b/inspection-server/src/main/resources/mapper/InspectionMapper.xml
index 711a5fe..275f752 100644
--- a/inspection-server/src/main/resources/mapper/InspectionMapper.xml
+++ b/inspection-server/src/main/resources/mapper/InspectionMapper.xml
@@ -4,7 +4,7 @@
<select id="selectInspectsList" resultType="map">
select i.id,
i.code icode,
- type,
+ i.type type,
DATE_FORMAT(`form_time`,'%Y-%m-%d'),
supplier,
im.code mcode,
diff --git a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
index 619b044..0896c63 100644
--- a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
+++ b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
@@ -1,15 +1,21 @@
<?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.LinkBasicInformationMapper">
+ <delete id="deleteByID">
+ delete from link_basic_information where id=#{id}
+ </delete>
<select id="getLinkBasicPage" resultType="map">
- SELECT l.`id`, l.`entrust_coding`, l.`entrusted`, d.`samples_number`, d.`sample_name`,
- d.`specifications_models`,
+ SELECT d.`id`, l.`entrust_coding`, l.`entrusted`, d.`samples_number`, d.`sample_name`,
+ s.name specifications_models,
DATE_FORMAT(l.`inspection_time`,'%Y-%m-%d') inspectionTime, DATE_FORMAT(l.`completion_deadline`,'%Y-%m-%d')
completionDeadline, l.`contacts`,
- DATE_FORMAT(d.`date_survey`,'%Y-%m-%d') dateSurvey, d.`inspection_status`
- FROM link_basic_information l, link_detection d
+ DATE_FORMAT(d.`date_survey`,'%Y-%m-%d') dateSurvey, d.`inspection_status`,
+ DATE_FORMAT(l.`ins_time`,'%Y-%m-%d') insTime
+ FROM link_basic_information l, link_detection d,specifications s
WHERE l.`id` = d.`link_basic_id`
- AND l.`state` = 1
+ and s.id=d.`specifications_models`
+ AND d.`state` = 1
+ and l.`state` = 1
<if test="entrustCoding != null and entrustCoding != null">
AND l.`entrust_coding` like concat('%', #{entrustCoding}, '%')
</if>
@@ -25,8 +31,8 @@
</select>
<select id="selectLinkAll" resultType="java.util.Map">
- SELECT d.id ,
- DATE_FORMAT(l.`inspection_time`, '%Y-%m-%d') formTime,
+ SELECT d.id,
+ DATE_FORMAT(l.`inspection_time`, '%Y-%m-%d') formTime,
l.`entrusted` supplier,
d.`sample_number` mcode,
d.`sample_name` name,
@@ -42,4 +48,58 @@
AND l.`state` = 1
and inspection_status = 1
</select>
+ <select id="getLinkBasicInformation" resultMap="getLinkBasicInformationMap">
+ SELECT lb.entrust_coding entrustCoding,
+ lb.contacts contacts,
+ lb.contact_number contactNumber,
+ lb.contact_address contactAddress,
+ lb.completion_deadline completionDeadline,
+ lb.inspection_time inspectionTime,
+ lb.sample_delivery_mode sampleDeliveryMode,
+ lb.sample_delivery_phone sampleDeliveryPhone,
+ lb.report_number reportNumber,
+ lb.entrust_remarks entrustRemarks,
+ lb.sample_sender sampleSender,
+ lb.entrusted entrusted,
+ lb.uid uid,
+ ld.id id,
+ ld.sample_number sampleNumber,
+ ld.sample_name sampleName,
+ ld.specifications_models specificationsModels,
+ ld.unit unit,
+ ld.experiment experiment,
+ ld.samples_number samplesNumber,
+ ld.remarks remarks
+ FROM link_basic_information lb left join
+ link_detection ld
+ on lb.id = ld.link_basic_id
+ where lb.uid = #{uid}
+ and lb.state = 1
+ </select>
+
+ <resultMap id="getLinkBasicInformationMap" type="com.yuanchu.limslaboratory.pojo.LinkBasicInformation">
+ <result property="entrustCoding" column="entrustCoding"/>
+ <result property="contacts" column="contacts"/>
+ <result property="contactNumber" column="contactNumber"/>
+ <result property="contactAddress" column="contactAddress"/>
+ <result property="uid" column="uid"/>
+ <result property="completionDeadline" column="completionDeadline"/>
+ <result property="inspectionTime" column="inspectionTime"/>
+ <result property="sampleDeliveryMode" column="sampleDeliveryMode"/>
+ <result property="sampleDeliveryPhone" column="sampleDeliveryPhone"/>
+ <result property="sampleSender" column="sampleSender"/>
+ <result property="entrustRemarks" column="entrustRemarks"/>
+ <result property="reportNumber" column="reportNumber"/>
+ <result property="entrusted" column="entrusted"/>
+ <collection property="linkDetectionList" ofType="LinkDetection">
+ <result property="id" column="id"/>
+ <result property="sampleNumber" column="sampleNumber"/>
+ <result property="sampleName" column="sampleName"/>
+ <result property="specificationsModels" column="specificationsModels"/>
+ <result property="unit" column="unit"/>
+ <result property="samplesNumber" column="samplesNumber"/>
+ <result property="remarks" column="remarks"/>
+ <result property="experiment" column="experiment"/>
+ </collection>
+ </resultMap>
</mapper>
diff --git a/inspection-server/src/main/resources/mapper/LinkDetectionMapper.xml b/inspection-server/src/main/resources/mapper/LinkDetectionMapper.xml
index 192de47..bf28846 100644
--- a/inspection-server/src/main/resources/mapper/LinkDetectionMapper.xml
+++ b/inspection-server/src/main/resources/mapper/LinkDetectionMapper.xml
@@ -2,4 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.limslaboratory.mapper.LinkDetectionMapper">
+ <delete id="deleteByLinkbasic">
+ delete from link_detection where link_basic_id=#{id}
+ </delete>
</mapper>
diff --git a/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml b/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml
index 7e17cfa..88e512e 100644
--- a/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml
+++ b/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml
@@ -26,11 +26,12 @@
specifications_models specifications,
unit,
quantity num,
+ surveyor,
+ type,
DATE_FORMAT(inspection_date, '%Y-%m-%d') startTime,
DATE_FORMAT(date_survey, '%Y-%m-%d') endTime,
DATE_FORMAT(create_time, '%Y-%m-%d') formTime
from lims_laboratory.raw_material
where state = 1
- and type = 0
</select>
</mapper>
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java
index dba7af0..affbdc7 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java
@@ -25,4 +25,6 @@
//鍒嗛厤-->閫夋嫨璁惧
List<Map<String, Object>> chooseinstum();
+
+ List<Instrument> getInstrument();
}
diff --git a/laboratory-server/src/main/resources/mapper/ClassifyMapper.xml b/laboratory-server/src/main/resources/mapper/ClassifyMapper.xml
index c319b0f..f2d97dd 100644
--- a/laboratory-server/src/main/resources/mapper/ClassifyMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/ClassifyMapper.xml
@@ -9,5 +9,8 @@
<if test="fatherName!=null and fatherName!=''">
AND father_name = #{fatherName}
</if>
+ <if test="sonName!=null and sonName!=''">
+ and son_name=#{sonName}
+ </if>
</select>
</mapper>
diff --git a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
index ab1509d..3aa5914 100644
--- a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
@@ -46,4 +46,7 @@
left join lims_laboratory.classify c on c.id = instrument.classify_id
where conditions in(1,5)
</select>
+ <select id="getInstrument" resultType="com.yuanchu.limslaboratory.pojo.Instrument">
+ select id,equipment_name name from instrument where 1=1 and state=1 and conditions=5
+ </select>
</mapper>
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java
index 27a06a0..2349270 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/SpecificationsMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.Specifications;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
import java.util.Map;
import java.util.Objects;
@@ -16,6 +17,7 @@
* @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
* @since 2023-07-11
*/
+@Repository
public interface SpecificationsMapper extends BaseMapper<Specifications> {
Map<String, Object> selectSNameSNName(int materialId);
diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java b/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java
index 4c54f75..3a53c0d 100644
--- a/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java
+++ b/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java
@@ -100,7 +100,7 @@
//throw new AuthException("400","鏃犳潈闄�");
}
} else {
- throw new AuthException("401", "鐧婚檰杩囨湡");
+ throw new AuthException("401", "鐧婚檰杩囨湡!");
}
}
diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java b/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java
new file mode 100644
index 0000000..5a2b1ef
--- /dev/null
+++ b/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java
@@ -0,0 +1,114 @@
+package com.yuanchu.limslaboratory.commandLineRunner;
+
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
+import com.yuanchu.limslaboratory.mapper.MenuMapper;
+import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
+import com.yuanchu.limslaboratory.utils.ArrayListUtil;
+import com.yuanchu.limslaboratory.utils.MyClassUtil;
+import com.yuanchu.limslaboratory.utils.SpringUtil;
+import io.swagger.annotations.ApiOperation;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.core.annotation.Order;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.core.io.support.ResourcePatternResolver;
+import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.*;
+
+import java.lang.reflect.Method;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/28
+ */
+@Component
+@Order(1)
+@Slf4j
+public class ResolutionRequestsCommandLineRunner implements CommandLineRunner {
+
+ @Autowired
+ private RoleManageMapper roleManageMapper;
+
+ @SneakyThrows
+ @Override
+ public void run(String... args) throws Exception {
+ log.info("瀹瑰櫒鐢熸垚涔嬪悗鎵ц");
+ List<Class<?>> classList = MyClassUtil.getClassList("com.yuanchu.limslaboratory.controller");
+ List<Map<String, String>> requestListInfo = new ArrayList<Map<String, String>>();
+ classList.stream().forEach(c -> {
+ Method[] methods = c.getMethods();
+ //鍘绘帀瀵硅薄鏂规硶
+ List<Method> methodList = Arrays.stream(methods)
+ .filter(m -> !"notify".equals(m.getName()) && !"getClass".equals(m.getName())
+ && !"hashCode".equals(m.getName()) && !"toString".equals(m.getName())
+ && !"equals".equals(m.getName()) && !"wait".equals(m.getName()) && !"notifyAll".equals(m.getName()))
+ .collect(Collectors.toList());
+
+ for (int i = 0; i < methodList.size(); i++) {
+ Method method = methodList.get(i);
+ boolean annotationPresent = method.isAnnotationPresent(AuthHandler.class);
+ if (annotationPresent&&method.getAnnotation(AuthHandler.class).isAdd()) {
+ //鑾峰彇绫讳笂璇锋眰鍦板潃
+ RequestMapping annotation = c.getAnnotation(RequestMapping.class);
+ StringBuilder builder = new StringBuilder();
+ String apiInfo = null;
+ builder.append(annotation.value()[0]);
+ //鑾峰彇鏂规硶涓婃敞瑙�
+ if (method.isAnnotationPresent(PostMapping.class)) {
+ PostMapping post = method.getAnnotation(PostMapping.class);
+ builder.append(post.value()[0]);
+ }
+ if (method.isAnnotationPresent(GetMapping.class)) {
+ GetMapping get = method.getAnnotation(GetMapping.class);
+ builder.append(get.value()[0]);
+ }
+ if (method.isAnnotationPresent(DeleteMapping.class)) {
+ DeleteMapping delete = method.getAnnotation(DeleteMapping.class);
+ builder.append(delete.value()[0]);
+ }
+ if (method.isAnnotationPresent(PutMapping.class)) {
+ PutMapping put = method.getAnnotation(PutMapping.class);
+ builder.append(put.value()[0]);
+ }
+ if (method.isAnnotationPresent(ApiOperation.class)) {
+ ApiOperation api = method.getAnnotation(ApiOperation.class);
+ apiInfo = api.value();
+ }
+ Map<String, String> map = new HashMap<String, String>();
+ AuthHandler auth = method.getAnnotation(AuthHandler.class);
+ map.put("menuId", String.valueOf(auth.menuId().getId()));
+ map.put("type",String.valueOf(auth.type().getNum()));
+ map.put("url", builder.toString());
+ map.put("name", apiInfo);
+ requestListInfo.add(map);
+ }
+ }
+ });
+ List<Map<String, String>> allInterfaces = roleManageMapper.getAllInterfaces();
+ List<Map<String, String>> differentMaps = requestListInfo.stream()
+ .filter(map1 -> allInterfaces.stream()
+ .map(map2 -> map2.get("url")) // 鑾峰彇鎸囧畾閿殑鍊�
+ .noneMatch(value2 -> value2.equals(map1.get("url"))) // 鏌ユ壘涓嶅悓鐨勫��
+ ).collect(Collectors.toList());
+ if(differentMaps.size()>0){
+
+ int insertInterfaceList = roleManageMapper.insertInterfaceList(differentMaps);
+ if (insertInterfaceList>0) log.info(String.valueOf(differentMaps));log.info("鏂板鎺ュ彛鎴愬姛锛�");
+ }else {
+ log.info("鏃犻渶澧炲姞鏂扮殑鎺ュ彛锛�");
+ }
+
+ }
+
+
+}
diff --git a/sys/src/main/resources/application-dev.yml b/sys/src/main/resources/application-dev.yml
index f2dc523..62f17fc 100644
--- a/sys/src/main/resources/application-dev.yml
+++ b/sys/src/main/resources/application-dev.yml
@@ -75,7 +75,7 @@
# redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級
password: null
# redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級
- timeout: 500
+ timeout: 1000
# redis杩炴帴姹犻厤缃�
pool:
# 鏈�澶у彲鐢ㄨ繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
index 2668336..e795ff3 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
@@ -1,6 +1,8 @@
package com.yuanchu.limslaboratory.controller;
import com.yuanchu.limslaboratory.annotation.AuthHandler;
+import com.yuanchu.limslaboratory.enums.InterfaceType;
+import com.yuanchu.limslaboratory.enums.MenuEnums;
import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
import com.yuanchu.limslaboratory.pojo.dto.UpdateRoleMenuDto;
@@ -72,4 +74,11 @@
public Result<?> getRoleAndMenuByRole(Long roleId){
return Result.success(roleManagerService.getRoleAndMenuByRole(roleId));
}
+
+ @AuthHandler(type = InterfaceType.SELECT,menuId = MenuEnums.role,isAdd = true)
+ @ApiOperation("娴嬭瘯鐢熸垚")
+ @GetMapping("/test")
+ public Result<?> test(Long roleId){
+ return Result.success(null);
+ }
}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/MenuMapper.java b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/MenuMapper.java
index 56e131d..d97aff5 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/MenuMapper.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/MenuMapper.java
@@ -5,6 +5,7 @@
import org.springframework.stereotype.Repository;
import java.util.List;
+import java.util.Map;
/**
* @Author 寮犲
@@ -15,5 +16,6 @@
List<Menu> getMenuList();
+ List<Map<String, Object>> getMenuNameAndId();
}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
index 522c767..25eba82 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
@@ -39,4 +39,8 @@
Map<String, Object>selctInterFaceType(String url);
Map<String, Long> hasUrl(String type, String menuId, String roleId);
+
+ List<Map<String, String>>getAllInterfaces();
+
+ int insertInterfaceList(@Param("interfaceList") List<Map<String, String>>interfaceList);
}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/MapHandlerRoleDto.java b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/MapHandlerRoleDto.java
new file mode 100644
index 0000000..537d60d
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/MapHandlerRoleDto.java
@@ -0,0 +1,18 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import com.yuanchu.limslaboratory.utils.JsonUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/28
+ */
+@Component
+public class MapHandlerRoleDto {
+ public static String comparingBySupplier(Object o){
+ Map map= JsonUtil.jsonToPojo(JsonUtil.jsonToString(o),Map.class);
+ return String.valueOf(map.get("url"));
+ }
+}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
index c1c4e18..5a9cd16 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
@@ -19,6 +19,7 @@
import com.yuanchu.limslaboratory.service.RoleManagerService;
import com.yuanchu.limslaboratory.utils.JsonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -32,6 +33,7 @@
* @Date 2023/8/23
*/
@Service
+@Slf4j
public class RoleManagerServiceImpl implements RoleManagerService {
@Resource
@@ -74,6 +76,9 @@
,createTime
));
});
+ if(roleMenuList.size()<1){
+ roleMenuList.add(new RoleMenu(null,nextId,39L,false,false,false,false,createTime));
+ }
//roleMenuAddList.forEach(System.out::println);
int i = roleManageMapper.insertBatchRoleMenu(roleMenuList);
return insert>0&&i>0;
@@ -149,6 +154,7 @@
String type=null;
Map<String, Object> stringIntegerMap = roleManageMapper.selctInterFaceType(url);
if(Objects.isNull(stringIntegerMap)){
+ log.warn("娌℃湁====銆�"+url+"璇锋眰璧勬簮");
throw new AuthException("403","娌℃湁璇ヨ祫婧�");
}
String of = String.valueOf(stringIntegerMap.get("type"));
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 75791a6..ddf91db 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
@@ -94,7 +94,8 @@
}
@Override
- public List<Map<String, Object>> getUserNameAndId() {
+ public List<Map<String, Object>>
+ getUserNameAndId() {
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.select(User::getId, User::getName).eq(User::getType,1);
return userMapper.selectMaps(wrapper);
diff --git a/user-server/src/main/resources/mapper/MenuMapper.xml b/user-server/src/main/resources/mapper/MenuMapper.xml
index 1ea9b2d..6d55185 100644
--- a/user-server/src/main/resources/mapper/MenuMapper.xml
+++ b/user-server/src/main/resources/mapper/MenuMapper.xml
@@ -3,8 +3,15 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.MenuMapper">
<select id="getMenuList" resultType="com.yuanchu.limslaboratory.pojo.Menu">
- select id,name,parent_id parentId
+ select id, name, parent_id parentId
from menu
- where state =1
+ where state = 1
+ and id != 39
+ and parent_id != 39
+ </select>
+ <select id="getMenuNameAndId" resultType="map">
+ select url, id, name
+ from menu
+ where state = 1
</select>
</mapper>
\ No newline at end of file
diff --git a/user-server/src/main/resources/mapper/RoleManangeMapper.xml b/user-server/src/main/resources/mapper/RoleManangeMapper.xml
index f8db203..267f62f 100644
--- a/user-server/src/main/resources/mapper/RoleManangeMapper.xml
+++ b/user-server/src/main/resources/mapper/RoleManangeMapper.xml
@@ -17,6 +17,14 @@
#{createTime}
)
</insert>
+ <insert id="insertInterfaceList">
+ insert
+ interface_info (id,name,url,menu_id,type,state)
+ values
+ <foreach collection="interfaceList" item="m" separator=",">
+ (#{m.id},#{m.name},#{m.url},#{m.menuId},#{m.type},1)
+ </foreach>
+ </insert>
<update id="updateRoleState">
UPDATE role
SET state = 0
@@ -108,6 +116,10 @@
and menu_id = #{menuId}
and ${type} = 1
</select>
+ <select id="getAllInterfaces" resultType="java.util.Map">
+ select name, url
+ from interface_info
+ </select>
<resultMap id="roleAndMenuById" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto">
<result property="roleName" column="roleName"/>
<result property="createTime" column="createTime"/>
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index 6a87908..b89ebd9 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -43,5 +43,6 @@
select id, name
from lims_laboratory.user
where job_state!=0
+ and type=1
</select>
</mapper>
--
Gitblit v1.9.3