zss
2023-07-26 ee5f64ff15c79240681fc46b0201a293ccaf54ad
检验模块
已修改25个文件
已添加2个文件
541 ■■■■ 文件已修改
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductListController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/PlanMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProductList.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Plan.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionProductListDto.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionRecordsDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/PlanDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/PlanVo.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionMaterialListService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionProductListService.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionMaterialListServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductListServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/PlanMapper.xml 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
standard-server/src/main/resources/mapper/MaterialMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
@@ -68,7 +68,7 @@
        return Result.success(inspectionService.selectAllInspection(pageSize, countSize, state));
    }
    @ApiOperation("查询检验单里面的物料信息")
    @ApiOperation("查询检验单里面的样品信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "inspectionId", value = "报检单ID", dataTypeClass = String.class, required = true),
    })
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java
@@ -1,6 +1,8 @@
package com.yuanchu.limslaboratory.controller;
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.yuanchu.limslaboratory.pojo.InspectionMaterialList;
import com.yuanchu.limslaboratory.service.InspectionMaterialListService;
import com.yuanchu.limslaboratory.utils.JackSonUtil;
@@ -12,6 +14,8 @@
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.Map;
/**
@@ -30,13 +34,24 @@
    @Autowired
    InspectionMaterialListService inspectionMaterialListService;
    @Resource
    InspectionMapper inspectionMapper;
    @ApiOperation("添加检验单中的检验样品")
    @PostMapping("/addInspectionMaterialList")
    public Result addInspectionMaterialList(@RequestHeader("X-Token") String token, @RequestBody InspectionMaterialList inspectionMaterialList) throws Exception {
        //如果检验单已作废,状态为0,则无法添加样品
        Inspection inspection = inspectionMapper.selectById(inspectionMaterialList.getInspectionId());
        if (inspection.getState()==0) {
            return Result.fail("检验单已作废无法添加检验样品");
        }
        else {
        inspectionMaterialList.setState(1);
        Object object = RedisUtil.get(token);
        Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
        return Result.success(inspectionMaterialListService.addInspectionMaterialList(inspectionMaterialList, "" + unmarshal.get("id")));
            inspectionMaterialListService.addInspectionMaterialList(inspectionMaterialList, "" + unmarshal.get("id"));
            return Result.success();
        }
    }
    @ApiOperation("删除样品")
@@ -45,10 +60,11 @@
    })
    @PostMapping("/delInspectionMaterialList")
    public Result delInspectionMaterialList(int inspectionMaterialListId) {
        return Result.success(inspectionMaterialListService.delInspectionMaterialListByInsId(inspectionMaterialListId));
        inspectionMaterialListService.delInspectionMaterialListByInsId(inspectionMaterialListId);
        return Result.success();
    }
    @ApiOperation("根据Id查询样品信息")
    @ApiOperation("根据样品Id查询样品信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
    })
@@ -63,7 +79,7 @@
    })
    @PutMapping("/updateInspectionMaterialList/{inspectionMaterialListId}")
    public Result updateInspectionMaterialList(@PathVariable Integer inspectionMaterialListId, @RequestBody InspectionMaterialList inspectionMaterialList) {
        return Result.success(inspectionMaterialListService.updateInspectionMaterialList(inspectionMaterialListId, inspectionMaterialList));
        inspectionMaterialListService.updateInspectionMaterialList(inspectionMaterialListId, inspectionMaterialList);
        return Result.success();
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionProductListController.java
@@ -1,7 +1,10 @@
package com.yuanchu.limslaboratory.controller;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.pojo.User;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import com.yuanchu.limslaboratory.service.InspectionProductListService;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
@@ -20,13 +23,16 @@
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Api(tags = "检验模块-->分配计划-->检验项目")
@Api(tags = "检验模块-->检验样品-->检验项目")
@RestController
@RequestMapping("/inspection-product-list")
public class InspectionProductListController {
    @Resource
    UserService userService;
    @Resource
    InspectionProductListService inspectionProductListService;
    @ApiOperation("查询试验员信息")
    @GetMapping("/selectUser")
@@ -42,4 +48,14 @@
    public Result selectUserById(Integer id) {
        return Result.success(userService.selectByUserId(id));
    }
    @ApiOperation("根据检验计划样品id查询检验项目")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "样品id", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/selectProductById/{id}")
    public Result selectProductById(@PathVariable Integer id) {
        return Result.success(inspectionProductListService.selectProductById(id));
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
@@ -2,6 +2,7 @@
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import com.yuanchu.limslaboratory.service.PlanService;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
@@ -39,22 +40,14 @@
        return Result.success(planService.selectAllPlan(pageSize, countSize, state));
    }
    @ApiOperation("查询检验计划里面的检验项目")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "样品id", dataTypeClass = Integer.class, required = true)
    })
    @GetMapping("/selectProductById/{id}")
    public Result selectProductById(@PathVariable Integer id) {
        return Result.success(planService.selectProductById(id));
    }
    @ApiOperation("分配检验计划中分配项目")
    @PostMapping("/upPlan")
    public Result upPlan(@RequestBody InspectionProductList inspectionProductList) {
        planService.upPlan(inspectionProductList);
    public Result upPlan(@RequestBody InspectionProductListDto inspectionProductListDto) {
        planService.upPlan(inspectionProductListDto);
        return Result.success();
    }
    @ApiOperation("作废检验计划")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "检验计划ID", dataTypeClass = Integer.class, required = true),
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java
@@ -3,6 +3,7 @@
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.limslaboratory.pojo.Product;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import com.yuanchu.limslaboratory.service.InspectionProductListService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,9 +20,7 @@
 */
public interface InspectionProductListMapper extends BaseMapper<InspectionProductList> {
    //添加检验项目
    int addInspectionProductList(List<InspectionProductList> list);
    //根据样品id查询检验项目
    List<InspectionProductList> selectByMaterId(Integer id);
    //根据样品id查询检验计划样品里面的检验项目
    List<InspectionProductListDto> selectByMaterId(Integer id);
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/PlanMapper.java
@@ -3,6 +3,7 @@
import com.yuanchu.limslaboratory.pojo.Plan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.limslaboratory.pojo.dto.PlanDto;
import com.yuanchu.limslaboratory.pojo.vo.PlanVo;
import java.util.List;
import java.util.Map;
@@ -18,7 +19,7 @@
public interface PlanMapper extends BaseMapper<Plan> {
    //查询所有检验计划分配
    Map selectAllPlan(int pageSize, int countSize, Integer state);
    List<PlanVo> selectAllPlan(int pageSize, int countSize, Integer state);
    //查询成品检验
    List<PlanDto> selectInspection(int pageSize, int countSize, Integer state);
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionProductList.java
@@ -75,12 +75,12 @@
    private Integer version;
    @ApiModelProperty(value = "关联 æŠ¥æ£€id")
    @ApiModelProperty(value = "关联 æŠ¥æ£€ç‰©æ–™id")
    private int inspectionMaterialListId;
    @ApiModelProperty(value = "关联 ç”¨æˆ·id è¯•验员")
    private Integer userId;
    @ApiModelProperty(value = "关联 è®¾å¤‡id")
    private Integer instrument_id;
    private Integer instrumentId;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Plan.java
@@ -61,7 +61,5 @@
    @ApiModelProperty(value = "关联 ç”¨æˆ·id(负责人id)")
    private Integer userId;
    @ApiModelProperty(value = "关联 è®¾å¤‡id")
    private Integer deviceId;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java
@@ -2,8 +2,11 @@
import com.yuanchu.limslaboratory.pojo.Inspection;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class InspectionDto extends Inspection implements Serializable {
    private static final long serialVersionUID = 1L;
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionProductListDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
package com.yuanchu.limslaboratory.pojo.dto;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * <p>
 *
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
//分配计划
@Data
public class InspectionProductListDto implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "报检样品id")
    @JsonSerialize
    private int inspectionMaterialListId;
    @ApiModelProperty(value = "项目检验开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "项目检验结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    @ApiModelProperty(value = "项目名称")
    @JsonSerialize
    private String name;
    @ApiModelProperty(value = "试验方法")
    @JsonSerialize
    private String method;
    @ApiModelProperty(value = "试验要求")
    @JsonSerialize
    private String ask;
    @ApiModelProperty(value = "单位")
    @JsonSerialize
    private String unit;
    @ApiModelProperty(value = "招标人要求值")
    @JsonSerialize
    private String required;
    @ApiModelProperty(value = "内控值")
    @JsonSerialize
    private String internal;
    @ApiModelProperty(value = "试验单试验开始日期", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inspectStartTime;
    @ApiModelProperty(value = "试验单试验结束日期", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inspectEndTime;
    @ApiModelProperty(value = "检验项目试验员")
    @JsonSerialize
    private String userName;
    @ApiModelProperty(value = "关联 è®¾å¤‡å")
    @JsonSerialize
    private String instrumentName;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionRecordsDto.java
@@ -2,48 +2,53 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class InspectionRecordsDto implements Serializable {
    //检测项目
    @ApiModelProperty(value = "检测项目")
    @JsonSerialize
    private String name;
    //试验员
    @ApiModelProperty(value = "试验员")
    @JsonSerialize
    private String userName;
    //试验开始日期
    @ApiModelProperty(value = "试验开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    //试验结束日期
    @ApiModelProperty(value = "试验结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    //试验方法
    @ApiModelProperty(value = "试验方法")
    @JsonSerialize
    private String method;
    //试验要求
    @ApiModelProperty(value = "试验要求")
    @JsonSerialize
    private String ask;
    //样品编号
    @ApiModelProperty(value = "样品编号")
    @JsonSerialize
    private int mid;
    //样品名称
    @ApiModelProperty(value = "样品名称")
    @JsonSerialize
    private String materialName;
    //规格型号
    @ApiModelProperty(value = "规格型号")
    @JsonSerialize
    private String specificationsSerialNumber;
    //样品数量
    @ApiModelProperty(value = "样品数量")
    @JsonSerialize
    private Integer materialNum;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/PlanDto.java
@@ -9,10 +9,13 @@
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuanchu.limslaboratory.pojo.Plan;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
//成品检验
@Data
public class PlanDto  implements Serializable {
    @ApiModelProperty(value = "计划编号")
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/vo/PlanVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
package com.yuanchu.limslaboratory.pojo.vo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
//检验计划分配
@Data
public class PlanVo implements Serializable {
    @ApiModelProperty(value = "样品编号")
    @JsonSerialize
    private Integer mid;
    @ApiModelProperty(value = "报检单编号")
    @JsonSerialize
    private String inspectionId;
    @ApiModelProperty(value = "完成情况 1:待认领;2:待分配;3:已分配;4:超期待分配;5:已完成;0:已作废")
    @JsonSerialize
    private Integer state;
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "登记日期", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @ApiModelProperty(value = "试验负责人")
    @JsonSerialize
    private String  name;
    @ApiModelProperty(value = "样品名称")
    @JsonSerialize
    private String materialName;
    @ApiModelProperty(value = "规格型号")
    @JsonSerialize
    private String specificationsSerialNumber;
    @ApiModelProperty(value = "物料编号")
    @JsonSerialize
    private String materialId;
    @ApiModelProperty(value = "来源")
    @JsonSerialize
    private String materialSupplier;
    @ApiModelProperty(value = "项目试验开始日期", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @ApiModelProperty(value = "项目试验结束日期", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    @ApiModelProperty(value = "试验结论")
    @JsonSerialize
    private String results;
    @ApiModelProperty(value = "对象位置")
    @JsonSerialize
    private String materialLocation;
    @ApiModelProperty(value = "检测策略")
    @JsonSerialize
    private String method;
    @ApiModelProperty(value = "批次")
    @JsonSerialize
    private String materialBatch;
    @ApiModelProperty(value = "盘号")
    @JsonSerialize
    private String materialReelNumber;
    @ApiModelProperty(value = "样品数量")
    @JsonSerialize
    private String materialNum;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionMaterialListService.java
@@ -29,14 +29,14 @@
     * @param userId
     * @return
     */
    InspectionMaterialList addInspectionMaterialList(InspectionMaterialList inspectionMaterialList,String userId);
    void addInspectionMaterialList(InspectionMaterialList inspectionMaterialList,String userId);
    /**
     * æ ¹æ®æ£€éªŒæ ·å“id删除样品信息
     * @param inspectionMaterialListId
     * @return
     */
    boolean delInspectionMaterialListByInsId(int inspectionMaterialListId);
    void delInspectionMaterialListByInsId(int inspectionMaterialListId);
    /**
     *根据样品id修改样品信息
@@ -44,5 +44,5 @@
     * @param inspectionMaterialList
     * @return
     */
    boolean updateInspectionMaterialList( Integer inspectionMaterialListId,InspectionMaterialList inspectionMaterialList);
    void updateInspectionMaterialList( Integer inspectionMaterialListId,InspectionMaterialList inspectionMaterialList);
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/InspectionProductListService.java
@@ -3,6 +3,7 @@
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.limslaboratory.pojo.Product;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import java.util.List;
@@ -17,11 +18,14 @@
public interface InspectionProductListService extends IService<InspectionProductList> {
    /**
     * æ ¹æ®æ£€éªŒæ ·å“id删除样品里的检验项目
     * @param inspectionMaterialListId
     * æ ¹æ®æ ·å“id查询检验计划样品里面的检验项目
     * @param id
     * @return
     */
    int delInspectionProductList(int inspectionMaterialListId);
    List<InspectionProductListDto> selectProductById(Integer id);
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java
@@ -3,7 +3,10 @@
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import com.yuanchu.limslaboratory.pojo.dto.PlanDto;
import com.yuanchu.limslaboratory.pojo.vo.PlanVo;
import java.util.List;
import java.util.Map;
@@ -24,7 +27,7 @@
     * @param state
     * @return
     */
    Map selectAllPlan(int pageSize, int countSize, Integer state);
    List<PlanVo> selectAllPlan(int pageSize, int countSize, Integer state);
    /**
     * æ ¹æ®è®¡åˆ’id作废检验计划
@@ -33,18 +36,13 @@
     */
    boolean delPlan(Integer id);
    /**
     * æ ¹æ®æ ·å“id查询检验计划里面检验项目
     * @param id
     * @return
     */
    List<InspectionProductList> selectProductById(Integer id);
    /**
     * ç»™æ£€éªŒè®¡åˆ’中的检验项目分配试验员,设备,以及日期
     * @param inspectionProductList
     */
    void upPlan(InspectionProductList inspectionProductList);
    void upPlan(InspectionProductListDto inspectionProductListDto);
    /**
     * æŸ¥è¯¢æˆå“æ£€éªŒ
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionMaterialListServiceImpl.java
@@ -3,14 +3,12 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper;
import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper;
import com.yuanchu.limslaboratory.mapper.PlanMapper;
import com.yuanchu.limslaboratory.mapper.ProductMapper;
import com.yuanchu.limslaboratory.mapper.*;
import com.yuanchu.limslaboratory.pojo.*;
import com.yuanchu.limslaboratory.service.InspectionMaterialListService;
import com.yuanchu.limslaboratory.service.InspectionProductListService;
import com.yuanchu.limslaboratory.service.PlanService;
import com.yuanchu.limslaboratory.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -39,8 +37,6 @@
    @Resource
    InspectionProductListService inspectionProductListService;
    @Resource
    InspectionProductListMapper inspectionProductListMapper;
    //查询检验单里面的物料信息
    @Override
@@ -51,8 +47,8 @@
    //添加检验单中的检验样品
    @Override
    @Transactional(rollbackFor = Exception.class)
    public InspectionMaterialList addInspectionMaterialList(InspectionMaterialList inspectionMaterialList,String userId) {
        int judge = inspectionMaterialListMapper.insert(inspectionMaterialList);
    public void addInspectionMaterialList(InspectionMaterialList inspectionMaterialList, String userId) {
           inspectionMaterialListMapper.insert(inspectionMaterialList);
        List<Product> list = productMapper.selectProductByMaterialId(inspectionMaterialList.getMaterialId());
        List<InspectionProductList> list1 = new ArrayList<>();
        list.forEach(a-> {
@@ -68,31 +64,30 @@
            list1.add(inspectionProductList);
        });
        //添加检验项目
        int judge2 = inspectionProductListMapper.addInspectionProductList(list1);
        return judge>0&&judge2>0?inspectionMaterialList:null;
            inspectionProductListService.saveBatch(list1);
    }
    //根据样品id删除检验样品
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean delInspectionMaterialListByInsId(int inspectionMaterialListId) {
    public void delInspectionMaterialListByInsId(int inspectionMaterialListId) {
        //删除检验样品
        InspectionMaterialList list = new InspectionMaterialList();
        list.setState(0);
        list.setId(inspectionMaterialListId);
        int judge1 = inspectionMaterialListMapper.updateById(list);
        inspectionMaterialListMapper.updateById(list);
        //根据样品id删除检验样品中的检验项目
        int judge2 = inspectionProductListService.delInspectionProductList(inspectionMaterialListId);
        return judge1>0&&judge2>0;
        UpdateWrapper<InspectionProductList> wrapper = new UpdateWrapper<>();
        wrapper.eq("inspection_material_list_id", inspectionMaterialListId).set("state", 0);
        inspectionProductListService.update(new InspectionProductList(), wrapper);
    }
    //根据样品id修改样品信息
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateInspectionMaterialList( Integer inspectionMaterialListId,InspectionMaterialList inspectionMaterialList) {
    public void updateInspectionMaterialList(Integer inspectionMaterialListId, InspectionMaterialList inspectionMaterialList) {
        LambdaUpdateWrapper<InspectionMaterialList> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(InspectionMaterialList::getId,inspectionMaterialListId);
        int judge = inspectionMaterialListMapper.update(inspectionMaterialList, updateWrapper);
        return judge>0;
        inspectionMaterialListMapper.update(inspectionMaterialList, updateWrapper);
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionProductListServiceImpl.java
@@ -1,9 +1,11 @@
package com.yuanchu.limslaboratory.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper;
import com.yuanchu.limslaboratory.pojo.Product;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import com.yuanchu.limslaboratory.service.InspectionProductListService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@@ -27,11 +29,11 @@
    //根据检验样品id删除样品里的检验项目
    //根据样品id查询检验计划样品里面的检验项目
    @Override
    public int delInspectionProductList(int inspectionMaterialListId) {
        UpdateWrapper<InspectionProductList> wrapper = new UpdateWrapper<>();
        wrapper.eq("inspectionMaterialListId", inspectionMaterialListId).set("state", 0);
        return inspectionProductListMapper.update(new InspectionProductList(),wrapper);
    public List<InspectionProductListDto> selectProductById(Integer id) {
        return inspectionProductListMapper.selectByMaterId(id);
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
@@ -3,16 +3,20 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper;
import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper;
import com.yuanchu.limslaboratory.mapper.PlanMapper;
import com.yuanchu.limslaboratory.pojo.Inspection;
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.pojo.InspectionMaterialList;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.yuanchu.limslaboratory.pojo.dto.InspectionDto;
import com.yuanchu.limslaboratory.service.InspectionProductListService;
import com.yuanchu.limslaboratory.service.InspectionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@@ -36,6 +40,9 @@
    @Resource
    InspectionMaterialListMapper inspectionMaterialListMapper;
    @Resource
    InspectionProductListMapper inspectionProductListMapper;
    //添加检验申请单
    @Override
    public Inspection addInspection(String userName,int type) {
@@ -57,11 +64,18 @@
        Inspection inspection = inspectionMapper.selectById(inspectionId);
        inspection.setState(0);
        int judge1 = inspectionMapper.updateById(inspection);
        //检验计划作废
        UpdateWrapper<Plan> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("inspection_id", inspectionId).set("state", 0);
        planMapper.update(new Plan(),updateWrapper );
        //检验样品作废(根据报检单id删除样品信息)
        UpdateWrapper<InspectionMaterialList> wrapper = new UpdateWrapper<>();
        wrapper.eq("inspection_id", inspectionId).set("state", 0);
        int judge2 = inspectionMaterialListMapper.update(new InspectionMaterialList(),wrapper);
        UpdateWrapper<InspectionMaterialList> wrapper1 = new UpdateWrapper<>();
        wrapper1.eq("inspection_id", inspectionId).set("state", 0);
        int judge2 = inspectionMaterialListMapper.update(new InspectionMaterialList(), wrapper1);
        return judge1>0&&judge2>0;
        //检验样品中的检验项目作废
        //查出检验样品id
    }
    //提交申请检验单
@@ -72,7 +86,7 @@
        inspection.setState(2);
        int judge = inspectionMapper.updateById(inspection);
        //计划表新增
        Plan plan = Plan.builder().inspectionId(inspectionId).state(1).build();
        Plan plan = Plan.builder().inspectionId(inspectionId).state(1).userId(inspection.getInspectUserId()).createTime(new Date()).build();
        planMapper.insert(plan);
        return judge>0;
    }
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
@@ -1,21 +1,25 @@
package com.yuanchu.limslaboratory.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper;
import com.yuanchu.limslaboratory.mapper.InspectionProductListMapper;
import com.yuanchu.limslaboratory.pojo.InspectionMaterialList;
import com.yuanchu.limslaboratory.pojo.InspectionProductList;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.yuanchu.limslaboratory.mapper.PlanMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.limslaboratory.mapper.*;
import com.yuanchu.limslaboratory.pojo.*;
import com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto;
import com.yuanchu.limslaboratory.pojo.dto.PlanDto;
import com.yuanchu.limslaboratory.pojo.vo.PlanVo;
import com.yuanchu.limslaboratory.service.PlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -34,9 +38,18 @@
    @Resource
    InspectionProductListMapper inspectionProductListMapper;
    @Resource
    InspectionMaterialListMapper inspectionMaterialListMapper;
    @Resource
    UserMapper userMapper;
    @Resource
    InstrumentMapper instrumentMapper;
    //查询所有检验计划分配
    @Override
    public Map selectAllPlan(int pageSize, int countSize, Integer state) {
    public List<PlanVo> selectAllPlan(int pageSize, int countSize, Integer state) {
        if (state == null) {
            state = 2;
        }
@@ -53,19 +66,39 @@
        return judge > 0;
    }
    //根据样品id查询检验计划里面的检验项目
    //修改(分配)检验计划里分配计划的信息
    @Override
    public List<InspectionProductList> selectProductById(Integer id) {
        return inspectionProductListMapper.selectByMaterId(id);
    }
    public void upPlan(InspectionProductListDto inspectionProductListDto) {
        /*更新计划表中的状态(3:已分配),更新时间*/
        //查询报检单id
        InspectionMaterialList inspectionMaterialList = inspectionMaterialListMapper.selectById(inspectionProductListDto.getInspectionMaterialListId());
        LambdaQueryWrapper<Plan> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Plan::getInspectionId, inspectionMaterialList.getInspectionId());
        Plan plan = planMapper.selectOne(queryWrapper);
        plan.setState(3).setUpdateTime(new Date());
        //根据报检单id进行更新计划表
        LambdaUpdateWrapper<Plan> updateWrapper1 = new LambdaUpdateWrapper<>();
        updateWrapper1.eq(Plan::getInspectionId, plan.getInspectionId());
        planMapper.update(plan, updateWrapper1);
    //修改检验计划里分配计划的信息
    @Override
    public void upPlan(InspectionProductList inspectionProductList) {
        LambdaUpdateWrapper<InspectionProductList> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(InspectionProductList::getInspectionMaterialListId, inspectionProductList.getInspectionMaterialListId())
                .eq(InspectionProductList::getMethod, inspectionProductList.getMethod());
        inspectionProductListMapper.update(inspectionProductList, updateWrapper);
        /*更新检验项目表中的项目检验开始日期,项目检验结束日期,项目试验员,试验要求,更新时间,设备id*/
        InspectionProductList inspectionProductList = new InspectionProductList();
        //复制之后,inspectionProductList里面有项目检验开始、结束日期,项目名称,试验方法,试验要求,单位,
        BeanUtils.copyProperties(inspectionProductListDto, inspectionProductList);
        //根据设备名获取设备id
        LambdaQueryWrapper<Instrument> wrapper1 = new LambdaQueryWrapper<>();
        wrapper1.eq(Instrument::getEquipmentName, inspectionProductListDto.getInstrumentName());
        Instrument instrument = instrumentMapper.selectOne(wrapper1);
        //根据用户名获取用户id
        LambdaQueryWrapper<User> wrapper2 = new LambdaQueryWrapper<>();
        wrapper2.eq(User::getName, inspectionProductListDto.getUserName());
        User user = userMapper.selectOne(wrapper2);
        inspectionProductList.setUpdateTime(new Date()).setUserId(user.getId()).setInstrumentId(instrument.getId());
        //根据报检样品id和项目名称进行更新检验项目表
        LambdaUpdateWrapper<InspectionProductList> updateWrapper2 = new LambdaUpdateWrapper<>();
        updateWrapper2.eq(InspectionProductList::getInspectionMaterialListId, inspectionProductList.getInspectionMaterialListId())
                .eq(InspectionProductList::getName, inspectionProductList.getName());
        inspectionProductListMapper.update(inspectionProductList, updateWrapper2);
    }
    //查询成品检验
inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml
@@ -1,19 +1,12 @@
<?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.InspectionProductListMapper">
    <insert id="addInspectionProductList">
        INSERT INTO inspection_product_list (name, method, ask, unit, required, internal, create_time,
        update_time,inspection_material_list_id, user_id) VALUES
        <foreach collection="list" separator="," item="i">
            (#{i.name}, #{i.method}, #{i.ask}, #{i.unit}, #{i.required}, #{i.internal}, #{i.createTime},
            #{i.updateTime}, #{i.inspectionMaterialListId},
            #{i.userId})
        </foreach>
    </insert>
    <select id="selectByMaterId" resultType="com.yuanchu.limslaboratory.pojo.InspectionProductList">
        select id,
               name,
    <select id="selectByMaterId" resultType="com.yuanchu.limslaboratory.pojo.dto.InspectionProductListDto">
        select inspection_material_list_id,
               inspect_start_time inspectStartTime,
               inspect_end_time   inspectEndTime,
               ipl.name,
               method,
               ask,
               unit,
@@ -21,14 +14,13 @@
               internal,
               start_time,
               end_time,
               state,
               create_time,
               update_time,
               version,
               inspection_material_list_id,
               user_id,
               instrument_id
        from lims_laboratory.inspection_product_list
               user.name          userName,
               equipment_name     instrumentName
        from lims_laboratory.inspection_product_list ipl
                 join lims_laboratory.inspection_material_list iml on iml.id = ipl.inspection_material_list_id
                 join lims_laboratory.inspection i on i.id = iml.inspection_id
                 join lims_laboratory.user on ipl.user_id = user.id
                 join lims_laboratory.instrument on ipl.instrument_id = instrument.id
        where inspection_material_list_id = #{id}
    </select>
</mapper>
inspection-server/src/main/resources/mapper/PlanMapper.xml
@@ -1,12 +1,45 @@
<?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.PlanMapper">
    <select id="selectAllPlan" resultType="Map">
        select p.id,results,p.state,p.create_time,p.inspection_id,user_id,results,type,user_name
        from lims_laboratory.plan p left join lims_laboratory.inspection i
        on i.id=p.inspection_id
    <select id="selectAllPlan" resultType="com.yuanchu.limslaboratory.pojo.vo.PlanVo">
        select mid ,
        p.inspection_id ,
        state ,
        create_time ,
        name ,
        material_name ,
        specifications_serial_number ,
        material_id ,
        material_supplier ,
        start_time ,
        end_time ,
        results ,
        material_location ,
        method ,
        material_batch ,
        material_reel_number ,
        material_num
        from (select plan.user_id, plan.state, plan.create_time, plan.results, plan.inspection_id, name
        from lims_laboratory.plan
        join lims_laboratory.user u on plan.user_id = u.id) p
        left join (select iml.id mid,
        iml.specifications_serial_number,
        iml.material_id,
        iml.material_supplier,
        ipl.start_time,
        ipl.end_time,
        iml.material_location,
        iml.material_name,
        ipl.method,
        iml.material_batch,
        iml.material_reel_number,
        iml.material_num,
        iml.inspection_id
        from lims_laboratory.inspection_material_list iml
        left join lims_laboratory.inspection_product_list ipl on iml.id = ipl.inspection_material_list_id) il
        on p.inspection_id = il.inspection_id
        <if test="state!=null">
            where p.state = #{state}
            where state = #{state}
        </if>
        order by p.create_time desc
        limit #{pageSize},#{countSize}
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/InstrumentMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.Instrument;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
import java.util.Objects;
@@ -16,6 +17,7 @@
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-20
 */
@Mapper
public interface InstrumentMapper extends BaseMapper<Instrument> {
    IPage<Map<String, Object>> getListInstrumentInformation(Integer conditions,Boolean whetherWhether, String numberOrNameOrSpecifications, Integer classifyId, Page<Objects> page);
standard-server/src/main/java/com/yuanchu/limslaboratory/mapper/MaterialMapper.java
@@ -17,7 +17,7 @@
public interface MaterialMapper extends BaseMapper<Material> {
    //查询物料信息
    List<Material> selectMaterialLimit(int num1,int num2);
    List<Map> selectMaterialLimit(int num1,int num2);
    //根据物料id查询物料信息
    Map selectMaterialById(String materialId);
standard-server/src/main/java/com/yuanchu/limslaboratory/service/MaterialService.java
@@ -22,7 +22,7 @@
     * @param countSize
     * @return
     */
    List<Material> selectMaterialLimit(int pageSize,int countSize);
    List<Map> selectMaterialLimit(int pageSize,int countSize);
    Integer addMaterialInformation(Material material);
@@ -55,7 +55,7 @@
    List<String> specificationsIdDeleteMaterial(List<Integer> deleteSpecificationsId);
    /**
     * æ ¹æ®ç‰©æ–™id查询物流
     * æ ¹æ®ç‰©æ–™id查询物料
     * @param materialId
     * @return
     */
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java
@@ -37,7 +37,7 @@
    //查询物料信息
    @Override
    public List<Material> selectMaterialLimit(int pageSize, int countSize) {
    public List<Map> selectMaterialLimit(int pageSize, int countSize) {
        return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize);
    }
standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -2,14 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.limslaboratory.mapper.MaterialMapper">
    <select id="selectMaterialLimit" resultType="com.yuanchu.limslaboratory.pojo.Material">
    <select id="selectMaterialLimit" resultType="Map">
        select id, name
        from material
        from lims_laboratory.material
        where state = 1
        order by create_time desc
        limit #{num1},#{num2}
    </select>
    <select id="selectMaterialById" resultType="java.util.Map">
    <select id="selectMaterialById" resultType="Map">
        select m.id,
               m.num,
               m.supplier,
@@ -22,10 +22,11 @@
               s.cross_section              crossSection,
               s.number_of_cores            numberOfCores,
               s.instruct
        from material m,
             specifications s,
             serial_number sn
        from lims_laboratory.material m,
             lims_laboratory.specifications s,
             lims_laboratory.serial_number sn
        where m.specifications_id = s.id
          and s.serial_id = sn.id
        and m.id=#{materialId}
    </select>
</mapper>