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}