From 3a4ec5e2eae59901979f4309acb44eebacb75c56 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 25 八月 2023 17:45:18 +0800
Subject: [PATCH] 委托报检修改
---
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/InspectionVo.java | 17 ++
standard-server/src/main/resources/mapper/ProductMapper.xml | 30 ++++
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java | 27 ++++
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkDetection.java | 2
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/controller/ProductController.java | 35 ++++-
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java | 44 ++++--
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java | 3
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java | 8 +
inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml | 18 +-
standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java | 2
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 +++
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/LinkBasicInformation.java | 6
16 files changed, 268 insertions(+), 92 deletions(-)
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/LinkDetectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
index 1da481b..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,6 +45,9 @@
@Autowired
private StandardService standardService;
+ @Resource
+ ProductService productService;
+
@ApiOperation("閾炬帴-->鑾峰彇鏍峰搧鍚嶇О")
@GetMapping("/material")
public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
@@ -64,12 +72,27 @@
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("viewId").toString();
if (linkBasicInformationService.isIfViewUUID(redisLink)){
- linkBasicInformation.setUUID(redisLink);
+ linkBasicInformation.setUid(redisLink);
String code = linkBasicInformationService.addLinkBasicInformation(linkBasicInformation);
if (!ObjectUtils.isEmpty(code)){
return Result.success("娣诲姞鎴愬姛锛�", code);
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 847a506..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;
@@ -88,5 +84,5 @@
private List<LinkDetection> linkDetectionList;
@ApiModelProperty(value = "鐢熸垚id锛氫綔鐢ㄤ簬鏈夋晥鏈熷唴鏌ヨ鍐呭鎵�鐢�")
- private String UUID;
+ 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/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 e9c83d9..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
@@ -34,10 +34,13 @@
@Override
public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
+ //濮旀墭缂栧彿
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;
}
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/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/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 1014cc6..3529109 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,10 +32,12 @@
father,
unit,
required,
- internal
+ internal,
+ version
from lims_laboratory.product
where state = 1
and specifications_id = #{specificationsId}
+ and version = #{version}
</select>
<select id="deleteList">
@@ -42,4 +45,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>
--
Gitblit v1.9.3