value
2024-04-26 02dab566014a28bbcd6b2a2004a857562101e459
检验项目绑定产品;检验对象绑定产品
已修改9个文件
已添加7个文件
321 ■■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/dto/ProductDto.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/dto/TestItemDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/Product.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureTestObject.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/CapacityScopeService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/ProductMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/StructureTestMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
@@ -3,9 +3,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.dto.PageTestObjectDto;
import com.yuanchu.mom.pojo.Product;
import com.yuanchu.mom.pojo.StructureItemParameter;
import com.yuanchu.mom.pojo.StructureTestObject;
import com.yuanchu.mom.service.CapacityScopeService;
import com.yuanchu.mom.service.ProductService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
@@ -28,6 +30,8 @@
public class CapacityScopeController {
    private CapacityScopeService capacityScopeService;
    private ProductService productService;
    @ApiOperation(value = "获取项目检验参数列表")
    @PostMapping("/selectItemParameterList")
@@ -93,5 +97,42 @@
    public Result getInsProduction(){
        return Result.success(capacityScopeService.getInsProduction());
    }
    @ApiOperation(value = "维护检验对象的产品")
    @PostMapping("/selectProductListByObjectId")
    public Result selectProductListByObjectId(@RequestBody Map<String, Object> data) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        Product product = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Product.class);
        return Result.success(productService.selectProductListByObjectId(page, product));
    }
    @ApiOperation(value = "添加产品")
    @PostMapping("/addProduct")
    @ValueAuth
    public Result addProduct(@RequestBody Product product) {
        return Result.success(productService.addProduct(product));
    }
    @ApiOperation(value = "修改产品")
    @PostMapping("/upProduct")
    @ValueAuth
    public Result upProduct(@RequestBody Product product) {
        return Result.success(productService.upProduct(product));
    }
    @ApiOperation(value = "删除产品")
    @PostMapping("/delProduct")
    @ValueAuth
    public Result delProduct(Integer id) {
        return Result.success(productService.delProduct(id));
    }
    @ApiOperation(value = "获取检验对象树")
    @GetMapping("/getItemTree")
    @ValueAuth
    public Result getItemTree() {
        return Result.success(capacityScopeService.getItemTree());
    }
}
cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java
@@ -11,6 +11,11 @@
 */
@Data
public class PageTestObjectDto extends StructureTestObject {
    @ValueTableShow(2)
    @ApiModelProperty(value = "产品")
    private String product;
    @ValueTableShow(2)
    @ApiModelProperty(value = "创建人")
    private String createUserName;
cnas-server/src/main/java/com/yuanchu/mom/dto/ProductDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.yuanchu.mom.dto;
import lombok.Data;
@Data
public class ProductDto {
    private Integer id;
    private String name;
}
cnas-server/src/main/java/com/yuanchu/mom/dto/TestItemDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.yuanchu.mom.dto;
import lombok.Data;
import java.util.List;
@Data
public class TestItemDto {
    private Integer id;
    private String name;
    private List<ProductDto> children;
}
cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.yuanchu.mom.mapper;
import com.yuanchu.mom.pojo.Product;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author z1292
* @description é’ˆå¯¹è¡¨ã€product(产品表)】的数据库操作Mapper
* @createDate 2024-04-26 01:11:02
* @Entity com.yuanchu.mom.pojo.Product
*/
public interface ProductMapper extends BaseMapper<Product> {
}
cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.TestItemDto;
import com.yuanchu.mom.pojo.StructureItemParameter;
import java.util.List;
@@ -20,5 +21,7 @@
    IPage<StructureItemParameter> selectItemParameterList(Page page, QueryWrapper<StructureItemParameter> ew);
    List<Map<String, Object>> getInsProduction();
    List<TestItemDto> getItemTree();
}
cnas-server/src/main/java/com/yuanchu/mom/pojo/Product.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.annotation.ValueTableShow;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * äº§å“è¡¨
 * @TableName product
 */
@TableName(value ="product")
@Data
public class Product extends OrderBy implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * äº§å“åç§°
     */
    @ValueTableShow(value = 1,name = "产品名称")
    private String name;
    /**
     * äº§å“åç§°EN
     */
    @ValueTableShow(value = 2,name = "产品名称EN")
    private String nameEn;
    @ApiModelProperty(value = "创建人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @ApiModelProperty(value = "修改人id")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    /**
     * å¤–键:structure_test_object表id
     */
    private Integer objectId;
}
cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
@@ -1,16 +1,15 @@
package com.yuanchu.mom.pojo;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.annotation.ValueTableShow;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * æ£€éªŒé¡¹ç›®å‚æ•°(StructureItemParameter)表对象
@@ -47,13 +46,12 @@
    @ValueTableShow(3)
    @ApiModelProperty(value = "检验对象")
    private Integer sample;
    private String sample;
    @ValueTableShow(4)
    @ApiModelProperty(value = "单价(元)")
    private BigDecimal price;
    @ValueTableShow(4)
    @ApiModelProperty(value = "实验室")
    private String laboratory;
cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureTestObject.java
@@ -1,15 +1,14 @@
package com.yuanchu.mom.pojo;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.annotation.ValueTableShow;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * æ£€æµ‹å¯¹è±¡(StructureTestObject)表对象
@@ -26,10 +25,7 @@
    @ValueTableShow(1)
    @ApiModelProperty(value = "场所")
    private Integer laboratory;
    @TableField(exist = false)
    private Integer laboratory_id;
    private Integer laboratoryId;
    @ValueTableShow(1)
    @ApiModelProperty(value = "检验对象")
cnas-server/src/main/java/com/yuanchu/mom/service/CapacityScopeService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.dto.PageTestObjectDto;
import com.yuanchu.mom.dto.TestItemDto;
import com.yuanchu.mom.pojo.StructureItemParameter;
import com.yuanchu.mom.pojo.StructureTestObject;
@@ -37,5 +38,7 @@
    //设备里面选择检验项目(树形结构)
    List<Map<String, Object>> getInsProduction();
    List<TestItemDto> getItemTree();
}
cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.Product;
import java.util.Map;
/**
* @author z1292
* @description é’ˆå¯¹è¡¨ã€product(产品表)】的数据库操作Service
* @createDate 2024-04-26 01:11:02
*/
public interface ProductService extends IService<Product> {
    Map<String, Object> selectProductListByObjectId(Page page, Product product);
    int addProduct(Product product);
    int upProduct(Product product);
    int delProduct(Integer id);
}
cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java
@@ -1,11 +1,13 @@
package com.yuanchu.mom.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.PageTestObjectDto;
import com.yuanchu.mom.dto.TestItemDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.StructureItemParameterMapper;
import com.yuanchu.mom.mapper.StructureTestObjectMapper;
@@ -69,7 +71,10 @@
    @Override
    public int upItemParameter(StructureItemParameter itemParameter) {
        int i = structureItemParameterMapper.updateById(itemParameter);
        standardTreeService.reTreeBySampleType(structureTestObjectMapper.selectById(itemParameter.getSample()).getSpecimenName());
        if(itemParameter.getSample() != null){
            List<String> list = JSON.parseArray(itemParameter.getSample(), String.class);
            standardTreeService.reTreeBySampleType(list.get(0));
        }
        return i;
    }
@@ -112,5 +117,10 @@
    public List<Map<String, Object>> getInsProduction() {
        return structureItemParameterMapper.getInsProduction();
    }
    @Override
    public List<TestItemDto> getItemTree() {
        return structureItemParameterMapper.getItemTree();
    }
}
cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.mapper.ProductMapper;
import com.yuanchu.mom.pojo.Product;
import com.yuanchu.mom.service.ProductService;
import com.yuanchu.mom.utils.QueryWrappers;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* @author z1292
* @description é’ˆå¯¹è¡¨ã€product(产品表)】的数据库操作Service实现
* @createDate 2024-04-26 01:11:02
*/
@Service
@AllArgsConstructor
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product>
    implements ProductService{
    private ProductMapper productMapper;
    private GetLook getLook;
    @Override
    public Map<String, Object> selectProductListByObjectId(Page page, Product product) {
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(Product.class));
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectProductListByObjectId");
        if(map1.get("look")==1) product.setCreateUser(map1.get("userId"));
        map.put("body", productMapper.selectPage(page, QueryWrappers.queryWrappers(product)));
        return map;
    }
    @Override
    public int addProduct(Product product) {
        return productMapper.insert(product);
    }
    @Override
    public int upProduct(Product product) {
        return productMapper.updateById(product);
    }
    @Override
    public int delProduct(Integer id) {
        return productMapper.deleteById(id);
    }
}
cnas-server/src/main/resources/mapper/ProductMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
<?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.mom.mapper.ProductMapper">
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.Product">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="name" column="name" jdbcType="VARCHAR"/>
            <result property="nameEn" column="name_en" jdbcType="VARCHAR"/>
            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
            <result property="objectId" column="object_id" jdbcType="INTEGER"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,name,name_en,
        create_user,update_user,create_time,
        update_time,object_id
    </sql>
</mapper>
cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -54,4 +54,18 @@
            else inspection_item_subclass end  as subclass
        from structure_item_parameter
    </select>
    <select id="getItemTree" resultMap="itemDto">
        select sto.id sId,sto.specimen_name sName,p.id pId,p.name pName from structure_test_object sto
        left join product p on p.object_id = sto.id
    </select>
    <resultMap id="itemDto" type="com.yuanchu.mom.dto.TestItemDto">
        <result column="sId" property="id"/>
        <result column="sName" property="name"/>
        <collection property="children" resultMap="productDto"/>
    </resultMap>
    <resultMap id="productDto" type="com.yuanchu.mom.dto.ProductDto">
        <result column="pId" property="id"/>
        <result column="pName" property="name"/>
    </resultMap>
</mapper>
cnas-server/src/main/resources/mapper/StructureTestMapper.xml
@@ -11,10 +11,15 @@
        u1.name create_user_name,
        sto.create_time,
        u2.name update_user_name,
        sto.update_time
        sto.update_time,
        sto.code,
        sto.laboratory_id,
        GROUP_CONCAT(p.name) product
        from structure_test_object sto
        left join user u1 on sto.create_user = u1.id
        left join user u2 on sto.update_user = u2.id
        left join product p on p.object_id = sto.id
        group by sto.id
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}