From 02dab566014a28bbcd6b2a2004a857562101e459 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期五, 26 四月 2024 09:11:09 +0800 Subject: [PATCH] 检验项目绑定产品;检验对象绑定产品 --- cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java | 59 +++++++++ cnas-server/src/main/java/com/yuanchu/mom/dto/ProductDto.java | 11 + cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java | 12 - cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml | 14 ++ cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java | 18 +++ cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java | 3 cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java | 12 + cnas-server/src/main/resources/mapper/ProductMapper.xml | 23 +++ cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureTestObject.java | 12 - cnas-server/src/main/java/com/yuanchu/mom/service/CapacityScopeService.java | 3 cnas-server/src/main/java/com/yuanchu/mom/pojo/Product.java | 61 ++++++++++ cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java | 41 ++++++ cnas-server/src/main/java/com/yuanchu/mom/dto/TestItemDto.java | 16 ++ cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java | 5 cnas-server/src/main/resources/mapper/StructureTestMapper.xml | 7 + cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java | 24 ++++ 16 files changed, 304 insertions(+), 17 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java index 9b01b9d..6e1b9ee 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java +++ b/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()); + } + } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java index f613fb7..f6fb326 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/dto/PageTestObjectDto.java +++ b/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; diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/ProductDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/ProductDto.java new file mode 100644 index 0000000..0d0625e --- /dev/null +++ b/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; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/TestItemDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/TestItemDto.java new file mode 100644 index 0000000..3ae87b0 --- /dev/null +++ b/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; + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java new file mode 100644 index 0000000..964c610 --- /dev/null +++ b/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 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-04-26 01:11:02 +* @Entity com.yuanchu.mom.pojo.Product +*/ +public interface ProductMapper extends BaseMapper<Product> { + +} + + + + diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java index 1132eab..03aa210 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureItemParameterMapper.java +++ b/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(); } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Product.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Product.java new file mode 100644 index 0000000..1823052 --- /dev/null +++ b/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 = "鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + + @ApiModelProperty(value = "淇敼浜篿d") + @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; + + /** + * 澶栭敭锛歴tructure_test_object琛╥d + */ + private Integer objectId; +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java index 4ce5560..8386d6c 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java +++ b/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; diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureTestObject.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureTestObject.java index c85ec7c..6a6859a 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureTestObject.java +++ b/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 = "妫�楠屽璞�") diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/CapacityScopeService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/CapacityScopeService.java index 8c364a5..d43ed02 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/CapacityScopeService.java +++ b/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(); } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java new file mode 100644 index 0000000..a654735 --- /dev/null +++ b/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 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @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); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java index 7a0f451..f98ca4b 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java +++ b/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(); + } } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java new file mode 100644 index 0000000..07fa0b5 --- /dev/null +++ b/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 閽堝琛ㄣ�恜roduct(浜у搧琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @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); + } +} + + + + diff --git a/cnas-server/src/main/resources/mapper/ProductMapper.xml b/cnas-server/src/main/resources/mapper/ProductMapper.xml new file mode 100644 index 0000000..01d9a65 --- /dev/null +++ b/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> diff --git a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml index 428ec1f..6062487 100644 --- a/cnas-server/src/main/resources/mapper/StructureItemParameterMapper.xml +++ b/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> diff --git a/cnas-server/src/main/resources/mapper/StructureTestMapper.xml b/cnas-server/src/main/resources/mapper/StructureTestMapper.xml index 35ccaa1..1dac2c9 100644 --- a/cnas-server/src/main/resources/mapper/StructureTestMapper.xml +++ b/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} -- Gitblit v1.9.3