From eb34edfc7cf46e5cb5e3969d04315e6129dcbbd2 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期六, 26 八月 2023 11:43:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java | 27 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/InspectionVo.java | 17
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java | 23 +
user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java | 51 ++
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java | 2
laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java | 21
standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java | 35 +
laboratory-server/src/main/resources/mapper/MenuMapper.xml | 2
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java | 37 +
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java | 13
inspection-server/src/main/resources/mapper/InspectionProductMapper.xml | 2
framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java | 2
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java | 22 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/LinkBasicInformationService.java | 4
user-server/src/main/resources/mapper/WaitInformationMapper.xml | 42 ++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java | 33 +
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java | 6
standard-server/src/main/resources/mapper/ProductMapper.xml | 30 +
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java | 56 ++
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java | 73 +++
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java | 28
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionService.java | 10
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 101 +++-
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java | 44 +
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java | 98 ++++
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java | 57 ++
/dev/null | 20
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java | 8
inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml | 18
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java | 33 +
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java | 2
chart-server/src/main/resources/mapper/WorkMapper.xml | 24
laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml | 76 +++
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java | 1
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java | 1
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkDetectionServiceImpl.java | 2
standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java | 27 +
user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java | 79 +++
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java | 7
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java | 49 ++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java | 67 +++
41 files changed, 1,103 insertions(+), 147 deletions(-)
diff --git a/chart-server/src/main/resources/mapper/WorkMapper.xml b/chart-server/src/main/resources/mapper/WorkMapper.xml
index 7da6829..385f61c 100644
--- a/chart-server/src/main/resources/mapper/WorkMapper.xml
+++ b/chart-server/src/main/resources/mapper/WorkMapper.xml
@@ -3,8 +3,8 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.WorkMapper">
<!--璐d换浜洪」鐩暟缁熻-->
<select id="dutyMater" resultType="java.util.Map">
- select n.name, 鏈畬鎴�, 宸插畬鎴�
- from (select distinct user.name, count(inspection_product.id) '鏈畬鎴�'
+ select n.name, unfinish, finsh
+ from (select distinct user.name, count(inspection_product.id) unfinish
from lims_laboratory.inspection_product
left join lims_laboratory.user on inspection_product.user_pro_id = user.id
where state = 1
@@ -20,7 +20,7 @@
and type = #{type}
and start_time between #{startTime} and #{endTime}))
group by user.name) n,
- (select distinct user.name, count(inspection_product.id) '宸插畬鎴�'
+ (select distinct user.name, count(inspection_product.id) finsh
from lims_laboratory.inspection_product
left join lims_laboratory.user on inspection_product.user_pro_id = user.id
where state = 1
@@ -41,8 +41,8 @@
<!--鎵ц浜洪」鐩暟缁熻-->
<select id="executeMater" resultType="java.util.Map">
- select n.name, 鏈畬鎴�, 宸插畬鎴�
- from (select distinct user.name, count(inspection_product.id) '鏈畬鎴�'
+ select n.name, unfinsh, finsh
+ from (select distinct user.name, count(inspection_product.id) unfinsh
from lims_laboratory.inspection_product
left join lims_laboratory.user on inspection_product.user_id = user.id
where state = 1
@@ -58,7 +58,7 @@
and type = #{type}
and start_time between #{startTime} and #{endTime}))
group by user.name) n,
- (select distinct user.name, count(inspection_product.id) '宸插畬鎴�'
+ (select distinct user.name, count(inspection_product.id) finsh
from lims_laboratory.inspection_product
left join lims_laboratory.user on inspection_product.user_id = user.id
where state = 1
@@ -79,8 +79,8 @@
<!--璐d换浜烘墽琛岀巼-->
<select id="dutytimely" resultType="java.util.Map">
- select n.name, 椤圭洰鎬绘暟, 鍙婃椂瀹屾垚鏁� / 椤圭洰鎬绘暟 * 100 '鍙婃椂鐜�'
- from (select distinct user.name, count(inspection_product.id) '椤圭洰鎬绘暟'
+ select n.name, total, finshByTime / total * 100 timely
+ from (select distinct user.name, count(inspection_product.id) total
from lims_laboratory.inspection_product
left join lims_laboratory.user on inspection_product.user_pro_id = user.id
where state = 1
@@ -95,7 +95,7 @@
and type = #{type}
and start_time between #{startTime} and #{endTime}))
group by user.name) n,
- (select distinct user.name, count(inspection_product.id) '鍙婃椂瀹屾垚鏁�'
+ (select distinct user.name, count(inspection_product.id) finshByTime
from lims_laboratory.inspection_product
left join lims_laboratory.user
on inspection_product.user_pro_id = user.id
@@ -122,8 +122,8 @@
<!--鎵ц浜哄強鏃剁巼-->
<select id="executetimely" resultType="java.util.Map">
- select n.name, 椤圭洰鎬绘暟, 鍙婃椂瀹屾垚鏁� / 椤圭洰鎬绘暟 * 100 '鍙婃椂鐜�'
- from (select distinct user.name, count(inspection_product.id) '椤圭洰鎬绘暟'
+ select n.name, total, finshByTime / total * 100 timely
+ from (select distinct user.name, count(inspection_product.id) total
from lims_laboratory.inspection_product
left join lims_laboratory.user on inspection_product.user_id = user.id
where state = 1
@@ -138,7 +138,7 @@
and type = #{type}
and start_time between #{startTime} and #{endTime}))
group by user.name) n,
- (select distinct user.name, count(inspection_product.id) '鍙婃椂瀹屾垚鏁�'
+ (select distinct user.name, count(inspection_product.id) finshByTime
from lims_laboratory.inspection_product
left join lims_laboratory.user
on inspection_product.user_id = user.id
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java
index f272754..b9a569f 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java
@@ -14,8 +14,6 @@
/**
* JSON瑙f瀽澶勭悊
- *
- * @author 寮犲
*/
@Component
public class JackSonUtil {
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 29ed397..f9b7ed3 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
@@ -20,6 +20,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.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.service.InspectionService;
@@ -85,10 +86,21 @@
return Result.fail("绫诲瀷閿欒!");
}
+ @ApiOperation(value = "鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "name", value = "浜у搧鍚嶇О", dataTypeClass = String.class, required = true),
+ @ApiImplicitParam(name = "mcode", value = "浜у搧缂栧彿", dataTypeClass = String.class, required = true),
+ @ApiImplicitParam(name = "specifications", value = "瑙勬牸鍨嬪彿", dataTypeClass = String.class, required = true)
+ })
+ @GetMapping("/chooseVer")
+ public Result chooseVer(String name, String mcode, String specifications) {
+ return Result.success(inspectionService.chooseVer(name, mcode, specifications));
+ }
+
@ApiOperation(value = "鏂板妫�楠屽崟")
@PostMapping("/addInspect")
- public Result addInspect(@RequestHeader("token") String token, @RequestBody InspectionVo inspectionVo) throws Exception {
+ public Result addInspect(@RequestHeader("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));
@@ -110,13 +122,13 @@
}
@ApiOperation(value = "淇濆瓨妫�楠岄」鐩矗浠讳汉")
- @ApiImplicitParams(value = {
- @ApiImplicitParam(name = "id", value = "妫�楠屽崟椤圭洰id", dataTypeClass = Integer.class, required = true),
- @ApiImplicitParam(name = "userProId", value = "璐d换浜篿d", dataTypeClass = Integer.class, required = true)
- })
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "id", value = "妫�楠屽崟椤圭洰id", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "userProId", value = "璐d换浜篿d", dataTypeClass = Integer.class, required = true)
+ })
@GetMapping("/chooseUseProId")
- public Result chooseUseProId(Integer id,Integer userProId) {
- return Result.success(inspectionService.chooseUseProId(id,userProId));
+ public Result chooseUseProId(Integer id, Integer userProId) {
+ return Result.success(inspectionService.chooseUseProId(id, userProId));
}
@ApiOperation(value = "浣滃簾妫�楠屽崟")
@@ -124,7 +136,7 @@
@ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class, required = true)
})
@PostMapping("/delInspect")
- public Result delInspect(Integer id) {
+ 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 22de441..01f505a 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
@@ -65,4 +65,5 @@
map.put("row", linkBasicPage.getRecords());
return Result.success(map);
}
+
}
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 82c0065..9ac5e99 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
@@ -4,17 +4,22 @@
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
+import com.yuanchu.limslaboratory.pojo.LinkDetection;
import com.yuanchu.limslaboratory.pojo.Material;
import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
import com.yuanchu.limslaboratory.service.MaterialService;
+import com.yuanchu.limslaboratory.service.ProductService;
import com.yuanchu.limslaboratory.service.StandardService;
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 javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@@ -40,11 +45,14 @@
@Autowired
private StandardService standardService;
+ @Resource
+ ProductService productService;
+
@ApiOperation("閾炬帴-->鑾峰彇鏍峰搧鍚嶇О")
@GetMapping("/material")
public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
- String redisLink = RedisUtil.get("link").toString();
- if (redisLink.equals(link)){
+ String redisLink = RedisUtil.get("viewId").toString();
+ if (linkBasicInformationService.isIfViewUUID(redisLink)){
LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
wrapper.select(Material::getId, Material::getName, Material::getCode);
List<Map<String, Object>> maps = materialService.listMaps(wrapper);
@@ -56,19 +64,35 @@
@ApiOperation("閾炬帴-->鑾峰彇瑙勬牸鍨嬪彿")
@GetMapping("/specification")
public Result<?> getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) {
- String redisLink = RedisUtil.get("link").toString();
- if (redisLink.equals(link)){
+ String redisLink = RedisUtil.get("viewId").toString();
+ if (linkBasicInformationService.isIfViewUUID(redisLink)){
List<Map<String, Object>> specificationIdAndName = standardService.getSpecificationIdAndName(materialId);
return Result.success(specificationIdAndName);
}
return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
}
- @ApiOperation("閾炬帴-->娣诲姞妫�楠岀敵璇峰崟")
+ @ApiOperation("閾炬帴-->閫夋嫨璇曢獙椤圭洰")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "modelId", value = "鍨嬪彿id", dataTypeClass = Integer.class, required = true)
+ })
+ @GetMapping("/chooseProject")
+ public Result<?> chooseProject(@RequestHeader("link") String link, Integer modelId) {
+ String redisLink = RedisUtil.get("viewId").toString();
+ if (linkBasicInformationService.isIfViewUUID(redisLink)){
+ //鏌ヨ鏍囧噯搴撲腑璇ュ瀷鍙蜂笅鐨勬墍鏈夎瘯楠岄」鐩�(鐖剁被)
+ return Result.success(productService.chooseProject(modelId));
+ }
+ return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
+
+ }
+
+ @ApiOperation("閾炬帴-->娣诲姞濮旀墭鎶ユ鐢宠鍗�")
@PostMapping("/addInspection")
public Result<?> addLinkBasicInformation(@RequestHeader("link") String link, @RequestBody LinkBasicInformation linkBasicInformation) {
- String redisLink = RedisUtil.get("link").toString();
- if (redisLink.equals(link)){
+ String redisLink = RedisUtil.get("viewId").toString();
+ if (linkBasicInformationService.isIfViewUUID(redisLink)){
+ linkBasicInformation.setUid(redisLink);
String code = linkBasicInformationService.addLinkBasicInformation(linkBasicInformation);
if (!ObjectUtils.isEmpty(code)){
return Result.success("娣诲姞鎴愬姛锛�", code);
@@ -79,4 +103,22 @@
return Result.fail("鎶辨瓑閾炬帴閿欒鎴栧凡杩囨湡锛�");
}
+
+ @ApiOperation(value = "鐢熸垚浜岀淮鐮佹墍闇�鐨勫敮涓�鐮�")
+ @GetMapping("/getViewUUID")
+ public Result<?> getViewUUID(int day){
+ return Result.success("鐢熸垚鎴愬姛",linkBasicInformationService.getViewUUID(day));
+ }
+
+ @ApiOperation(value = "鏌ヨ浜岀淮鐮佹墍闇�鐨勫敮涓�鐮�")
+ @GetMapping("/selectViewUUID")
+ public Result<?> selectViewUUID(){
+ return Result.success("鏌ヨ鎴愬姛",linkBasicInformationService.selectViewUUID());
+ }
+
+ @ApiOperation(value = "妫�楠屽敮涓�鐮佹槸鍚︽湁鏁�")
+ @GetMapping("/isIfViewUUID")
+ public Result<?> isIfViewUUID(String viewId){
+ return Result.success("鏌ヨ鎴愬姛",linkBasicInformationService.isIfViewUUID(viewId));
+ }
}
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
index 4f53cb3..3edc996 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
@@ -40,6 +40,7 @@
})
@GetMapping("/selectAllPlan")
public Result selectAllPlan(String code, String beginTime, String endTime, Integer status) {
+ System.out.println(planService.selectAllPlan(code, beginTime, endTime, status).toString());
return Result.success(planService.selectAllPlan(code, beginTime, endTime, status));
}
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 60e4a5a..5c9f196 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
@@ -1,13 +1,9 @@
package com.yuanchu.limslaboratory.pojo;
import com.baomidou.mybatisplus.annotation.*;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
-
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -86,4 +82,7 @@
@TableField(exist = false)
@ApiModelProperty(value = "妫�楠屼俊鎭�")
private List<LinkDetection> linkDetectionList;
+
+ @ApiModelProperty(value = "鐢熸垚id锛氫綔鐢ㄤ簬鏈夋晥鏈熷唴鏌ヨ鍐呭鎵�鐢�")
+ private String uid;
}
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 e62f2a8..5345c81 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
@@ -74,7 +74,7 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
- @ApiModelProperty(value = "妫�楠屾棩鏈�", hidden = true)
+ @ApiModelProperty(value = "妫�楠屾棩鏈�", required = true,example = "2023-08-22")
private Date dateSurvey;
@ApiModelProperty(value = "妫�楠岀姸鎬�", hidden = true)
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/InspectionVo.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/InspectionVo.java
index f804333..de59347 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/InspectionVo.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/InspectionVo.java
@@ -5,6 +5,9 @@
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
//鏂板妫�楠屽崟
@@ -15,6 +18,7 @@
*妫�楠岀被鍨� 0锛氬師鏉愭枡锛�1锛氫骇鍝侊紱2锛氬崐鎴愬搧锛�
**/
@JsonSerialize
+ @NotNull(message = "妫�楠岀被鍨嬩笉鑳戒负绌�")
private Integer type;
/**
@@ -22,30 +26,35 @@
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @NotBlank(message = "鏉ユ枡鏃ユ湡涓嶈兘涓虹┖")
private Date formTime;
/**
* 渚涘簲鍟�
**/
@JsonSerialize
+ @NotBlank(message = "渚涘簲鍟嗕笉鑳戒负绌�")
private String supplier;
/**
* 鐗╂枡缂栫爜
**/
@JsonSerialize
+ @NotBlank(message = "鏍峰搧缂栫爜涓嶈兘涓虹┖")
private String mcode;
/**
* 鐗╂枡鍚嶇О
**/
@JsonSerialize
+ @NotBlank(message = "鏍峰搧鍚嶇О涓嶈兘涓虹┖")
private String name;
/**
* 瑙勬牸鍚嶇О-鍨嬪彿鍚嶇О
**/
@JsonSerialize
+ @NotBlank(message = "瑙勬牸鍨嬪彿涓嶈兘涓虹┖")
private String specifications;
/**
@@ -58,6 +67,7 @@
* 鎶ユ鏁伴噺-鐗╂枡鏁伴噺
**/
@JsonSerialize
+ @NotNull(message = "鎶ユ鏁伴噺涓嶈兘涓虹┖")
private Integer num;
/**
@@ -65,6 +75,7 @@
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @NotBlank(message = "妫�楠屽紑濮嬫椂闂翠笉鑳戒负绌�")
private Date startTime;
/**
@@ -72,5 +83,11 @@
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @NotBlank(message = "妫�楠岀粨鏉熸椂闂翠笉鑳戒负绌�")
private Date endTime;
+
+ //璇曢獙椤圭洰
+ @NotBlank(message = "璇曢獙椤圭洰涓嶈兘涓虹┖")
+ @JsonSerialize
+ private String experiment;
}
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 4c2fec0..e473e4a 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
@@ -58,5 +58,15 @@
* @return
*/
String chooseUseProId(Integer id, Integer userProId);
+
+ /**
+ * 鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�
+ * @param name
+ * @param mcode
+ * @param specifications
+ * @return
+ */
+ List<Map<String,Object>> chooseVer(String name, String mcode, String specifications);
+
}
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 c347bca..3a4c2a5 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
@@ -31,5 +31,9 @@
*/
List<Map<String, Object>> selectLinkAll();
+ String getViewUUID(int day);
+ Map<String, String> selectViewUUID();
+
+ boolean isIfViewUUID(String uuid);
}
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 9187912..571f2dc 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
@@ -3,6 +3,7 @@
import cn.hutool.core.lang.Snowflake;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -103,39 +104,46 @@
.build();
inspectionMaterialMapper.insert(inspectionMaterial);
/*鏂板妫�楠岄」鐩〃*/
- //鑾峰彇鐗╂枡id
- Material material = materialMapper.selectOne(Wrappers.<Material>query()
- .eq("name", inspectionVo.getName())
- .eq("code", inspectionVo.getMcode()));
- //鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
- String specification = inspectionVo.getSpecifications();
- String[] split = specification.split("-");
- String stName = split[0];
- String spName = split[1];
- //鑾峰彇瑙勬牸id
- Standard standard = standardService.getOne(Wrappers.<Standard>query()
- .eq("name", stName)
- .eq("material_id", material.getId()));
- //鑾峰彇鍨嬪彿id
- Specifications specifications = specificationsService.getOne(Wrappers.<Specifications>query()
- .eq("name", spName)
- .eq("standard_id", standard.getId()));
- //鏍规嵁鍨嬪彿id鏌ヨ椤圭洰淇℃伅
- List<Product> productList = productMapper.selectList(Wrappers.<Product>query().eq("specifications_id", specifications.getId()));
- ArrayList<InspectionProduct> list = new ArrayList<>();
- for (Product product : productList) {
- InspectionProduct rawInsProduct = InspectionProduct.builder()
- .name(product.getName())
- .unit(product.getUnit())
- .required(product.getRequired())
- .internal(product.getInternal())
- .inspectionMaterialId(material.getId())
- .build();
- list.add(rawInsProduct);
+ //鏍规嵁鏍峰搧鍚嶇О缂栧彿浠ュ強鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id
+ Integer specificationId = getSpecificationId(inspectionVo.getName(), inspectionVo.getMcode(), inspectionVo.getSpecifications());
+ //濡傛灉璇曢獙椤圭洰瀛楁涓嶄负绌�
+ if (ObjectUtils.isNotEmpty(inspectionVo.getExperiment())) {
+ //鑾峰彇璇曢獙椤圭洰淇℃伅(缁撴瀯,瀵肩嚎澶栧緞)
+ List<String> experiments = Arrays.stream(inspectionVo.getExperiment().split(",")).collect(Collectors.toList());
+ //鏍规嵁鍨嬪彿id鍜岄」鐩俊鎭煡璇㈤」鐩俊鎭�
+ List<Product> products = new ArrayList<>();
+ for (String experiment : experiments) {
+ List<Product> productList1 = productMapper.selectList(Wrappers.<Product>query()
+ .eq("specifications_id", specificationId)
+ .eq("father", experiment));
+ if (ObjectUtils.isEmpty(productList1)) {
+ Product product = productMapper.selectOne(Wrappers.<Product>query()
+ .eq("specifications_id", specificationId)
+ .isNull("father")
+ .eq("name", experiment));
+ products.add(product);
+ } else products.addAll(productList1);
+ }
+
+ //灏嗘煡璇㈢殑椤圭洰淇℃伅鏋勫缓鎴愭楠岄」鐩�
+ ArrayList<InspectionProduct> list = new ArrayList<>();
+ for (Product product : products) {
+ InspectionProduct rawInsProduct = InspectionProduct.builder()
+ .name(product.getName())
+ .unit(product.getUnit())
+ .required(product.getRequired())
+ .internal(product.getInternal())
+ .inspectionMaterialId(inspectionMaterial.getId())
+ .build();
+ list.add(rawInsProduct);
+ }
+
+ //妫�楠岄」鐩壒閲忔坊鍔�
+ inspectionProductService.saveBatch(list);
+ return inspection.getId();
}
- //妫�楠岄」鐩壒閲忔坊鍔�
- inspectionProductService.saveBatch(list);
- return inspection.getId();
+ //todo:鏈畬
+ return null;
}
//鏍规嵁妫�楠屽崟id鏌ヨ鍘熸潗鏂欐楠屽崟璇︽儏
@@ -213,5 +221,34 @@
}
+ //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�
+ @Override
+ public List<Map<String, Object>> chooseVer(String name, String mcode, String specifications) {
+ Integer specificationId = getSpecificationId(name, mcode, specifications);
+ return null;
+ }
+
+
+ /*鏍规嵁鏍峰搧鍚嶇О,鏍峰搧缂栧彿,鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id*/
+ private Integer getSpecificationId(String name, String mcode, String specification) {
+ //鑾峰彇鐗╂枡id
+ Material material = materialMapper.selectOne(Wrappers.<Material>query()
+ .eq("name", name)
+ .eq("code", mcode));
+ //鑾峰彇瑙勬牸鍚嶇О鍜屽瀷鍙峰悕绉�
+ String[] split = specification.split("-");
+ String stName = split[0];
+ String spName = split[1];
+ //鑾峰彇瑙勬牸id
+ Standard standard = standardService.getOne(Wrappers.<Standard>query()
+ .eq("name", stName)
+ .eq("material_id", material.getId()));
+ //鑾峰彇鍨嬪彿id
+ Specifications specifications = specificationsService.getOne(Wrappers.<Specifications>query()
+ .eq("name", spName)
+ .eq("standard_id", standard.getId()));
+ return specifications.getId();
+ }
+
}
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 b14dab9..d7dd0eb 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
@@ -4,21 +4,20 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
import com.yuanchu.limslaboratory.mapper.LinkBasicInformationMapper;
-import com.yuanchu.limslaboratory.pojo.vo.InspectionVo;
import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.service.LinkDetectionService;
import com.yuanchu.limslaboratory.utils.MyUtil;
+import com.yuanchu.limslaboratory.utils.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
@@ -35,10 +34,13 @@
@Override
public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
- String code = MyUtil.getTimeSixNumberCode("SL","SL");
+ //濮旀墭缂栧彿
+ String code = MyUtil.getTimeSixNumberCode("SL", "SL");
linkBasicInformation.setEntrustCoding(code);
+ //鏂板鍩烘湰淇℃伅琛�
int insert = linkBasicInformationMapper.insert(linkBasicInformation);
if (insert == 1) {
+ //鏂板濮旀墭鏍峰搧琛�
linkDetectionService.insertListData(linkBasicInformation.getId(), linkBasicInformation.getLinkDetectionList());
return code;
}
@@ -56,5 +58,30 @@
return linkBasicInformationMapper.selectLinkAll();
}
+ @Override
+ public String getViewUUID(int day) {
+ String id = String.valueOf(UUID.randomUUID());
+ RedisUtil.set("viewId", id, day * 24 * 60);
+ return id;
+ }
+
+ @Override
+ public Map<String, String> selectViewUUID() {
+ Map<String, String> map = new HashMap<>();
+ try {
+ map.put("id", RedisUtil.get("viewId").toString());
+ map.put("time", String.valueOf(RedisUtil.getExpire("viewId")));
+ } catch (Exception e) {
+ map.put("id", null);
+ map.put("time", null);
+ }
+ return map;
+ }
+
+ @Override
+ public boolean isIfViewUUID(String uuid) {
+ return uuid.equals(RedisUtil.get("viewId"));
+ }
+
}
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 1bcd989..e347c34 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
@@ -27,7 +27,7 @@
@Override
public void insertListData(Integer id, List<LinkDetection> linkDetectionList) {
for (LinkDetection linkDetection:linkDetectionList){
- linkDetection.setInspectionStatus(2);
+ linkDetection.setInspectionStatus(1);
linkDetection.setLinkBasicId(id);
}
linkDetectionMapper.insertBatchSomeColumn(linkDetectionList);
diff --git a/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
index f1b39da..1af01e7 100644
--- a/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
+++ b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
@@ -1,8 +1,6 @@
<?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.InspectionProductMapper">
-
-
<!--鏍规嵁妫�楠屽崟id鏌ヨ妫�楠岄」鐩殑妫�楠岀粨鏋�-->
<select id="getresult" resultType="java.lang.Integer">
select test_state
diff --git a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
index 2acf86f..3ce5aec 100644
--- a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
+++ b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
@@ -25,19 +25,19 @@
</select>
<select id="selectLinkAll" resultType="java.util.Map">
- SELECT DATE_FORMAT(l.`inspection_time`,'%Y-%m-%d') formTime,
- l.`entrusted` supplier,
- d.`sample_number` mcode,
- d.`sample_name` name,
- d.`specifications_models` specifications,
+ SELECT DATE_FORMAT(l.`inspection_time`, '%Y-%m-%d') formTime,
+ l.`entrusted` supplier,
+ d.`sample_number` mcode,
+ d.`sample_name` name,
+ d.`specifications_models` specifications,
d.`unit`,
- d.`samples_number` num,
- DATE_FORMAT(date_survey,'%Y-%m-%d') startTime,
- DATE_FORMAT(completion_deadline,'%Y-%m-%d') endTime
+ d.`samples_number` num,
+ experiment,
+ DATE_FORMAT(date_survey, '%Y-%m-%d') startTime,
+ DATE_FORMAT(completion_deadline, '%Y-%m-%d') endTime
FROM lims_laboratory.link_basic_information l,
lims_laboratory.link_detection d
WHERE l.`id` = d.`link_basic_id`
AND l.`state` = 1
</select>
-
</mapper>
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
index d60ec4e..69ea1fd 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
@@ -1,12 +1,12 @@
package com.yuanchu.limslaboratory.controller;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
import com.yuanchu.limslaboratory.service.RoleManagerService;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -28,6 +28,21 @@
return Result.success(roleManagerService.getMenusTree());
};
+ @ApiOperation("鏂板瑙掕壊")
+ @PostMapping("/addRoleInfo")
+ public Result<?>addRoleInfo(@RequestBody RoleInfoDto dto){
+ return Result.success(roleManagerService.addRoleInfo(dto));
+ }
+ @ApiOperation("鏌ヨ瑙掕壊鍚嶉噸澶�")
+ @GetMapping("/assertRepeat")
+ public Result<?> assertRepeat(String roleName){
+ return Result.success(roleManagerService.assertRepeat(roleName));
+ }
+ @ApiOperation("鑾峰彇瑙掕壊淇℃伅")
+ @GetMapping("/getAllRoleAndMenuInfo")
+ public Result<?> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto){
+ return Result.success(roleManagerService.getAllRoleAndMenuInfo(dto));
+ }
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
new file mode 100644
index 0000000..e85957b
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
@@ -0,0 +1,33 @@
+package com.yuanchu.limslaboratory.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.limslaboratory.pojo.LimitPage;
+import com.yuanchu.limslaboratory.pojo.Role;
+import com.yuanchu.limslaboratory.pojo.RoleInfo;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.GetPlanMeasureInstrumentDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Repository
+public interface RoleManageMapper extends BaseMapper<RoleInfo> {
+
+ int insertBatchRoleMenu(@Param("roleMenuAddList") List<RoleMenu> roleMenuList);
+
+ int insertRole(RoleInfo roleInfo);
+
+ List<RoleInfo>getAssertName(@Param("roleName") String roleName);
+
+ List<RoleAndMenuDto>selectAllRoleAndMenu(@Param("dto") GetAllRoleAndMenuByConditionPageDto dto);
+
+ List<Role>getRoleByName(@Param("roleName") String roleName);
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java
index b9cd220..12c7ddb 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java
@@ -16,18 +16,18 @@
/**
* id
*/
- private Integer value;
+ private Long id;
/**
* 鑿滃崟鍚�
*/
- private String label;
+ private String name;
/**
* 鐖剁骇id
*/
- private Integer parentId;
+ private Long parentId;
/**
* 瀛愮骇鑿滃崟淇℃伅
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Role.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Role.java
deleted file mode 100644
index 036a706..0000000
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Role.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.yuanchu.limslaboratory.pojo;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * @Author 寮犲
- * @Date 2023/8/23
- */
-@Data
-public class Role implements Serializable {
-
-
- private Integer id;
-
- private Integer name;
-
- private LocalDateTime createTime;
-
- private LocalDateTime updateTime;
-
- private Integer state;
-
-}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java
new file mode 100644
index 0000000..854b391
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java
@@ -0,0 +1,49 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/23
+ */
+@Data
+@TableName("role")
+@Getter
+@Setter
+public class RoleInfo implements Serializable {
+
+
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+
+ private String name;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime updateTime;
+
+ private Integer state;
+
+ public RoleInfo(String name, LocalDateTime createTime, LocalDateTime updateTime) {
+ this.name = name;
+ this.createTime = createTime;
+ this.updateTime = updateTime;
+ }
+
+ public RoleInfo() {
+ }
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java
new file mode 100644
index 0000000..2bb7b23
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java
@@ -0,0 +1,67 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+@TableName("role_menu")
+public class RoleMenu implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ private Long roleId;
+
+ private String menuName;
+
+ private Long menuId;
+
+ private Boolean selected;
+
+ private Boolean added;
+
+ private Long parentId;
+
+ private Boolean updated;
+
+ private Boolean deleted;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime updateTime;
+
+ private List<RoleMenu> children;
+
+ public RoleMenu() {
+ }
+
+ public RoleMenu(Long id, Long roleId, Long menuId, Boolean selected, Boolean added, Boolean updated, Boolean deleted, LocalDateTime createTime) {
+ this.id = id;
+ this.roleId = roleId;
+ this.menuId = menuId;
+ this.selected = selected;
+ this.added = added;
+ this.updated = updated;
+ this.deleted = deleted;
+ this.createTime = createTime;
+ }
+
+
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java
new file mode 100644
index 0000000..51285e3
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.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 java.io.Serializable;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+@ApiModel(value = "GetAllRoleAndMenuByConditionPageDto瀵硅薄", description = "")
+public class GetAllRoleAndMenuByConditionPageDto implements Serializable {
+ @ApiModelProperty(value = "褰撳墠椤�", example = "1", required = true)
+ private Long currentPage;
+ @ApiModelProperty(value = "姣忛〉澶氬皯鏉�", required = true)
+ private Long pageSize;
+ @ApiModelProperty(value = "瑙掕壊鍚�")
+ private String name;
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java
new file mode 100644
index 0000000..aa3d4d0
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java
@@ -0,0 +1,33 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+public class RoleAndMenuDto implements Serializable {
+
+ private Long roleId;
+
+ private String roleName;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime updateTime;
+
+ private List<RoleMenu> roleMenuList;
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java
new file mode 100644
index 0000000..981712a
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java
@@ -0,0 +1,22 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+public class RoleInfoDto implements Serializable {
+
+ @ApiModelProperty(value = "瑙掕壊鍚�", required = true)
+ private String roleName;
+
+ @ApiModelProperty(value = "閫変腑鑿滃崟淇℃伅")
+ private List<Map<String, Object>>menuData;
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
index 6cb04de..9fde5f7 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
@@ -1,6 +1,11 @@
package com.yuanchu.limslaboratory.service;
-import com.yuanchu.limslaboratory.vo.Result;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
+
+import java.util.List;
+import java.util.Map;
/**
* @Author 寮犲
@@ -8,4 +13,10 @@
*/
public interface RoleManagerService {
Object getMenusTree();
+
+ boolean addRoleInfo(RoleInfoDto dto);
+
+ boolean assertRepeat(String roleName);
+
+ Map<String, Object> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto);
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
index 38f0db1..eedf808 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
@@ -1,12 +1,25 @@
package com.yuanchu.limslaboratory.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.mapper.MenuMapper;
+import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
+import com.yuanchu.limslaboratory.pojo.LimitPage;
import com.yuanchu.limslaboratory.pojo.Menu;
+import com.yuanchu.limslaboratory.pojo.RoleInfo;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
import com.yuanchu.limslaboratory.service.RoleManagerService;
+import com.yuanchu.limslaboratory.utils.JsonUtil;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -20,6 +33,9 @@
@Resource
private MenuMapper menuMapper;
+ @Resource
+ private RoleManageMapper roleManageMapper;
+
@Override
public Object getMenusTree() {
List<Menu> menus = menuMapper.getMenuList();
@@ -29,10 +45,69 @@
.collect(Collectors.toList());
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean addRoleInfo(RoleInfoDto dto) {
+ //鏂板瑙掕壊
+ //System.out.println(dto);
+ LocalDateTime createTime = DateUtil.toLocalDateTime(DateUtil.date());
+ RoleInfo role=new RoleInfo();
+ long nextId = IdUtil.getSnowflake().nextId();
+ role.setId(nextId);
+ role.setName(dto.getRoleName());
+ role.setCreateTime(createTime);
+ int insert = roleManageMapper.insertRole(role);
+ List<Map<String, Object>>addBranch=new ArrayList<>();
+ reverseTree(dto.getMenuData(),addBranch);
+ List<RoleMenu> roleMenuList =new ArrayList<>();
+ addBranch.forEach(item->{
+ roleMenuList.add(new RoleMenu(null,nextId,
+ Long.valueOf(String.valueOf(item.get("id")))
+ ,Boolean.valueOf(String.valueOf(item.get("selected")))
+ ,Boolean.valueOf(String.valueOf(item.get("added")))
+ ,Boolean.valueOf(String.valueOf(item.get("deleted")))
+ ,Boolean.valueOf(String.valueOf(item.get("updated")))
+ ,createTime
+ ));
+ });
+ //roleMenuAddList.forEach(System.out::println);
+ int i = roleManageMapper.insertBatchRoleMenu(roleMenuList);
+ return insert>0&&i>0;
+ }
+
+ @Override
+ public boolean assertRepeat(String roleName) {
+ List<RoleInfo> assertName = roleManageMapper.getAssertName(roleName);
+ return assertName.size()<1;
+ }
+
+ @Override
+ public Map<String, Object> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto) {
+ dto.setCurrentPage((dto.getCurrentPage()-1)*dto.getCurrentPage());
+ List<RoleAndMenuDto> roleAndMenuDtos = roleManageMapper.selectAllRoleAndMenu(dto);
+ roleAndMenuDtos.forEach(r->{
+ List<RoleMenu>roleMenuList=r.getRoleMenuList();
+ System.out.println(roleMenuList);
+ List<RoleMenu> collect = roleMenuList.stream()
+ .filter(t -> t.getParentId() == 0)
+ .peek((menu) -> menu.setChildren(this.getRoleMenuChildren(menu, roleMenuList)))
+ .collect(Collectors.toList());
+ r.setRoleMenuList(collect);
+ });
+ roleAndMenuDtos.forEach(r->{
+ r.getRoleMenuList().forEach(System.out::println);
+ });
+ Map<String, Object>result=new HashMap<>(3);
+ result.put("list",roleAndMenuDtos);
+ int size = roleManageMapper.getRoleByName(dto.getName()).size();
+ result.put("total",size);
+ return result;
+ }
+
private List<Menu> getEnumChildren(Menu root, List<Menu> all) {
return all.stream()
- .filter(t -> Objects.equals(t.getParentId(), root.getValue()))
+ .filter(t -> Objects.equals(t.getParentId(), root.getId()))
.peek(g -> {
//鎵惧瓙鑿滃崟
g.setChildren(getEnumChildren(g, all));
@@ -40,4 +115,23 @@
.collect(Collectors.toList());
}
+ private List<RoleMenu> getRoleMenuChildren(RoleMenu root, List<RoleMenu> all) {
+ return all.stream()
+ .filter(t -> Objects.equals(t.getParentId(), root.getMenuId()))
+ .peek(g -> {
+ //鎵惧瓙鑿滃崟
+ g.setChildren(getRoleMenuChildren(g, all));
+ })
+ .collect(Collectors.toList());
+ }
+
+ private void reverseTree(List<Map<String, Object>>tree, List<Map<String, Object>>addBranch){
+ tree.forEach(t->{
+ addBranch.add(t);
+ if(t.get("children")!=null){
+ List<Map<String, Object>> children = JsonUtil.jsonToPojo( JsonUtil.jsonToString(t.get("children")), List.class);
+ addBranch.addAll(children);
+ }
+ });
+ }
}
diff --git a/laboratory-server/src/main/resources/mapper/MenuMapper.xml b/laboratory-server/src/main/resources/mapper/MenuMapper.xml
index 586dcb7..1ea9b2d 100644
--- a/laboratory-server/src/main/resources/mapper/MenuMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/MenuMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.MenuMapper">
<select id="getMenuList" resultType="com.yuanchu.limslaboratory.pojo.Menu">
- select id value,name label,parent_id parentId
+ select id,name,parent_id parentId
from menu
where state =1
</select>
diff --git a/laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml b/laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml
new file mode 100644
index 0000000..8980e01
--- /dev/null
+++ b/laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml
@@ -0,0 +1,76 @@
+<?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.RoleManageMapper">
+ <insert id="insertBatchRoleMenu" useGeneratedKeys="true" keyProperty="id">
+ insert
+ role_menu (id,`role_id`,`menu_id`,`selected`,`added`,`updated`,`deleted`,`create_time`)
+ values
+ <foreach collection="roleMenuAddList" separator="," item="r">
+ (#{r.id},#{r.roleId},#{r.menuId},#{r.selected},#{r.added},#{r.updated},#{r.deleted},#{r.createTime})
+ </foreach>
+ </insert>
+ <insert id="insertRole">
+ insert
+ role(id,name,create_time) value (
+ #{id},
+ #{name},
+ #{createTime}
+ )
+ </insert>
+ <select id="getAssertName" resultType="com.yuanchu.limslaboratory.pojo.RoleInfo">
+ select id
+ from role
+ where name = #{roleName}
+ </select>
+ <select id="selectAllRoleAndMenu" resultMap="roleAndMenu">
+ SELECT r.id roleId,
+ r.`name` roleName,
+ menu_id menuId,
+ parent_id parentId,
+ m.`name` menuName,
+ rm.selected,
+ rm.added,
+ rm.updated,
+ rm.deleted,
+ r.create_time createTime,
+ r.update_time updateTime
+ FROM role_menu rm,
+ (select id, name, createTime, updateTime
+ from role
+ where 1=1
+ <if test="dto.name!=null and dto.name!=''">
+ and name=#{dto.name}
+ </if>
+ limit #{dto.currentPage}, #{dto.pageSize}) r,
+ menu m
+ WHERE rm.role_id = r.id
+ AND rm.menu_id = m.id
+ AND r.state = 1
+ AND rm.state = 1
+ AND m.state = 1
+ </select>
+ <select id="getRoleByName" resultType="com.yuanchu.limslaboratory.pojo.Role">
+ select id
+ from role
+ where 1=1
+ <if test="dto.name!=null and dto.name!=''">
+ and name=#{dto.name}
+ </if>
+ </select>
+
+ <resultMap id="roleAndMenu" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto">
+ <result property="roleId" column="roleId"/>
+ <result property="roleName" column="roleName"/>
+ <result property="createTime" column="createTime"/>
+ <result property="updateTime" column="updateTime"/>
+ <collection property="roleMenuList" ofType="roleMenu">
+ <result property="menuId" column="menuId"/>
+ <result property="added" column="added"/>
+ <result property="deleted" column="deleted"/>
+ <result property="updated" column="updated"/>
+ <result property="selected" column="selected"/>
+ <result property="menuName" column="menuName"/>
+ <result property="parentId" column="parentId"/>
+ </collection>
+ </resultMap>
+</mapper>
\ No newline at end of file
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 31b730b..79f34f0 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,18 +1,11 @@
package com.yuanchu.limslaboratory.controller;
-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.MyUtil;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
/**
* <p>
@@ -30,20 +23,32 @@
@Autowired
private ProductService productService;
- @ApiOperation("鏌ヨ璇ュ瀷鍙蜂笅鐨勯」鐩�")
+ @ApiOperation("鏌ヨ璇ュ瀷鍙蜂笅鐨勯」鐩�-->閫夋嫨鐗堟湰")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "specificationsId", value = "鍨嬪彿ID", dataTypeClass = Integer.class, required = true)
})
+ @GetMapping("/chooseVersion")
+ public Result<?> chooseVersion(Integer specificationsId) {
+ return Result.success(productService.chooseVersion(specificationsId));
+ }
+
+ @ApiOperation("鏌ヨ璇ュ瀷鍙蜂笅鐨勯」鐩�")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "specificationsId", value = "鍨嬪彿ID", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "version", value = "鐗堟湰(榛樿鏈�鏂扮増鏈�)", dataTypeClass = Integer.class,required = true )
+ })
@GetMapping("/page")
- public Result<?> pageProductInformation(Integer specificationsId) {
- return Result.success(productService.pageProductInformation(specificationsId));
+ public Result<?> pageProductInformation(Integer specificationsId,Integer version) {
+ return Result.success(productService.pageProductInformation(specificationsId,version));
}
@ApiOperation("濉啓鏍囧噯鍊间笌鍐呮帶鍊�,榧犳爣绉诲紑淇濆瓨")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id", value = "鏍囧噯椤圭洰ID", dataTypeClass = Integer.class, required = true),
@ApiImplicitParam(name = "required", value = "鏍囧噯鍊�", dataTypeClass = String.class, required = true),
+ @ApiImplicitParam(name = "internal", value = "鍐呮帶鍊�", dataTypeClass = String.class, required = true),
@ApiImplicitParam(name = "internal", value = "鍐呮帶鍊�", dataTypeClass = String.class, required = true)
+
})
@PostMapping("/write")
public Result<?> write(Integer id, String required, String internal) {
@@ -64,4 +69,14 @@
productService.deleteList(ids);
return Result.success("鍒犻櫎鎴愬姛");
}
+
+ @ApiOperation("娣诲姞鍚屼竴涓瀷鍙风殑鍏朵粬鐗堟湰")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "specificationsId", value = "鍨嬪彿id", dataTypeClass = Integer.class, required = true)
+ })
+ @PostMapping("/addVersion")
+ public Result<?> addVersion(Integer specificationsId ) {
+ Integer version = productService.addVersion(specificationsId);
+ return Result.success("娣诲姞鐗堟湰"+version+"鎴愬姛");
+ }
}
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 5abf378..13958cd 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
@@ -24,7 +24,13 @@
List<Map> selectProductByMaterialId(int materialId);
//灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�
- List<Map<String, Object>> pageProductInformation(Integer specificationsId);
+ List<Map<String, Object>> pageProductInformation(Integer specificationsId,Integer version);
void deleteList(String ids);
+
+ //灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�-->閫夋嫨鐗堟湰
+ List<Integer> chooseVersion(Integer specificationsId);
+
+ //鏌ヨ璇ュ瀷鍙蜂笅鐨勬墍鏈夎瘯楠岄」鐩�(鐖剁被)
+ List<Map<String,Object>> chooseProject(Integer modelId);
}
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java
index 14a985e..7cc9533 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java
@@ -60,7 +60,7 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
- @ApiModelProperty(value = "涔愯閿�", hidden = true)
+ @ApiModelProperty(value = "鐗堟湰", hidden = true)
private Integer version;
@ApiModelProperty(value = "鍏宠仈 鍨嬪彿id", example = "1", hidden = true)
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 7836058..a81e74a 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,13 +1,10 @@
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;
/**
@@ -21,13 +18,20 @@
public interface ProductService extends IService<Product> {
void deleteProductInformation(List<Integer> SpecificationsId);
+ /**
+ * 灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�-->閫夋嫨鐗堟湰
+ * @param specificationsId
+ * @return
+ */
+ List<Integer> chooseVersion(Integer specificationsId);
+
/**
* 灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�
* @param specificationsId
* @return
*/
- List<Map<String,Object>> pageProductInformation(Integer specificationsId);
+ List<Map<String,Object>> pageProductInformation(Integer specificationsId,Integer version);
/**
* 濉啓鏍囧噯鍊间笌鍐呮帶鍊�,榧犳爣绉诲紑淇濆瓨
@@ -39,4 +43,19 @@
Integer write(Integer id, String required, String internal);
void deleteList(String ids);
+
+ /**
+ * 娣诲姞鍚屼竴涓瀷鍙风殑鍏朵粬鐗堟湰
+ * @param specificationsId
+ * @return
+ */
+ Integer addVersion(Integer specificationsId);
+
+
+ /**
+ * 鏌ヨ璇ュ瀷鍙蜂笅鐨勬墍鏈夎瘯楠岄」鐩�(鐖剁被)
+ * @param modelId
+ * @return
+ */
+ List<Map<String,Object>> chooseProject(Integer modelId);
}
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 a08eb0e..eed66aa 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
@@ -1,28 +1,18 @@
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.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.limslaboratory.mapper.ProductModelMapper;
-import com.yuanchu.limslaboratory.mapper.SpecificationsMapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.limslaboratory.pojo.Product;
import com.yuanchu.limslaboratory.mapper.ProductMapper;
-import com.yuanchu.limslaboratory.pojo.ProductModel;
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;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-
import javax.annotation.Resource;
-import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
+
/**
* <p>
@@ -38,9 +28,6 @@
@Resource
private ProductMapper productMapper;
- @Resource
- ProductModelMapper productModelMapper;
-
@Override
public void deleteProductInformation(List<Integer> SpecificationsId) {
@@ -52,11 +39,17 @@
}
}
+ //灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�-->閫夋嫨鐗堟湰
+ @Override
+ public List<Integer> chooseVersion(Integer specificationsId) {
+ return productMapper.chooseVersion(specificationsId);
+ }
+
//灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�
@Override
@Transactional(rollbackFor = Exception.class)
- public List<Map<String, Object>> pageProductInformation(Integer specificationsId) {
- return productMapper.pageProductInformation(specificationsId);
+ public List<Map<String, Object>> pageProductInformation(Integer specificationsId,Integer version) {
+ return productMapper.pageProductInformation(specificationsId,version);
}
//濉啓鏍囧噯鍊间笌鍐呮帶鍊�,榧犳爣绉诲紑淇濆瓨
@@ -75,5 +68,22 @@
productMapper.deleteList(ids);
}
+ //娣诲姞鍚屼竴涓瀷鍙风殑鍏朵粬鐗堟湰
+ @Override
+ public Integer addVersion(Integer specificationsId) {
+ List<Product> productList = productMapper.selectList(Wrappers.<Product>query().eq("specifications_id", specificationsId));
+ for (Product product : productList) {
+ product.setVersion(product.getVersion()+1);
+ }
+ saveBatch(productList);
+ return productList.get(0).getVersion();
+ }
+
+ //鏌ヨ璇ュ瀷鍙蜂笅鐨勬墍鏈夎瘯楠岄」鐩�(鐖剁被)
+ @Override
+ public List<Map<String,Object>> chooseProject(Integer modelId) {
+ return productMapper.chooseProject(modelId);
+ }
+
}
diff --git a/standard-server/src/main/resources/mapper/ProductMapper.xml b/standard-server/src/main/resources/mapper/ProductMapper.xml
index 05c4e11..398bc0d 100644
--- a/standard-server/src/main/resources/mapper/ProductMapper.xml
+++ b/standard-server/src/main/resources/mapper/ProductMapper.xml
@@ -23,6 +23,7 @@
<result property="unit" column="unit"/>
<result property="required" column="required"/>
<result property="internal" column="internal"/>
+ <result property="version" column="version"/>
</resultMap>
<select id="pageProductInformation" resultMap="pageProductInformationMap">
@@ -31,11 +32,13 @@
father,
unit,
required,
- internal
+ internal,
+ version
from lims_laboratory.product
where state = 1
and specifications_id = #{specificationsId}
ORDER BY product.`create_time` DESC
+ and version = #{version}
</select>
<select id="deleteList">
@@ -43,4 +46,29 @@
set state=0
where id in (${ids})
</select>
+
+ <!--灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹�-閫夋嫨鐗堟湰-->
+ <select id="chooseVersion" resultType="java.lang.Integer">
+ select distinct version
+ from lims_laboratory.product
+ where state = 1
+ and specifications_id = #{specificationsId}
+ order by version desc
+ </select>
+
+ <!--鏌ヨ璇ュ瀷鍙蜂笅鐨勬墍鏈夎瘯楠岄」鐩�(鐖剁被)-->
+ <resultMap id="chooseProjects" type="map">
+ <id property="name" column="father"/>
+ <collection property="children" resultMap="chooseProjectTowMap" javaType="List"/>
+ </resultMap>
+ <resultMap id="chooseProjectTowMap" type="map">
+ <id property="id" column="id"/>
+ <result property="name" column="name"/>
+ </resultMap>
+ <select id="chooseProject" resultMap="chooseProjects">
+ select id, father, name
+ from lims_laboratory.product
+ where state = 1
+ and specifications_id = #{modelId}
+ </select>
</mapper>
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java
deleted file mode 100644
index 65ecfc8..0000000
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.yuanchu.limslaboratory.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2023-07-07
- */
-@RestController
-@RequestMapping("/enterprise")
-public class EnterpriseController {
-
-}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
new file mode 100644
index 0000000..df02520
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
@@ -0,0 +1,79 @@
+package com.yuanchu.limslaboratory.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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 com.yuanchu.limslaboratory.service.WaitInformationService;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ帶鍒跺眰
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:21
+ */
+@Api(tags = "娑堟伅寰呭姙-->鎴戠殑寰呭姙")
+@RestController
+@RequestMapping("/waitInformation")
+public class WaitInformationController {
+
+ @Autowired
+ private WaitInformationService waitInformationService;
+
+ @ApiOperation(value = "鏌ヨ寰呭姙琛ㄥ垪琛�")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "pageSize", value = "椤垫暟", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "countSize", value = "鏉℃暟/椤�", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "title", value = "鏍囬", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "text", value = "鍐呭", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "type", value = "鐘舵��(涓虹┖=鍏ㄩ儴)", dataTypeClass = Integer.class)
+ })
+ @GetMapping("/selectWaitInforList")
+ public Result selectWaitInforList(@RequestHeader("token") String token,int pageSize, int countSize, String title, String text, Integer type) throws Exception {
+ Object object = RedisUtil.get(token);
+ Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+ IPage<Map<String, Object>> waitInformationPage = waitInformationService.selectWaitInforList(new Page<Object>(pageSize, countSize),unmarshal.get("name").toString(), title, text, type);
+ Map<String, Object> map = new HashMap<>();
+ map.put("total", waitInformationPage.getTotal());
+ map.put("row", waitInformationPage.getRecords());
+ return Result.success(map);
+ }
+
+ @ApiOperation(value = "鎵归噺鍒犻櫎")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "ids", value = "寰呭姙id", dataTypeClass = String.class,required = true)
+ })
+ @GetMapping("/delAllWaitInfor")
+ public Result delAllWaitInfor(@RequestHeader("token") String token,String ids) throws Exception {
+ Object object = RedisUtil.get(token);
+ Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+ waitInformationService.delAllWaitInfor(unmarshal.get("name").toString(),ids);
+ return Result.success("鍒犻櫎鎴愬姛!");
+ }
+
+ @ApiOperation(value = "鎵归噺鏍囦负宸茶")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "ids", value = "寰呭姙id", dataTypeClass = String.class,required = true)
+ })
+ @GetMapping("/writeAllWaitInfor")
+ public Result writeAllWaitInfor(@RequestHeader("token") String token,String ids) throws Exception {
+ Object object = RedisUtil.get(token);
+ Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+ waitInformationService.writeAllWaitInfor(unmarshal.get("name").toString(),ids);
+ return Result.success("宸茶鎴愬姛");
+ }
+
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java
new file mode 100644
index 0000000..a51e5a6
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java
@@ -0,0 +1,27 @@
+package com.yuanchu.limslaboratory.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.pojo.WaitInformation;
+
+import java.util.Map;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ暟鎹簱璁块棶灞�
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:21
+ */
+public interface WaitInformationMapper extends BaseMapper<WaitInformation> {
+
+ //鏌ヨ寰呭姙琛ㄥ垪琛�
+ IPage<Map<String, Object>> selectWaitInforList(Page<Object> page,String rename, String title, String text,Integer type);
+
+ //鎵归噺鍒犻櫎
+ void delAllWaitInfor(String rename,String ids);
+
+ //鎵归噺宸茶
+ void writeAllWaitInfor(String rename,String ids);
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java
new file mode 100644
index 0000000..daed7a6
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java
@@ -0,0 +1,73 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.io.Serializable;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄥ疄浣撶被
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:22
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@TableName("wait_information")
+public class WaitInformation implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ **/
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 鍙戜欢浜�
+ **/
+ private String name;
+
+ /**
+ * 鍙戜欢浜�
+ **/
+ private String rename;
+
+ /**
+ * 鏍囬
+ **/
+ private String title;
+
+ /**
+ * 寰呭姙鍐呭
+ **/
+ private String text;
+
+ /**
+ * 鐘舵�� 0:鏈;1:宸茶
+ **/
+ private Integer type;
+
+ @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true)
+ private Integer state;
+
+ @TableField(fill = FieldFill.INSERT)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date updateTime;
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java
new file mode 100644
index 0000000..83d9e6e
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java
@@ -0,0 +1,51 @@
+package com.yuanchu.limslaboratory.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.limslaboratory.pojo.WaitInformation;
+
+import java.util.Map;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ湇鍔℃帴鍙�
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:22
+ */
+public interface WaitInformationService extends IService<WaitInformation> {
+
+
+ /**
+ * 娣诲姞寰呭姙
+ * @param name
+ * @param title
+ * @param text
+ */
+ //todo:娣诲姞寰呭姙娑堟伅
+ void addWaitInfor(String name,String title,String text,String rename);
+
+
+ /**
+ * 鏌ヨ寰呭姙琛ㄥ垪琛�
+ * @param page
+ * @param title
+ * @param text
+ * @return
+ */
+ IPage<Map<String, Object>> selectWaitInforList(Page<Object> page,String rename, String title, String text,Integer type);
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ */
+ void delAllWaitInfor(String rename,String ids);
+
+
+ /**
+ * 鎵归噺宸茶
+ * @param ids
+ */
+ void writeAllWaitInfor(String rename,String ids);
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java
new file mode 100644
index 0000000..d7ffdbc
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java
@@ -0,0 +1,57 @@
+package com.yuanchu.limslaboratory.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.limslaboratory.mapper.WaitInformationMapper;
+import com.yuanchu.limslaboratory.pojo.WaitInformation;
+import com.yuanchu.limslaboratory.service.WaitInformationService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ湇鍔″疄鐜扮被
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:22
+ */
+@Service
+public class WaitInformationServiceImpl extends ServiceImpl<WaitInformationMapper, WaitInformation> implements WaitInformationService {
+
+ @Resource
+ WaitInformationMapper waitInformationMapper;
+
+
+ //娣诲姞寰呭姙
+ @Override
+ public void addWaitInfor(String name, String title, String text, String rename) {
+ WaitInformation waitInformation = WaitInformation.builder()
+ .name(name)
+ .title(title)
+ .text(text)
+ .rename(rename)
+ .build();
+ waitInformationMapper.insert(waitInformation);
+ }
+
+ //鏌ヨ寰呭姙琛ㄥ垪琛�
+ @Override
+ public IPage<Map<String, Object>> selectWaitInforList(Page<Object> page, String rename, String title, String text, Integer type) {
+ return waitInformationMapper.selectWaitInforList(page, rename, title, text, type);
+ }
+
+ //鎵归噺鍒犻櫎
+ @Override
+ public void delAllWaitInfor(String rename, String ids) {
+ waitInformationMapper.delAllWaitInfor(rename, ids);
+ }
+
+ //鎵归噺宸茶
+ @Override
+ public void writeAllWaitInfor(String rename, String ids) {
+ waitInformationMapper.writeAllWaitInfor(rename, ids);
+ }
+}
+
diff --git a/user-server/src/main/resources/mapper/WaitInformationMapper.xml b/user-server/src/main/resources/mapper/WaitInformationMapper.xml
new file mode 100644
index 0000000..ad224f8
--- /dev/null
+++ b/user-server/src/main/resources/mapper/WaitInformationMapper.xml
@@ -0,0 +1,42 @@
+<?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.WaitInformationMapper">
+ <!--鏌ヨ寰呭姙琛ㄥ垪琛�-->
+ <select id="selectWaitInforList" resultType="java.util.Map">
+ select id,
+ name,
+ title,
+ text,
+ DATE_FORMAT(create_time,'%Y-%m-%d') creatTime,
+ type
+ from lims_laboratory.wait_information
+ where state=1
+ and `rename`=#{rename}
+ <if test="title!=null and title!=''">
+ and title like concat('%',#{title},'%')
+ </if>
+ <if test="text!=null and text!=''">
+ and text like concat('%',#{text},'%')
+ </if>
+ <if test="type!=null ">
+ and type =#{type}
+ </if>
+ </select>
+
+ <!--鎵归噺鍒犻櫎-->
+ <update id="delAllWaitInfor">
+ update lims_laboratory.wait_information
+ set state=0
+ where `rename`=#{rename}
+ and id in (${ids})
+ </update>
+
+ <!--鎵归噺宸茶-->
+ <update id="writeAllWaitInfor">
+ update lims_laboratory.wait_information
+ set type=1
+ where wait_information.state = 1
+ and `rename`=#{rename}
+ and id in (${ids})
+ </update>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3