From 8abe275e36823f1065300af45e1f7a9a68f549a7 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 06 九月 2023 16:14:40 +0800
Subject: [PATCH] 修改bug

---
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java          |    2 
 framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java                 |   10 ++
 inspection-server/src/main/resources/mapper/RawMaterialMapper.xml                                      |    1 
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java            |    3 
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java |   13 --
 standard-server/src/main/resources/mapper/ProductMapper.xml                                            |    5 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java                |    2 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java     |    5 +
 sys/src/main/resources/application-dev.yml                                                             |    4 
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java             |   21 +++++
 standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java          |   12 +++
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java    |   25 +++--
 standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/ProductMapper.java                     |    4 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java           |   12 +++
 inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml                             |    1 
 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java                             |   10 ++
 framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java                 |    4 +
 standard-server/src/main/java/com/yuanchu/limslaboratory/service/ProductService.java                   |    3 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java       |    3 
 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/StandardProductAddDto.java           |   34 ++++++++
 laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml                                   |   21 ++++
 21 files changed, 166 insertions(+), 29 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java b/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java
index f4e7a52..a952aa8 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java
@@ -30,6 +30,10 @@
     public ApplicationException() {
     }
 
+    public ApplicationException(String msg) {
+        this.msg = msg;
+    }
+
     public String getCode() {
         return code;
     }
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
index 29af084..340de5b 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.handler;
 
+import com.yuanchu.limslaboratory.exception.ApplicationException;
 import com.yuanchu.limslaboratory.exception.AuthException;
 import com.yuanchu.limslaboratory.exception.MyFileException;
 import com.yuanchu.limslaboratory.utils.MyUtil;
@@ -230,5 +231,14 @@
         return Result.fail(Integer.valueOf(e.getCode()),e.getMsg());
     }
 
+    /**
+     * 涓氬姟寮傚父
+     * @param e
+     * @return
+     */
+    @ExceptionHandler({ApplicationException.class })
+    public Result<?> applicationError(ApplicationException e){
+        return Result.fail(e.getMsg());
+    }
 
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java
index 62b375b..c15dbdf 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java
@@ -106,7 +106,8 @@
     @AuthHandler(type = InterfaceType.SELECT,menuId = MenuEnums.reportForInspection,isAdd = true)
     public Result<?> getMaterielName(){
         LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
-        wrapper.select(Material::getId, Material::getName, Material::getCode);
+        wrapper.select(Material::getId, Material::getName, Material::getCode)
+                .eq(Material::getType,0).eq(Material::getState,1);
         List<Map<String, Object>> maps = materialService.listMaps(wrapper);
         return Result.success(maps);
     }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
index 7bd2bfa..91ab2b5 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionMapper.java
@@ -76,5 +76,7 @@
 
     //鏌ヨ璇ユ湀鐨勬垚鍝佸悎鏍肩巼
     Long getOkFinByMonth(String monthofYear);
+
+
 }
 
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 9bdf384..6494553 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
@@ -16,6 +16,7 @@
 import com.yuanchu.limslaboratory.pojo.vo.InspectDetailVo;
 import com.yuanchu.limslaboratory.pojo.vo.InspectionVo;
 import com.yuanchu.limslaboratory.service.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -32,6 +33,7 @@
  * @since 2023-08-03 13:03:36
  */
 @Service
+@Slf4j
 public class InspectionServiceImpl extends ServiceImpl<InspectionMapper, Inspection> implements InspectionService {
 
     @Resource
@@ -121,6 +123,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Integer addInspect(Integer id, InspectionVo inspectionVo) throws ApplicationException {
+        log.info(inspectionVo.toString());
         /*鏂板妫�楠岀敵璇疯〃*/
         Inspection inspection = Inspection.builder()
                 .startTime(inspectionVo.getStartTime())
@@ -216,7 +219,7 @@
             String required = Optional.ofNullable(p)
                     .map(Product::getRequired).orElse("绌�");
             if(Objects.equals("绌�",internal)||Objects.equals(required,"绌�")) {
-                throw new ApplicationException("500","椤圭洰鐗堟湰涓嶅彲鐢�");
+                throw new ApplicationException("椤圭洰鐗堟湰涓嶅彲鐢�");
             }
         });
         //灏嗘煡璇㈢殑椤圭洰淇℃伅鏋勫缓鎴愭楠岄」鐩�
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
index 555110d..66570c2 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yuanchu.limslaboratory.service.impl;
 
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -12,6 +13,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -52,6 +54,9 @@
 
     @Resource
     LinkDetectionMapper linkDetectionMapper;
+
+    @Resource
+    private NonConformanceReviewMapper nonConformanceReviewMapper;
 
     //鏌ヨ妫�楠岃鍒�
     @Override
@@ -126,6 +131,13 @@
             inspection.setInspectionStatus(0);
             //鏇存柊妫�楠屽崟
             inspectionMapper.updateById(inspection);
+            //娣诲姞涓嶅悎鏍间俊鎭埌璇勫
+            inspectionMapper
+            NonConformanceReview nonConformanceReview = new NonConformanceReview();
+            LocalDateTime localDateTime = DateUtil.toLocalDateTime(DateUtil.date());
+            nonConformanceReview.setCreatedTime(localDateTime);
+            nonConformanceReview.setUpdatedTime(localDateTime);
+            nonConformanceReview.set
         } else if (count == results.size()) {
             Inspection inspection = new Inspection();
             inspection.setId(id);
diff --git a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
index 1a796c0..58bf6cb 100644
--- a/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
+++ b/inspection-server/src/main/resources/mapper/LinkBasicInformationMapper.xml
@@ -40,6 +40,7 @@
                d.`specifications_models`                    specifications,
                d.`unit`,
                d.`samples_number`                           num,
+               d.specifications_models                      specificationsId,
                experiment,
                DATE_FORMAT(date_survey, '%Y-%m-%d')         startTime,
                DATE_FORMAT(completion_deadline, '%Y-%m-%d') endTime
diff --git a/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml b/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml
index 5ea0eef..4a78d79 100644
--- a/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml
+++ b/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml
@@ -24,6 +24,7 @@
                material_coding                          mcode,
                material_name                            name,
                specifications_models                    specifications,
+               specifications_id                      specificationsId,
                unit,
                quantity                                 num,
                surveyor,
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
index 9850674..3c84090 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
@@ -1,6 +1,8 @@
 package com.yuanchu.limslaboratory.controller;
 
 
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.annotation.AuthHandler;
@@ -19,10 +21,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.constraints.NotNull;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * <p>
@@ -43,15 +42,18 @@
     @ApiOperation("娣诲姞璁惧鐮佺偣")
     @PostMapping("/add")
     @AuthHandler
-    public Result<?> addEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody EquipmentPoint equipmentPoint) throws Exception {
+    public Result<?> addEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody List<EquipmentPoint> equipmentPoints) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
-        equipmentPoint.setUserId((Integer) unmarshal.get("id"));
-        Integer isInsertSuccess = equipmentPointService.addEquipmentPointInformation(equipmentPoint);
-        if (isInsertSuccess == 1){
-            return Result.success("娣诲姞銆�"+ equipmentPoint.getEquipmentPointName() +"銆戞垚鍔燂紒");
+        equipmentPoints.forEach(e->{
+            e.setUserId((Integer) unmarshal.get("id"));
+            e.setCreateTime(new Date());
+            e.setUpdateTime(new Date());
+        });
+        if(equipmentPointService.addEquipmentPointInformation(equipmentPoints)>0){
+           return Result.success("娣诲姞鎴愬姛");
         }
-        return Result.fail("娣诲姞銆�"+ equipmentPoint.getEquipmentPointName() +"銆戝け璐ワ紒璁惧鐮佺偣缂栫爜閲嶅锛�");
+       return Result.fail("娣诲姞澶辫触");
     }
 
     @ApiOperation("鏍规嵁浠櫒Id鏌ヨ瀵瑰簲璁惧鐮佺偣鏁版嵁")
@@ -62,6 +64,9 @@
     @AuthHandler
     public Result<?> getListEquipmentPointInformation(String InstrumentId) {
         List<Map<String, Object>> list = equipmentPointService.getListEquipmentPointInformation(InstrumentId);
+        list.forEach(l->{
+            l.put("instrumentId",null);
+        });
         return Result.success(list);
     }
 
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java
index 5918e89..9d9a4cd 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/EquipmentPointMapper.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.pojo.EquipmentPoint;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -20,4 +21,6 @@
 public interface EquipmentPointMapper extends BaseMapper<EquipmentPoint> {
 
     List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId);
+
+    int insertBatch(@Param("lists") List<EquipmentPoint> lists);
 }
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java
index 4861c63..54d7876 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/EquipmentPointService.java
@@ -19,7 +19,7 @@
  */
 public interface EquipmentPointService extends IService<EquipmentPoint> {
 
-    Integer addEquipmentPointInformation(EquipmentPoint equipmentPoint);
+    Integer addEquipmentPointInformation(List<EquipmentPoint>  equipmentPoint);
 
     List<Map<String, Object>> getListEquipmentPointInformation(String InstrumentId);
 
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java
index 94dc21a..e75374d 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/EquipmentPointServiceImpl.java
@@ -32,17 +32,8 @@
     private EquipmentPointMapper equipmentPointMapper;
 
     @Override
-    public Integer addEquipmentPointInformation(EquipmentPoint equipmentPoint) {
-        LambdaQueryWrapper<EquipmentPoint> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(EquipmentPoint::getEquipmentPoint, equipmentPoint.getEquipmentPoint());
-        wrapper.eq(EquipmentPoint::getState, 1);
-        wrapper.eq(EquipmentPoint::getInstrumentId, equipmentPoint.getInstrumentId());
-        wrapper.select(EquipmentPoint::getEquipmentPoint);
-        EquipmentPoint equipmentPoint1 = equipmentPointMapper.selectOne(wrapper);
-        if (ObjectUtils.isEmpty(equipmentPoint1)){
-            return equipmentPointMapper.insert(equipmentPoint);
-        }
-        return 0;
+    public Integer addEquipmentPointInformation(List<EquipmentPoint>  equipmentPoint) {
+        return  equipmentPointMapper.insertBatch(equipmentPoint);
     }
 
     @Override
diff --git a/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml b/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml
index c64e216..8fcd6c2 100644
--- a/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/EquipmentPointMapper.xml
@@ -1,11 +1,26 @@
 <?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.EquipmentPointMapper">
+    <insert id="insertBatch">
+        insert
+        equipment_point (instrument_id,user_id,equipment_point,equipment_point_name,unit,descriptiveness,create_time,update_time,state)
+        values
+        <foreach collection="lists" item="l" separator=",">
+            (#{l.instrumentId},#{l.userId},#{l.equipmentPoint},#{l.equipmentPointName},#{l.unit},#{l.descriptiveness},#{l.createTime},#{l.updateTime},1)
+        </foreach>
+    </insert>
 
     <select id="getListEquipmentPointInformation" resultType="map">
-        SELECT e.`id`, e.`equipment_point` equipmentPoint, e.`equipment_point_name` equipmentPointName, e.`unit`,u.`name`, DATE_FORMAT(e.`update_time`, '%Y-%m-%d') updateTime, e.`descriptiveness`
-        FROM equipment_point e, `user` u
+        SELECT e.`id`,
+               e.`equipment_point`                      equipmentPoint,
+               e.`equipment_point_name`                 equipmentPointName,
+               e.`unit`,
+               u.`name`,
+               DATE_FORMAT(e.`update_time`, '%Y-%m-%d') updateTime,
+               e.`descriptiveness`
+        FROM equipment_point e,
+             `user` u
         WHERE e.`user_id` = u.`id`
-        AND e.`instrument_id` = #{InstrumentId}
+          AND e.`instrument_id` = #{InstrumentId}
     </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 dc1f491..06fe5ca 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,6 +1,10 @@
 package com.yuanchu.limslaboratory.controller;
 
 import com.yuanchu.limslaboratory.annotation.AuthHandler;
+import com.yuanchu.limslaboratory.enums.InterfaceType;
+import com.yuanchu.limslaboratory.enums.MenuEnums;
+import com.yuanchu.limslaboratory.pojo.Product;
+import com.yuanchu.limslaboratory.pojo.dto.StandardProductAddDto;
 import com.yuanchu.limslaboratory.service.ProductService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -86,4 +90,21 @@
         Integer version1 = productService.addVersion(specificationsId,version);
         return Result.success("娣诲姞鐗堟湰"+version1+"鎴愬姛");
     }
+
+    @ApiOperation("鏍囨敞搴�-銆嬫坊鍔犻」鐩�")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "specificationId", value = "鍨嬪彿id", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "version", value = "褰撳墠鐗堟湰", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "name", value = "椤圭洰鍚�", dataTypeClass = String.class, required = true),
+            @ApiImplicitParam(name = "father", value = "椤圭洰鍒嗙粍", dataTypeClass = String.class, required = true),
+            @ApiImplicitParam(name = "unit", value = "鍗曚綅", dataTypeClass = String.class, required = true),
+    })
+    @PostMapping("/addProduct")
+    @AuthHandler(type = InterfaceType.ADD,menuId = MenuEnums.index,isAdd = true)
+    public Result<?> addProduct(@RequestBody StandardProductAddDto dto){
+        return Result.success(productService.addProduct(dto));
+    }
+
+
+
 }
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 bb0de57..7176584 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
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.pojo.Product;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.limslaboratory.pojo.dto.StandardProductAddDto;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -39,4 +41,6 @@
 
     //鏍规嵁椤圭洰鐖剁被涓虹┖,椤圭洰鍚�,鍨嬪彿id,鐗堟湰鏌ヨ
     Map<String, Object> selNam(Integer specificationId, String exper, Integer version);
+
+    int addProduct(Product product);
 }
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 cdb42b3..720a24d 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
@@ -82,4 +82,14 @@
         this.version = version;
         this.specifications_id = specifications_id;
     }
+
+    public Product(String name, String father, String unit, Date createTime, Date updateTime, Integer version, Integer specifications_id) {
+        this.name = name;
+        this.father = father;
+        this.unit = unit;
+        this.createTime = createTime;
+        this.updateTime = updateTime;
+        this.version = version;
+        this.specifications_id = specifications_id;
+    }
 }
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/StandardProductAddDto.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/StandardProductAddDto.java
new file mode 100644
index 0000000..a7f6fe8
--- /dev/null
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/StandardProductAddDto.java
@@ -0,0 +1,34 @@
+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/9/6
+ */
+@Data
+public class StandardProductAddDto implements Serializable {
+
+    @ApiModelProperty(value = "椤圭洰鍒嗙粍", example = "1", hidden = true)
+    private String father;
+
+    @ApiModelProperty(value = "椤圭洰鍚�", example = "1", hidden = true)
+    private String name;
+
+    @ApiModelProperty(value = "鐗堟湰", example = "1", hidden = true)
+    private String version;
+
+    /**
+     * 鍗曚綅
+     **/
+    @ApiModelProperty(value = "鍗曚綅", example = "1", hidden = true)
+    private String unit;
+
+    @ApiModelProperty(value = "鍏宠仈 鍨嬪彿id", example = "1", hidden = true)
+    private Integer specificationId;
+
+}
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 076fdb1..fcabc5a 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
@@ -2,6 +2,7 @@
 
 import com.yuanchu.limslaboratory.pojo.Product;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.limslaboratory.pojo.dto.StandardProductAddDto;
 
 import java.util.List;
 import java.util.Map;
@@ -58,4 +59,6 @@
      * @return
      */
     List<Map<String,Object>> chooseProject(Integer modelId);
+
+    String addProduct(StandardProductAddDto dto);
 }
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 3a8d19f..32a0349 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
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yuanchu.limslaboratory.pojo.Product;
 import com.yuanchu.limslaboratory.mapper.ProductMapper;
+import com.yuanchu.limslaboratory.pojo.dto.StandardProductAddDto;
 import com.yuanchu.limslaboratory.service.ProductService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.limslaboratory.utils.MyUtil;
@@ -11,6 +12,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -90,5 +92,15 @@
         return productMapper.chooseProject(modelId);
     }
 
+    @Override
+    public String addProduct(StandardProductAddDto dto) {
+        int i = productMapper.addProduct(new Product(
+                dto.getName(), dto.getFather(),
+                dto.getUnit(), new Date(), new Date(),
+                Integer.parseInt(dto.getVersion()), dto.getSpecificationId()));
+        if(i>0) return "娣诲姞鎴愬姛锛�";
+        return "娣诲姞澶辫触";
+    }
+
 
 }
diff --git a/standard-server/src/main/resources/mapper/ProductMapper.xml b/standard-server/src/main/resources/mapper/ProductMapper.xml
index b2fefbc..6380efd 100644
--- a/standard-server/src/main/resources/mapper/ProductMapper.xml
+++ b/standard-server/src/main/resources/mapper/ProductMapper.xml
@@ -1,6 +1,11 @@
 <?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.ProductMapper">
+    <insert id="addProduct">
+        insert
+        product (name,father,unit,state,create_time,update_time,version,specifications_id)
+        value (#{name},#{father},#{unit},1,#{createTime},#{updateTime},#{version},#{specifications_id})
+    </insert>
     <select id="selectProductByMaterialId" resultType="Map">
         select p.name, unit, required, internal
         from lims_laboratory.product p,
diff --git a/sys/src/main/resources/application-dev.yml b/sys/src/main/resources/application-dev.yml
index 0599edc..3aad5b5 100644
--- a/sys/src/main/resources/application-dev.yml
+++ b/sys/src/main/resources/application-dev.yml
@@ -43,7 +43,7 @@
 #    url: jdbc:mysql://192.168.110.209:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
 #    username: user
 #    password: 123456
-    url: jdbc:mysql://192.168.65.113:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
+    url: jdbc:mysql://192.168.218.113:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
     username: user
     password: 123456
     druid:
@@ -69,7 +69,7 @@
     database: 0
     # redis鏈嶅姟鍣ㄥ湴鍧�锛堥粯璁や负localhost锛�
 #    host: 192.168.110.209
-    host: 192.168.65.113
+    host: 192.168.218.113
     # redis绔彛锛堥粯璁や负6379锛�
     port: 6379
     # redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級

--
Gitblit v1.9.3