XiaoRuby
2023-07-25 f04c1a5a967679b9984926af72be8a3d3f26c2bb
Merge remote-tracking branch 'origin/master'

# Conflicts:
# inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/InspectionDto.java
# inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
# inspection-server/src/main/resources/mapper/InspectionMapper.xml
已修改11个文件
已添加1个文件
199 ■■■■ 文件已修改
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/PlanMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Plan.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/PlanDto.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionMaterialListServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/PlanMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionMaterialListController.java
@@ -21,7 +21,7 @@
/**
 * <p>
 *  å‰ç«¯æŽ§åˆ¶å™¨
 * å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
@@ -41,7 +41,7 @@
        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")));
        return Result.success(inspectionMaterialListService.addInspectionMaterialList(inspectionMaterialList, "" + unmarshal.get("id")));
    }
    @ApiOperation("删除样品")
@@ -57,8 +57,8 @@
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
    })
    @PostMapping("/selectInspectionMaterialListById")
    public Result selectInspectionMaterialListById(int inspectionMaterialListId) throws Exception {
    @PutMapping("/selectInspectionMaterialListById/{inspectionMaterialListId}")
    public Result selectInspectionMaterialListById(@PathVariable Integer inspectionMaterialListId) {
        return Result.success(inspectionMaterialListService.getById(inspectionMaterialListId));
    }
@@ -67,8 +67,8 @@
            @ApiImplicitParam(name = "inspectionMaterialListId", value = "样品ID", dataTypeClass = Integer.class, required = true),
    })
    @PutMapping("/updateInspectionMaterialList/{inspectionMaterialListId}")
    public Result updateInspectionMaterialList(@PathVariable Integer inspectionMaterialListId, @RequestBody InspectionMaterialList inspectionMaterialList) throws Exception {
        return Result.success(inspectionMaterialListService.updateInspectionMaterialList(inspectionMaterialListId,inspectionMaterialList));
    public Result updateInspectionMaterialList(@PathVariable Integer inspectionMaterialListId, @RequestBody InspectionMaterialList inspectionMaterialList) {
        return Result.success(inspectionMaterialListService.updateInspectionMaterialList(inspectionMaterialListId, inspectionMaterialList));
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
@@ -1,9 +1,16 @@
package com.yuanchu.limslaboratory.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.yuanchu.limslaboratory.pojo.Plan;
import com.yuanchu.limslaboratory.service.PlanService;
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.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
 * <p>
@@ -13,8 +20,40 @@
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-07-17
 */
@Api(tags = "检验模块")
@RestController
@RequestMapping("/plan")
public class PlanController {
    @Resource
    private PlanService planService;
    @ApiOperation("查询所有检验计划表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "state", value = "状态(为空=待分配)", dataTypeClass = Integer.class)
    })
    @GetMapping("/selectAllPlan")
    public Result selectAllPlan(int pageSize, int countSize, Integer state) {
        return Result.success(planService.selectAllPlan(pageSize, countSize, state));
    }
    @ApiOperation("查询检验计划里面的分配信息")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "样品编号", dataTypeClass = Integer.class, required = true)
    })
    @PutMapping("/selectPlanById/{id}")
    public Result selectPlanById(@PathVariable Integer id) {
        return Result.success(planService.selectById(id));
    }
    @ApiOperation("作废检验计划")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "id", value = "检验计划ID", dataTypeClass = Integer.class, required = true),
    })
    @PostMapping("/delPlan")
    public Result delPlan(Integer id) {
        return Result.success(planService.delPlan(id));
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/InspectionProductListMapper.java
@@ -21,4 +21,6 @@
    int addInspectionProductList(List<InspectionProductList> list);
    //根据样品id查询检验项目
    List<InspectionProductList> selectByMaterId(Integer id);
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/mapper/PlanMapper.java
@@ -2,6 +2,9 @@
import com.yuanchu.limslaboratory.pojo.Plan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.limslaboratory.pojo.dto.PlanDto;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,5 @@
 */
public interface PlanMapper extends BaseMapper<Plan> {
    List<PlanDto> selectAllPlan(int pageSize, int countSize, Integer state);
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/Plan.java
@@ -4,14 +4,12 @@
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import lombok.experimental.Accessors;
/**
 * <p>
@@ -22,12 +20,17 @@
 * @since 2023-07-17
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Plan对象", description="")
public class Plan implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "计划编号")
    private Integer id;
inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/PlanDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.yuanchu.limslaboratory.pojo.dto;
import com.yuanchu.limslaboratory.pojo.Plan;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
public class PlanDto extends Plan implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "报检类型")
    private Integer type;
    @ApiModelProperty(value = "报检人")
    private String userName;
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/PlanService.java
@@ -1,7 +1,11 @@
package com.yuanchu.limslaboratory.service;
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.PlanDto;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,9 @@
 */
public interface PlanService extends IService<Plan> {
    List<PlanDto> selectAllPlan(int pageSize, int countSize, Integer state);
    boolean delPlan(Integer id);
    List<InspectionProductList> selectById(Integer id);
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionMaterialListServiceImpl.java
@@ -66,23 +66,28 @@
        return judge>0&&judge2>0?inspectionMaterialList:null;
    }
    //根据样品id删除检验样品
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean delInspectionMaterialListByInsId(int inspectionMaterialListId) {
        //删除检验样品
        InspectionMaterialList list = new InspectionMaterialList();
        list.setState(0);
        list.setId(inspectionMaterialListId);
        int judge1 = inspectionMaterialListMapper.updateById(list);
        //删除样品检验项目
        UpdateWrapper<InspectionProductList> wrapper = new UpdateWrapper<>();
        wrapper.eq("inspection_material_list_id", inspectionMaterialListId).set("state", 0);
        int judge2 = inspectionProductListMapper.update(new InspectionProductList(), wrapper);
        return judge1>0&&judge2>0;
    }
    //修改样品信息
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateInspectionMaterialList( Integer inspectionMaterialListId,InspectionMaterialList inspectionMaterialList) {
        LambdaUpdateWrapper<InspectionMaterialList> updateWrapper = new LambdaUpdateWrapper<>();
        //根据样品id查询
        updateWrapper.eq(InspectionMaterialList::getId,inspectionMaterialListId);
        int judge = inspectionMaterialListMapper.update(inspectionMaterialList, updateWrapper);
        return judge>0;
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java
@@ -1,10 +1,13 @@
package com.yuanchu.limslaboratory.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yuanchu.limslaboratory.mapper.InspectionMaterialListMapper;
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.InspectionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -29,6 +32,10 @@
    @Resource
    private InspectionMapper inspectionMapper;
    @Resource
    private PlanMapper planMapper;
    @Resource
    InspectionMaterialListMapper inspectionMaterialListMapper;
    @Override
    public Inspection addInspection(String userName,int type) {
@@ -39,6 +46,7 @@
        return judge>0?inspection:null;
    }
    //查询所有检验单列表
    @Override
    public Map selectAllInspection(int pageSize, int countSize, Integer state) {
        Map map = new HashMap();
@@ -47,23 +55,30 @@
        return map;
    }
    //作废申请检验单
    @Override
    public boolean delInspectionByInsId(String inspectionId) {
        Inspection inspection = new Inspection();
        //检验单作废
        Inspection inspection = inspectionMapper.selectById(inspectionId);
        inspection.setState(0);
        inspection.setId(inspectionId);
        int judge = inspectionMapper.updateById(inspection);
        return judge>0;
        int judge1 = inspectionMapper.updateById(inspection);
        //检验样品作废
        UpdateWrapper<InspectionMaterialList> wrapper = new UpdateWrapper<>();
        wrapper.eq("inspection_id", inspectionId).set("state", 0);
        int judge2 = inspectionMaterialListMapper.update(new InspectionMaterialList(),wrapper);
        return judge1>0&&judge2>0;
    }
    //提交申请检验单
    @Override
    public boolean subInspectionByInsId(String inspectionId) {
        Inspection inspection = new Inspection();
        Inspection inspection = inspectionMapper.selectById(inspectionId);
        //状态改为已提交2
        inspection.setState(2);
        inspection.setId(inspectionId);
        inspection.setInspectStartTime(LocalDateTime.now());
        int judge = inspectionMapper.updateById(inspection);
        //计划表新增
        Plan plan = Plan.builder().inspectionId(inspectionId).state(1).build();
        planMapper.insert(plan);
        return judge>0;
    }
}
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
@@ -1,10 +1,18 @@
package com.yuanchu.limslaboratory.service.impl;
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.yuanchu.limslaboratory.pojo.dto.PlanDto;
import com.yuanchu.limslaboratory.service.PlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -17,4 +25,34 @@
@Service
public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements PlanService {
    @Resource
    PlanMapper planMapper;
    @Resource
    InspectionMaterialListMapper inspectionMaterialListMapper;
    @Resource
    InspectionProductListMapper inspectionProductListMapper;
    //查询所有检验计划
    @Override
    public List<PlanDto> selectAllPlan(int pageSize, int countSize, Integer state) {
        return planMapper.selectAllPlan((pageSize - 1) * countSize,pageSize * countSize, state);
    }
    //作废检验计划
    @Override
    public boolean delPlan(Integer id) {
        Plan plan = planMapper.selectById(id);
        //状态改为作废0
        plan.setState(0);
        int judge = planMapper.updateById(plan);
        return judge>0;
    }
    //查询检验计划里面的分配信息
    @Override
    public List<InspectionProductList> selectById(Integer id) {
       return inspectionProductListMapper.selectByMaterId(id);
    }
}
inspection-server/src/main/resources/mapper/InspectionProductListMapper.xml
@@ -2,10 +2,18 @@
<!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
        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.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 name,method,ask,unit,required,internal, start_time, end_time, user_id, instrument_id
        from lims_laboratory.inspection_product_list
        where inspection_material_list_id = #{id}
    </select>
</mapper>
inspection-server/src/main/resources/mapper/PlanMapper.xml
@@ -1,5 +1,14 @@
<?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="com.yuanchu.limslaboratory.pojo.dto.PlanDto">
        select p.id,results,p.state,p.create_time,p.inspection_id,user_id,results,type,user_name
        from lims_laboratory.plan p right join lims_laboratory.inspection i
        on i.id=p.inspection_id
        <if test="state!=null">
            where p.state = #{state}
        </if>
        order by p.create_time desc
        limit #{pageSize},#{countSize}
    </select>
</mapper>