Browse Source

造价管理第一次文件上传

dev
zhouhaibin 12 months ago
parent
commit
8e6071330e
  1. 21
      pom.xml
  2. 4
      ruoyi-admin/pom.xml
  3. 32
      ruoyi-common/guoyan-common-elasticsearch/pom.xml
  4. 209
      ruoyi-common/guoyan-common-elasticsearch/src/main/java/org/dromara/common/elasticsearch/config/ElasticSearchConfig.java
  5. 147
      ruoyi-common/guoyan-common-elasticsearch/src/main/java/org/dromara/common/elasticsearch/entity/SupplierProductsDTO.java
  6. 1
      ruoyi-common/pom.xml
  7. 7
      ruoyi-common/ruoyi-common-bom/pom.xml
  8. 231
      ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/EasyExcelUtils.java
  9. 108
      ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelColumnMergeHandler.java
  10. 87
      ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelRowMergeHandler.java
  11. 22
      zaojiaManagement/pom.xml
  12. 81
      zaojiaManagement/zaojia-productManagement/pom.xml
  13. 122
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/CmgCostItemDetailController.java
  14. 148
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/CmgCostTableController.java
  15. 140
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgCompanyProductModelController.java
  16. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgCompanyProductModelDetailsController.java
  17. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgCompanyProductsController.java
  18. 141
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgPersonProductModelController.java
  19. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgPersonProductModelDetailsController.java
  20. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgPersonProductsController.java
  21. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierInformationController.java
  22. 140
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierProductModelController.java
  23. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierProductModelDetailsController.java
  24. 107
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierProductsController.java
  25. 108
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/CmgCostItemDetail.java
  26. 61
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/CmgCostTable.java
  27. 58
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgCompanyProductModel.java
  28. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgCompanyProductModelDetails.java
  29. 118
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgCompanyProducts.java
  30. 58
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgPersonProductModel.java
  31. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgPersonProductModelDetails.java
  32. 119
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgPersonProducts.java
  33. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierInformation.java
  34. 58
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierProductModel.java
  35. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierProductModelDetails.java
  36. 119
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierProducts.java
  37. 97
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/CmgCostItemDetailBo.java
  38. 51
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/CmgCostTableBo.java
  39. 46
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgCompanyProductModelBo.java
  40. 58
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgCompanyProductModelDetailsBo.java
  41. 109
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgCompanyProductsBo.java
  42. 46
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgPersonProductModelBo.java
  43. 58
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgPersonProductModelDetailsBo.java
  44. 108
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgPersonProductsBo.java
  45. 59
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierInformationBo.java
  46. 46
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierProductModelBo.java
  47. 58
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierProductModelDetailsBo.java
  48. 101
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierProductsBo.java
  49. 52
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ProductModelViewBo.java
  50. 89
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ProductsBo.java
  51. 117
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/CmgCostItemDetailVo.java
  52. 59
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/CmgCostTableVo.java
  53. 21
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/CostDetailViewVo.java
  54. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgCompanyProductModelDetailsVo.java
  55. 56
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgCompanyProductModelVo.java
  56. 124
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgCompanyProductsVo.java
  57. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgPersonProductModelDetailsVo.java
  58. 56
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgPersonProductModelVo.java
  59. 129
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgPersonProductsVo.java
  60. 69
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierInformationVo.java
  61. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierProductModelDetailsVo.java
  62. 56
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierProductModelVo.java
  63. 119
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierProductsVo.java
  64. 93
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ProductsVo.java
  65. 25
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/CmgCostItemDetailMapper.java
  66. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/CmgCostTableMapper.java
  67. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgCompanyProductModelDetailsMapper.java
  68. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgCompanyProductModelMapper.java
  69. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgCompanyProductsMapper.java
  70. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgPersonProductModelDetailsMapper.java
  71. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgPersonProductModelMapper.java
  72. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgPersonProductsMapper.java
  73. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierInformationMapper.java
  74. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierProductModelDetailsMapper.java
  75. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierProductModelMapper.java
  76. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierProductsMapper.java
  77. 79
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/ICmgCostItemDetailService.java
  78. 79
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/ICmgCostTableService.java
  79. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgCompanyProductModelDetailsService.java
  80. 91
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgCompanyProductModelService.java
  81. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgCompanyProductsService.java
  82. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgPersonProductModelDetailsService.java
  83. 92
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgPersonProductModelService.java
  84. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgPersonProductsService.java
  85. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierInformationService.java
  86. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierProductModelDetailsService.java
  87. 91
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierProductModelService.java
  88. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierProductsService.java
  89. 211
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/CmgCostItemDetailServiceImpl.java
  90. 310
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/CmgCostTableServiceImpl.java
  91. 133
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductModelDetailsServiceImpl.java
  92. 196
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductModelServiceImpl.java
  93. 170
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductsServiceImpl.java
  94. 133
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductModelDetailsServiceImpl.java
  95. 197
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductModelServiceImpl.java
  96. 171
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductsServiceImpl.java
  97. 133
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierInformationServiceImpl.java
  98. 133
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductModelDetailsServiceImpl.java
  99. 196
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductModelServiceImpl.java
  100. 241
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductsServiceImpl.java

21
pom.xml

@ -52,6 +52,8 @@
<fastjson.version>1.2.83</fastjson.version>
<!--工作流配置-->
<flowable.version>7.0.0</flowable.version>
<!-- Elasticsearch 依赖 -->
<elasticsearch.version>7.10.2</elasticsearch.version>
<!-- 插件版本 -->
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
@ -338,7 +340,16 @@
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-system</artifactId>
@ -369,7 +380,12 @@
<artifactId>ruoyi-workflow</artifactId>
<version>${revision}</version>
</dependency>
<!-- 造价管理模块 -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>zaojia-productManagement</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>
@ -378,6 +394,7 @@
<module>ruoyi-common</module>
<module>ruoyi-extend</module>
<module>ruoyi-modules</module>
<module>zaojiaManagement</module>
</modules>
<packaging>pom</packaging>

4
ruoyi-admin/pom.xml

@ -97,6 +97,10 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>zaojia-productManagement</artifactId>
</dependency>
<!-- skywalking 整合 logback -->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->

32
ruoyi-common/guoyan-common-elasticsearch/pom.xml

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>guoyan-common-elasticsearch</artifactId>
<description>
guoyan-common-elasticsearch elasticsearch模块
</description>
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
<!-- 序列化模块 -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-json</artifactId>
</dependency>
</dependencies>
</project>

209
ruoyi-common/guoyan-common-elasticsearch/src/main/java/org/dromara/common/elasticsearch/config/ElasticSearchConfig.java

@ -0,0 +1,209 @@
package org.dromara.common.elasticsearch.config;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
/**
* ElasticSearch 配置
*
* @author wqliu
* @date 2024-02-21
*/
@Configuration
public class ElasticSearchConfig {
@Value("${elasticsearch.uris}")
private String hosts;
@Value("${elasticsearch.username}")
private String userName;
@Value("${elasticsearch.password}")
private String password;
/**
* es 请求方式
*/
@Value("${elasticsearch.scheme}")
private String scheme;
/**
* es 连接超时时间
*/
@Value("${elasticsearch.connectTimeOut}")
private int connectTimeOut;
/**
* es socket 连接超时时间
*/
@Value("${elasticsearch.socketTimeOut}")
private int socketTimeOut;
/**
* es 请求超时时间
*/
@Value("${elasticsearch.connectionRequestTimeOut}")
private int connectionRequestTimeOut;
/**
* es 最大连接数
*/
@Value("${elasticsearch.maxConnectNum}")
private int maxConnectNum;
/**
* es 每个路由的最大连接数
*/
@Value("${elasticsearch.maxConnectNumPerRoute}")
private int maxConnectNumPerRoute;
/**
* 如果@Bean没有指定bean的名称那么方法名就是bean的名称
*/
@Bean
public RestHighLevelClient restHighLevelClient() {
// 构建连接对象
RestClientBuilder builder = RestClient.builder(getEsHost());
// 连接延时配置
builder.setRequestConfigCallback(requestConfigBuilder -> {
requestConfigBuilder.setConnectTimeout(connectTimeOut);
requestConfigBuilder.setSocketTimeout(socketTimeOut);
requestConfigBuilder.setConnectionRequestTimeout(connectionRequestTimeOut);
return requestConfigBuilder;
});
// 连接数配置
builder.setHttpClientConfigCallback(httpClientBuilder -> {
httpClientBuilder.setMaxConnTotal(maxConnectNum);
httpClientBuilder.setMaxConnPerRoute(maxConnectNumPerRoute);
httpClientBuilder.setDefaultCredentialsProvider(getCredentialsProvider());
return httpClientBuilder;
});
return new RestHighLevelClient(builder);
}
private HttpHost[] getEsHost() {
// 拆分地址(es为多节点时,不同host以逗号间隔)
List<HttpHost> hostLists = new ArrayList<>();
String[] hostList = hosts.split(",");
for (String addr : hostList) {
String host = addr.split(":")[0];
String port = addr.split(":")[1];
hostLists.add(new HttpHost(host, Integer.parseInt(port), scheme));
}
// 转换成 HttpHost 数组
return hostLists.toArray(new HttpHost[]{});
}
private CredentialsProvider getCredentialsProvider() {
// 设置用户名、密码
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password));
return credentialsProvider;
}
/**
* 同步方式
*
* @return
*/
// @Bean
// public ElasticsearchClient elasticsearchClient() throws Exception {
//// HttpHost[] httpHosts = toHttpHost();
// final CredentialsProvider credentialsProvider =
// new BasicCredentialsProvider();
// credentialsProvider.setCredentials(AuthScope.ANY,
// new UsernamePasswordCredentials(userName, passWord));
//
// ClassPathResource resource = new ClassPathResource("http_ca.crt");
// CertificateFactory factory =
// CertificateFactory.getInstance("X.509");
// Certificate trustedCa;
// try (InputStream is = resource.getInputStream()) {
// trustedCa = factory.generateCertificate(is);
// }
// KeyStore trustStore = KeyStore.getInstance("pkcs12");
// trustStore.load(null, null);
// trustStore.setCertificateEntry("ca", trustedCa);
// SSLContextBuilder sslContextBuilder = SSLContexts.custom()
// .loadTrustMaterial(trustStore, null);
// final SSLContext sslContext = sslContextBuilder.build();
//
// RestClientBuilder builder = RestClient.builder(
// new HttpHost("localhost", 9200, "https"))
// .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
// @Override
// public HttpAsyncClientBuilder customizeHttpClient(
// HttpAsyncClientBuilder httpClientBuilder) {
// return httpClientBuilder.setSSLContext(sslContext)
// .setDefaultCredentialsProvider(credentialsProvider);
// }
// });
//
// RestClient restClient = builder.build();
//
// // Create the transport with a Jackson mapper
// ElasticsearchTransport transport = new RestClientTransport(
// restClient, new JacksonJsonpMapper());
//
// return new ElasticsearchClient(transport);
//// asyncClient = new ElasticsearchAsyncClient(transport);
//
// }
// /**
// * 解析配置的字符串hosts,转为HttpHost对象数组
// *
// * @return
// */
// private HttpHost[] toHttpHost() {
// if (!StringUtils.hasLength(hosts)) {
// throw new RuntimeException("invalid elasticsearch configuration. elasticsearch.hosts不能为空!");
// }
// // 多个IP逗号隔开
// String[] hostArray = hosts.split(",");
// HttpHost[] httpHosts = new HttpHost[hostArray.length];
// HttpHost httpHost;
// for (int i = 0; i < hostArray.length; i++) {
// String[] strings = hostArray[i].split(":");
// httpHost = new HttpHost(strings[0], Integer.parseInt(strings[1]), "https");
// httpHosts[i] = httpHost;
// }
// return httpHosts;
// }
// @Bean
// ElasticsearchConverter elasticsearchConverter(SimpleElasticsearchMappingContext mappingContext) {
// DefaultConversionService defaultConversionService = new DefaultConversionService();
// defaultConversionService.addConverter(LongToLocalDateTimeConverter.INSTANCE);
// return new MappingElasticsearchConverter(mappingContext, defaultConversionService);
// }
//
// @ReadingConverter
// static enum LongToLocalDateTimeConverter implements Converter<Long, LocalDateTime> {
// /**
// * 单例模式
// */
// INSTANCE;
//
// private LongToLocalDateTimeConverter() {
// }
//
// @Override
// public LocalDateTime convert(Long source) {
// return Instant.ofEpochMilli(source).atZone(ZoneId.systemDefault()).toLocalDateTime();
// }
// }
}

147
ruoyi-common/guoyan-common-elasticsearch/src/main/java/org/dromara/common/elasticsearch/entity/SupplierProductsDTO.java

@ -0,0 +1,147 @@
package org.dromara.common.elasticsearch.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
/**
* 实体类
*
* @author ZHB
* @date 2024-05-08
*
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class SupplierProductsDTO {
/**
* 供应商id
*/
@JsonProperty(value ="supplier_information_id")
private String supplierInformationId;
/**
* 厂商产品型号id
*/
@JsonProperty(value ="model_id")
private String modelId;
/**
* 个人产品规格
*/
@JsonProperty(value ="product_specifications")
private String productSpecifications;
/**
* 产品名称
*/
@JsonProperty(value ="product_name")
private String productName;
/**
* 产品标识型号
*/
@JsonProperty(value ="product_identity")
private String productIdentity;
/**
* 产品价格
*/
@JsonProperty(value ="product_price")
private BigDecimal productPrice;
/**
* 信息来源
*/
@JsonProperty(value ="source_information")
private String sourceInformation;
/**
* 备注
*/
@JsonProperty(value ="remarks")
private String remarks;
/**
* 产品图片
*/
@JsonProperty(value ="image")
private String image;
/**
* 产品品牌
*/
@JsonProperty(value ="brand")
private String brand;
/**
* 产品单位*/
@JsonProperty(value ="unit")
private String unit;
/**
* 除税价格
*/
@JsonProperty(value ="ex_tax_price")
private BigDecimal exTaxPrice;
/**
* 税率
*/
@JsonProperty(value ="taxrate")
private BigDecimal taxrate;
/**
* 分类id
*/
@JsonProperty(value ="category_id")
private String categoryId;
/**
* 逻辑删除
*/
@JsonProperty(value ="delete_flag")
protected String deleteFlag;
/**
* 创建人标识
*/
@JsonProperty(value ="create_id")
private String createId;
/**
* 创建时间
*/
// @JsonProperty(value ="create_time")
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
// @DateTimeFormat(pattern = "yyyy-MM-dd")
// private Date createTime;
/**
* 更新人标识
*/
@JsonProperty(value ="update_id")
private String updateId;
/**
* 更新时间
*/
// @JsonProperty(value ="update_time")
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
// @DateTimeFormat(pattern = "yyyy-MM-dd")
// private Date updateTime;
/**
* 版本
*/
@JsonProperty(value ="version")
private Integer version;
/********非库表存储属性*****/
}

1
ruoyi-common/pom.xml

@ -33,6 +33,7 @@
<module>ruoyi-common-encrypt</module>
<module>ruoyi-common-tenant</module>
<module>ruoyi-common-websocket</module>
<module>guoyan-common-elasticsearch</module>
</modules>
<artifactId>ruoyi-common</artifactId>

7
ruoyi-common/ruoyi-common-bom/pom.xml

@ -171,7 +171,12 @@
<artifactId>ruoyi-common-websocket</artifactId>
<version>${revision}</version>
</dependency>
<!-- elasticsearch模块 -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>guoyan-common-elasticsearch</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>

231
ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/EasyExcelUtils.java

@ -0,0 +1,231 @@
package org.dromara.common.excel.utils;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* EasyExcel工具类
*/
public class EasyExcelUtils {
/**
* 注入的具有排序功能的handle
*/
// private static final SortRowWriteHandler SORT_ROW_WRITE_HANDLER = new SortRowWriteHandler();
/**
* 导出excel-按指定顺序
*
* @param <T> (必须是小写并遵守阿里开发规范)
* @param list 列表数据
* @param fileName 文件名称
* @param useDefaultStyle 是否使用默认样式
* @param response 响应
*/
public static <T> Map<String, Object> exportExcelInclude(List<T> list, String fileName,Boolean useDefaultStyle, HttpServletResponse response) throws IOException {
Map<String, Object> resultMap = new HashMap<>();
if (list.size() == 0) {
resultMap.put("msg", "数据长度为空");
resultMap.put("result", -1);
return resultMap;
}
Class<?> clazz = list.get(0).getClass();
/*定义编码,格式*/
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String exportFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + exportFileName + ".xlsx");
response.setHeader("filename", exportFileName + ".xlsx");
response.setHeader("Access-Control-Expose-Headers", "filename");
/**
* .head(head(headNameList))
* 改行代码不可以用ExcelWriterSheetBuilder类型的变量单独写否则会包错表头长度与字段列表长度不符
*/
/*导出表格*/
ExcelWriterSheetBuilder excelWriterSheetBuilder = EasyExcel.write(response.getOutputStream(), clazz)
.useDefaultStyle(useDefaultStyle)
.sheet(fileName);
excelWriterSheetBuilder.doWrite(list);
resultMap.put("msg", "excel export success");
resultMap.put("result", 0);
return resultMap;
}
/**
* 导出excel-默认顺序
*
* @param <T> (必须是小写并遵守阿里开发规范)
* @param list 列表数据
* @param fileName 文件名称
* @param useDefaultStyle 是否使用默认样式
* @param response 响应
* @param headNameList
* @param columnList 设置列字段(必须是小写)
*/
public static <T> Map<String, Object> exportExcelInclude(List<T> list, String fileName,Boolean useDefaultStyle, HttpServletResponse response, List<String> columnList, List<String> headNameList) throws IOException {
Map<String, Object> resultMap = new HashMap<>();
if (list.size() == 0) {
resultMap.put("msg", "数据长度为空");
resultMap.put("result", -1);
return resultMap;
}
if (CollectionUtils.isEmpty(headNameList)) {
/*设置表头*/
resultMap.put("msg", "表头长度为空");
resultMap.put("result", -2);
return resultMap;
}
if (CollectionUtils.isEmpty(columnList)) {
/*设置列字段*/
resultMap.put("msg", "列字段长度为空");
resultMap.put("result", -3);
return resultMap;
}
Class<?> clazz = list.get(0).getClass();
/*定义编码,格式*/
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String exportFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + exportFileName + ".xlsx");
response.setHeader("filename", exportFileName + ".xlsx");
response.setHeader("Access-Control-Expose-Headers", "filename");
/**
* .head(head(headNameList))
* 改行代码不可以用ExcelWriterSheetBuilder类型的变量单独写否则会包错表头长度与字段列表长度不符
*/
/*导出表格*/
ExcelWriterSheetBuilder excelWriterSheetBuilder = EasyExcel.write(response.getOutputStream(), clazz)
.head(head(headNameList))
/*设置列字段(会按顺序)*/
.includeColumnFiledNames(columnList)
/*注入的具有排序功能的handle*/
// .registerWriteHandler(SORT_ROW_WRITE_HANDLER)
.useDefaultStyle(useDefaultStyle)
.sheet(fileName);
excelWriterSheetBuilder.doWrite(list);
resultMap.put("msg", "excel export success");
resultMap.put("result", 0);
return resultMap;
}
/**
* 支持动态头,行列合并导出
*
* @param response web响应
* @param headList 动态头
* @param dataList 数据列表
* @param columnMergeHandler 注入列合并
* @param rowMergeHandler 注入行合并
* @throws IOException
*/
public static Map<String, Object> writeDynamicExcel(HttpServletResponse response, @NotEmpty List<List<String>> headList, @NotEmpty List<List<Object>> dataList, @NotNull ExcelColumnMergeHandler columnMergeHandler, @NotNull ExcelRowMergeHandler rowMergeHandler) throws IOException {
Map<String, Object> resultMap = new HashMap<>();
if (dataList.size() == 0) {
resultMap.put("msg", "数据长度为空");
resultMap.put("result", -1);
return resultMap;
}
if (CollectionUtils.isEmpty(headList)) {
/*设置表头*/
resultMap.put("msg", "表头长度为空");
resultMap.put("result", -2);
return resultMap;
}
if (columnMergeHandler == null || rowMergeHandler == null) {
/*设置列字段*/
resultMap.put("msg", "行列处理器为空");
resultMap.put("result", -3);
return resultMap;
}
EasyExcel.write(response.getOutputStream())
// 设置动态头
.head(headList)
.sheet("模板")
/*注入列合并*/
.registerWriteHandler(columnMergeHandler)
/*注入行合并*/
.registerWriteHandler(rowMergeHandler)
/*传需要写入的数据,类型List<List<Object>>*/
.doWrite(dataList);
resultMap.put("msg", "excel export success");
resultMap.put("result", 0);
return resultMap;
}
/**
* 支持动态头导出
*
* @param response web响应
* @param headList 动态头
* @param dataList 数据列表
* @throws IOException
*/
public static void writeDynamicExcel(HttpServletResponse response,List<List<String>> headList, List<List<Object>> dataList) throws IOException {
EasyExcel.write(response.getOutputStream())
// 设置动态头
.head(headList)
.sheet("模板")
/*传需要写入的数据,类型List<List<Object>>*/
.doWrite(dataList);
}
/**
* 设置Excel头
*
* @param headList Excel头信息
* @return
*/
public static List<List<String>> head(List<String> headList) {
List<List<String>> list = new ArrayList<>();
for (String value : headList) {
List<String> head = new ArrayList<>();
head.add(value);
list.add(head);
}
return list;
}
/**
* Excel头对应的字段转换小写
*
* @param ColumnListTemp Excel字段
* @return
*/
public static List<String> castLowerCase(List<String> ColumnListTemp) {
List<String> ColumnList = new ArrayList<>();
for (String name : ColumnListTemp) {
ColumnList.add(StrUtil.lowerFirst(name));
}
return ColumnList;
}
}

108
ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelColumnMergeHandler.java

@ -0,0 +1,108 @@
package org.dromara.common.excel.utils;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import lombok.Data;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
import java.util.List;
/***
* 列合并处理器
*
*/
@Data
public class ExcelColumnMergeHandler implements CellWriteHandler {
/**
* 合并字段的下标如new int[]{0,1,2,3,4,10},0-4合并,10合并
*/
private int[] mergeColumnIndex;
/**
* 从第几行开始合并如果表头占两行这个数字就是2
*/
private int mergeRowIndex;
public ExcelColumnMergeHandler() {
}
public ExcelColumnMergeHandler(int mergeRowIndex, int[] mergeColumnIndex) {
this.mergeRowIndex = mergeRowIndex;
this.mergeColumnIndex = mergeColumnIndex;
}
@Override
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row,
Head head, Integer integer, Integer integer1, Boolean aBoolean) {
}
@Override
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell,
Head head, Integer integer, Boolean aBoolean) {
}
@Override
public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,
WriteCellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) {
}
@Override
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder,
List<WriteCellData<?>> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
//当前行
int curRowIndex = cell.getRowIndex();
//当前列
int curColIndex = cell.getColumnIndex();
if (curRowIndex > mergeRowIndex) {
for (int i = 0; i < mergeColumnIndex.length; i++) {
if (curColIndex == mergeColumnIndex[i]) {
mergeWithPrevRow(writeSheetHolder, cell, curRowIndex, curColIndex);
break;
}
}
}
}
private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex) {
//获取当前行的当前列的数据和上一行的当前列列数据,通过上一行数据是否相同进行合并
Object curData = cell.getCellType() == CellType.STRING ? cell.getStringCellValue() :
cell.getNumericCellValue();
Cell preCell = cell.getSheet().getRow(curRowIndex - 1).getCell(curColIndex);
Object preData = preCell.getCellType() == CellType.STRING ? preCell.getStringCellValue() :
preCell.getNumericCellValue();
// 比较当前行的第一列的单元格与上一行是否相同,相同合并当前单元格与上一行
//
if (curData.equals(preData)) {
Sheet sheet = writeSheetHolder.getSheet();
List<CellRangeAddress> mergeRegions = sheet.getMergedRegions();
boolean isMerged = false;
for (int i = 0; i < mergeRegions.size() && !isMerged; i++) {
CellRangeAddress cellRangeAddr = mergeRegions.get(i);
// 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元
if (cellRangeAddr.isInRange(curRowIndex - 1, curColIndex)) {
sheet.removeMergedRegion(i);
cellRangeAddr.setLastRow(curRowIndex);
sheet.addMergedRegion(cellRangeAddr);
isMerged = true;
}
}
// 若上一个单元格未被合并,则新增合并单元
if (!isMerged) {
CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, curColIndex,
curColIndex);
sheet.addMergedRegion(cellRangeAddress);
}
}
}
}

87
ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelRowMergeHandler.java

@ -0,0 +1,87 @@
package org.dromara.common.excel.utils;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 行合并处理器
*
*/
public class ExcelRowMergeHandler implements CellWriteHandler {
private static final String KEY ="%s-%s";
//所有的合并信息都存在了这个map里面
Map<String, Integer> mergeInfo = new HashMap<>();
public ExcelRowMergeHandler() {
}
public ExcelRowMergeHandler(Map<String, Integer> mergeInfo) {
this.mergeInfo = mergeInfo;
}
@Override
public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) {
}
@Override
public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) {
}
@Override
public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, WriteCellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) {
}
@Override
public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> list, Cell cell, Head head, Integer integer, Boolean aBoolean) {
//当前行
int curRowIndex = cell.getRowIndex();
//当前列
int curColIndex = cell.getColumnIndex();
Integer num = mergeInfo.get(String.format(KEY, curRowIndex, curColIndex));
if(null != num){
// 合并最后一行 ,列
mergeWithPrevCol(writeSheetHolder, cell, curRowIndex, curColIndex,num);
}
}
public void mergeWithPrevCol(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex, int num) {
Sheet sheet = writeSheetHolder.getSheet();
CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex, curRowIndex, curColIndex, curColIndex + num);
sheet.addMergedRegion(cellRangeAddress);
}
/**
* 添加合并行
* 比如参数(3,0,2)
* 从第三行的地0列开始向右合并2格
* 这样第三行的地0列到第2列就会合并
*
* 注意
* 合并不能冲突如果合并到已经被合并的地方会报一个POI错误
* (java.lang.IllegalStateException: Cannot add merged region B3:B6 to sheet because it overlaps with an existing merged region (A6:C6).)
*
* @param curRowIndex 当前行 需要合并的哪一行(一般用数据List的index+表头的行数,表头站的行数是1就+1是2就+2)
* @param curColIndex 合并开始列从第几行开始合并
* @param num 合并列的数量从第curColIndex行开始向右合并多少格
*/
public void add (int curRowIndex, int curColIndex , int num){
mergeInfo.put(String.format(KEY, curRowIndex, curColIndex),num);
}
}

22
zaojiaManagement/pom.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>org.dromara</groupId>
<version>${revision}</version>
</parent>
<modules>
<module>zaojia-productManagement</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<artifactId>zaojiaManagement</artifactId>
<packaging>pom</packaging>
<description>
zaojiaManagement相关业务模块
</description>
</project>

81
zaojiaManagement/zaojia-productManagement/pom.xml

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>zaojiaManagement</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>zaojia-productManagement</artifactId>
<description>
产品管理模块
</description>
<dependencies>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mail</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-sms</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-web</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-log</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-idempotent</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-excel</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-translation</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-tenant</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-security</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-encrypt</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-excel</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>guoyan-common-elasticsearch</artifactId>
</dependency>
</dependencies>
</project>

122
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/CmgCostItemDetailController.java

@ -0,0 +1,122 @@
package org.dromara.productManagement.controller;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.productManagement.domain.bo.PmgPersonProductsBo;
import org.dromara.productManagement.domain.bo.ProductsBo;
import org.dromara.productManagement.domain.vo.ProductsVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.CmgCostItemDetailVo;
import org.dromara.productManagement.domain.bo.CmgCostItemDetailBo;
import org.dromara.productManagement.service.ICmgCostItemDetailService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 造价编制详情
*
* @author Lion Li
* @date 2024-06-29
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/costItemDetail")
public class CmgCostItemDetailController extends BaseController {
private final ICmgCostItemDetailService cmgCostItemDetailService;
/**
* 获取产品类型列表根据不同的分类
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/getProductsPageByType")
public TableDataInfo<ProductsVo> getProductsPageByType(ProductsBo bo, PageQuery pageQuery) {
//查询数据
TableDataInfo<ProductsVo> pageVO =cmgCostItemDetailService.getProductsPageByType(bo, pageQuery);
return pageVO;
}
/**
* 查询造价编制详情列表
*/
@SaCheckPermission("productManagement:costItemDetail:list")
@GetMapping("/list")
public TableDataInfo<CmgCostItemDetailVo> list(CmgCostItemDetailBo bo, PageQuery pageQuery) {
return cmgCostItemDetailService.queryPageList(bo, pageQuery);
}
/**
* 导出造价编制详情列表
*/
@SaCheckPermission("productManagement:costItemDetail:export")
@Log(title = "造价编制详情", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CmgCostItemDetailBo bo, HttpServletResponse response) {
List<CmgCostItemDetailVo> list = cmgCostItemDetailService.queryList(bo);
ExcelUtil.exportExcel(list, "造价编制详情", CmgCostItemDetailVo.class, response);
}
/**
* 获取造价编制详情详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:costItemDetail:query")
@GetMapping("/{id}")
public R<CmgCostItemDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(cmgCostItemDetailService.queryById(id));
}
/**
* 新增造价编制详情
*/
@SaCheckPermission("productManagement:costItemDetail:add")
@Log(title = "造价编制详情", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody CmgCostItemDetailBo bo) {
return toAjax(cmgCostItemDetailService.insertByBo(bo));
}
/**
* 修改造价编制详情
*/
@SaCheckPermission("productManagement:costItemDetail:edit")
@Log(title = "造价编制详情", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CmgCostItemDetailBo bo) {
return toAjax(cmgCostItemDetailService.updateByBo(bo));
}
/**
* 删除造价编制详情
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:costItemDetail:remove")
@Log(title = "造价编制详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(cmgCostItemDetailService.deleteWithValidByIds(List.of(ids), true));
}
}

148
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/CmgCostTableController.java

@ -0,0 +1,148 @@
package org.dromara.productManagement.controller;
import java.io.IOException;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.productManagement.domain.vo.CostDetailViewVo;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.CmgCostTableVo;
import org.dromara.productManagement.domain.bo.CmgCostTableBo;
import org.dromara.productManagement.service.ICmgCostTableService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 造价编制信息
*
* @author Lion Li
* @date 2024-06-29
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/costTable")
public class CmgCostTableController extends BaseController {
private final ICmgCostTableService cmgCostTableService;
/**
* 新增
*/
@PostMapping("/addCostTable")
@RepeatSubmit()
@Log(title = "新增造价编制信息", businessType = BusinessType.INSERT)
@SaCheckPermission("productManagement:costTable:add")
public R<Void> addCostTable(@Validated @RequestBody CostDetailViewVo vo) {
cmgCostTableService.addCostTable(vo);
return R.ok();
}
/**
* 修改
*/
@PutMapping("/modifyCostTable")
@RepeatSubmit()
@Log(title = "修改造价编制信息", businessType = BusinessType.UPDATE)
@SaCheckPermission("productManagement:costTable:edit")
public R<Void> modifyCostTable(@Validated @RequestBody CostDetailViewVo vo) {
cmgCostTableService.modifyCostTable(vo);
return R.ok();
}
/**
* 获取单条数据
*/
@GetMapping("/getCostTableDetail/{id}")
@SaCheckPermission("productManagement:costTable:query")
public R<CostDetailViewVo> getCostTableDetail(@PathVariable("id") String id) {
CostDetailViewVo vo = cmgCostTableService.getCostTableDetail(id);
return R.ok(vo);
}
/**
* 导出单条数据表格文件
*/
@PostMapping("/exportData")
@SaCheckPermission("productManagement:costTable:export")
public void exportData( String id, HttpServletResponse response) throws IOException {
cmgCostTableService.exportData(id,response);
}
/**
* 查询造价编制信息列表
*/
@SaCheckPermission("productManagement:costTable:list")
@GetMapping("/list")
public TableDataInfo<CmgCostTableVo> list(CmgCostTableBo bo, PageQuery pageQuery) {
return cmgCostTableService.queryPageList(bo, pageQuery);
}
/**
* 导出造价编制信息列表
*/
@SaCheckPermission("productManagement:costTable:export")
@Log(title = "造价编制信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(CmgCostTableBo bo, HttpServletResponse response) {
List<CmgCostTableVo> list = cmgCostTableService.queryList(bo);
ExcelUtil.exportExcel(list, "造价编制信息", CmgCostTableVo.class, response);
}
/**
* 获取造价编制信息详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:costTable:query")
@GetMapping("/{id}")
public R<CmgCostTableVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(cmgCostTableService.queryById(id));
}
/**
* 新增造价编制信息
*/
@SaCheckPermission("productManagement:costTable:add")
@Log(title = "造价编制信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody CmgCostTableBo bo) {
return toAjax(cmgCostTableService.insertByBo(bo));
}
/**
* 修改造价编制信息
*/
@SaCheckPermission("productManagement:costTable:edit")
@Log(title = "造价编制信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CmgCostTableBo bo) {
return toAjax(cmgCostTableService.updateByBo(bo));
}
/**
* 删除造价编制信息
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:costTable:remove")
@Log(title = "造价编制信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(cmgCostTableService.deleteWithValidByIds(List.of(ids), true));
}
}

140
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgCompanyProductModelController.java

@ -0,0 +1,140 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelVo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelBo;
import org.dromara.productManagement.service.IPmgCompanyProductModelService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 公司产品模型
*
* @author Lion Li
* @date 2024-07-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/companyProductModel")
public class PmgCompanyProductModelController extends BaseController {
private final IPmgCompanyProductModelService pmgCompanyProductModelService;
/**
* 新增个人产品模型及其详情
*/
@PostMapping("/addModel")
@SaCheckPermission("productManagement:companyProductModel:add")
@Log(title = "个人产品新增模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
public R<String> addModel(@Validated @RequestBody ProductModelViewBo<PmgCompanyProductModelDetailsBo> bo) {
String id = pmgCompanyProductModelService.addModel(bo);
return R.ok("新增成功",id);
}
/**
* 修改个人产品模型及其详情
*/
@PutMapping("/editModel")
@SaCheckPermission("productManagement:companyProductModel:edit")
@Log(title = "个人产品修改模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
public R<String> editModel(@Validated @RequestBody ProductModelViewBo<PmgCompanyProductModelDetailsBo> bo) {
String id = pmgCompanyProductModelService.editModel(bo);
return R.ok("修改成功",id);
}
/**
* 根据id查询个人产品模型详情
* @param id 个人产品模型表id
* @return
*/
@GetMapping("/getModelDetails/{id}")
@SaCheckPermission("productManagement:companyProductModel:query")
public R<List<PmgCompanyProductModelDetailsVo>> getModelDetails(@PathVariable("id") String id) {
List<PmgCompanyProductModelDetailsVo> detailsList=pmgCompanyProductModelService.getModelDetails(id);
return R.ok(detailsList);
}
/**
* 查询公司产品模型列表
*/
@SaCheckPermission("productManagement:companyProductModel:list")
@GetMapping("/list")
public TableDataInfo<PmgCompanyProductModelVo> list(PmgCompanyProductModelBo bo, PageQuery pageQuery) {
return pmgCompanyProductModelService.queryPageList(bo, pageQuery);
}
/**
* 导出公司产品模型列表
*/
@SaCheckPermission("productManagement:companyProductModel:export")
@Log(title = "公司产品模型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgCompanyProductModelBo bo, HttpServletResponse response) {
List<PmgCompanyProductModelVo> list = pmgCompanyProductModelService.queryList(bo);
ExcelUtil.exportExcel(list, "公司产品模型", PmgCompanyProductModelVo.class, response);
}
/**
* 获取公司产品模型详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:companyProductModel:query")
@GetMapping("/{id}")
public R<PmgCompanyProductModelVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgCompanyProductModelService.queryById(id));
}
/**
* 新增公司产品模型
*/
@SaCheckPermission("productManagement:companyProductModel:add")
@Log(title = "公司产品模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgCompanyProductModelBo bo) {
return toAjax(pmgCompanyProductModelService.insertByBo(bo));
}
/**
* 修改公司产品模型
*/
@SaCheckPermission("productManagement:companyProductModel:edit")
@Log(title = "公司产品模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgCompanyProductModelBo bo) {
return toAjax(pmgCompanyProductModelService.updateByBo(bo));
}
/**
* 删除公司产品模型
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:companyProductModel:remove")
@Log(title = "公司产品模型", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgCompanyProductModelService.deleteWithValidByIds(List.of(ids), true));
}
}

105
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgCompanyProductModelDetailsController.java

@ -0,0 +1,105 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelDetailsBo;
import org.dromara.productManagement.service.IPmgCompanyProductModelDetailsService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 公司产品模型详情表
*
* @author Lion Li
* @date 2024-07-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/companyProductModelDetails")
public class PmgCompanyProductModelDetailsController extends BaseController {
private final IPmgCompanyProductModelDetailsService pmgCompanyProductModelDetailsService;
/**
* 查询公司产品模型详情表列表
*/
@SaCheckPermission("productManagement:companyProductModelDetails:list")
@GetMapping("/list")
public TableDataInfo<PmgCompanyProductModelDetailsVo> list(PmgCompanyProductModelDetailsBo bo, PageQuery pageQuery) {
return pmgCompanyProductModelDetailsService.queryPageList(bo, pageQuery);
}
/**
* 导出公司产品模型详情表列表
*/
@SaCheckPermission("productManagement:companyProductModelDetails:export")
@Log(title = "公司产品模型详情表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgCompanyProductModelDetailsBo bo, HttpServletResponse response) {
List<PmgCompanyProductModelDetailsVo> list = pmgCompanyProductModelDetailsService.queryList(bo);
ExcelUtil.exportExcel(list, "公司产品模型详情表", PmgCompanyProductModelDetailsVo.class, response);
}
/**
* 获取公司产品模型详情表详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:companyProductModelDetails:query")
@GetMapping("/{id}")
public R<PmgCompanyProductModelDetailsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgCompanyProductModelDetailsService.queryById(id));
}
/**
* 新增公司产品模型详情表
*/
@SaCheckPermission("productManagement:companyProductModelDetails:add")
@Log(title = "公司产品模型详情表", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgCompanyProductModelDetailsBo bo) {
return toAjax(pmgCompanyProductModelDetailsService.insertByBo(bo));
}
/**
* 修改公司产品模型详情表
*/
@SaCheckPermission("productManagement:companyProductModelDetails:edit")
@Log(title = "公司产品模型详情表", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgCompanyProductModelDetailsBo bo) {
return toAjax(pmgCompanyProductModelDetailsService.updateByBo(bo));
}
/**
* 删除公司产品模型详情表
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:companyProductModelDetails:remove")
@Log(title = "公司产品模型详情表", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgCompanyProductModelDetailsService.deleteWithValidByIds(List.of(ids), true));
}
}

105
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgCompanyProductsController.java

@ -0,0 +1,105 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgCompanyProductsVo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductsBo;
import org.dromara.productManagement.service.IPmgCompanyProductsService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 公司产品管理
*
* @author Lion Li
* @date 2024-06-28
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/companyProducts")
public class PmgCompanyProductsController extends BaseController {
private final IPmgCompanyProductsService pmgCompanyProductsService;
/**
* 查询公司产品管理列表
*/
@SaCheckPermission("productManagement:companyProducts:list")
@GetMapping("/list")
public TableDataInfo<PmgCompanyProductsVo> list(PmgCompanyProductsBo bo, PageQuery pageQuery) {
return pmgCompanyProductsService.queryPageList(bo, pageQuery);
}
/**
* 导出公司产品管理列表
*/
@SaCheckPermission("productManagement:companyProducts:export")
@Log(title = "公司产品管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgCompanyProductsBo bo, HttpServletResponse response) {
List<PmgCompanyProductsVo> list = pmgCompanyProductsService.queryList(bo);
ExcelUtil.exportExcel(list, "公司产品管理", PmgCompanyProductsVo.class, response);
}
/**
* 获取公司产品管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:companyProducts:query")
@GetMapping("/{id}")
public R<PmgCompanyProductsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgCompanyProductsService.queryById(id));
}
/**
* 新增公司产品管理
*/
@SaCheckPermission("productManagement:companyProducts:add")
@Log(title = "公司产品管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgCompanyProductsBo bo) {
return toAjax(pmgCompanyProductsService.insertByBo(bo));
}
/**
* 修改公司产品管理
*/
@SaCheckPermission("productManagement:companyProducts:edit")
@Log(title = "公司产品管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgCompanyProductsBo bo) {
return toAjax(pmgCompanyProductsService.updateByBo(bo));
}
/**
* 删除公司产品管理
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:companyProducts:remove")
@Log(title = "公司产品管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgCompanyProductsService.deleteWithValidByIds(List.of(ids), true));
}
}

141
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgPersonProductModelController.java

@ -0,0 +1,141 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelVo;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelBo;
import org.dromara.productManagement.service.IPmgPersonProductModelService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 个人产品模型
*
* @author Lion Li
* @date 2024-07-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/personProductModel")
public class PmgPersonProductModelController extends BaseController {
private final IPmgPersonProductModelService pmgPersonProductModelService;
/**
* 新增个人产品模型及其详情
*/
@PostMapping("/addModel")
@SaCheckPermission("productManagement:personProductModel:add")
@Log(title = "个人产品新增模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
public R<String> addModel(@Validated @RequestBody ProductModelViewBo<PmgPersonProductModelDetailsBo> bo) {
String id = pmgPersonProductModelService.addModel(bo);
return R.ok("新增成功",id);
}
/**
* 修改个人产品模型及其详情
*/
@PutMapping("/editModel")
@SaCheckPermission("productManagement:personProductModel:edit")
@Log(title = "个人产品修改模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
public R<String> editModel(@Validated @RequestBody ProductModelViewBo<PmgPersonProductModelDetailsBo> bo) {
String id = pmgPersonProductModelService.editModel(bo);
return R.ok("修改成功",id);
}
/**
* 根据id查询个人产品模型详情
* @param id 个人产品模型表id
* @return
*/
@GetMapping("/getModelDetails/{id}")
@SaCheckPermission("productManagement:personProductModel:query")
public R<List<PmgPersonProductModelDetailsVo>> getModelDetails(@PathVariable("id") String id) {
List<PmgPersonProductModelDetailsVo> detailsList=pmgPersonProductModelService.getModelDetails(id);
return R.ok(detailsList);
}
/**
* 查询个人产品模型列表
*/
@SaCheckPermission("productManagement:personProductModel:list")
@GetMapping("/list")
public TableDataInfo<PmgPersonProductModelVo> list(PmgPersonProductModelBo bo, PageQuery pageQuery) {
return pmgPersonProductModelService.queryPageList(bo, pageQuery);
}
/**
* 导出个人产品模型列表
*/
@SaCheckPermission("productManagement:personProductModel:export")
@Log(title = "个人产品模型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgPersonProductModelBo bo, HttpServletResponse response) {
List<PmgPersonProductModelVo> list = pmgPersonProductModelService.queryList(bo);
ExcelUtil.exportExcel(list, "个人产品模型", PmgPersonProductModelVo.class, response);
}
/**
* 获取个人产品模型详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:personProductModel:query")
@GetMapping("/{id}")
public R<PmgPersonProductModelVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgPersonProductModelService.queryById(id));
}
/**
* 新增个人产品模型
*/
@SaCheckPermission("productManagement:personProductModel:add")
@Log(title = "个人产品模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgPersonProductModelBo bo) {
return toAjax(pmgPersonProductModelService.insertByBo(bo));
}
/**
* 修改个人产品模型
*/
@SaCheckPermission("productManagement:personProductModel:edit")
@Log(title = "个人产品模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgPersonProductModelBo bo) {
return toAjax(pmgPersonProductModelService.updateByBo(bo));
}
/**
* 删除个人产品模型
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:personProductModel:remove")
@Log(title = "个人产品模型", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgPersonProductModelService.deleteWithValidByIds(List.of(ids), true));
}
}

105
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgPersonProductModelDetailsController.java

@ -0,0 +1,105 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelDetailsBo;
import org.dromara.productManagement.service.IPmgPersonProductModelDetailsService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 个人产品模型详情
*
* @author Lion Li
* @date 2024-07-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/personProductModelDetails")
public class PmgPersonProductModelDetailsController extends BaseController {
private final IPmgPersonProductModelDetailsService pmgPersonProductModelDetailsService;
/**
* 查询个人产品模型详情列表
*/
@SaCheckPermission("productManagement:personProductModelDetails:list")
@GetMapping("/list")
public TableDataInfo<PmgPersonProductModelDetailsVo> list(PmgPersonProductModelDetailsBo bo, PageQuery pageQuery) {
return pmgPersonProductModelDetailsService.queryPageList(bo, pageQuery);
}
/**
* 导出个人产品模型详情列表
*/
@SaCheckPermission("productManagement:personProductModelDetails:export")
@Log(title = "个人产品模型详情", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgPersonProductModelDetailsBo bo, HttpServletResponse response) {
List<PmgPersonProductModelDetailsVo> list = pmgPersonProductModelDetailsService.queryList(bo);
ExcelUtil.exportExcel(list, "个人产品模型详情", PmgPersonProductModelDetailsVo.class, response);
}
/**
* 获取个人产品模型详情详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:personProductModelDetails:query")
@GetMapping("/{id}")
public R<PmgPersonProductModelDetailsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgPersonProductModelDetailsService.queryById(id));
}
/**
* 新增个人产品模型详情
*/
@SaCheckPermission("productManagement:personProductModelDetails:add")
@Log(title = "个人产品模型详情", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgPersonProductModelDetailsBo bo) {
return toAjax(pmgPersonProductModelDetailsService.insertByBo(bo));
}
/**
* 修改个人产品模型详情
*/
@SaCheckPermission("productManagement:personProductModelDetails:edit")
@Log(title = "个人产品模型详情", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgPersonProductModelDetailsBo bo) {
return toAjax(pmgPersonProductModelDetailsService.updateByBo(bo));
}
/**
* 删除个人产品模型详情
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:personProductModelDetails:remove")
@Log(title = "个人产品模型详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgPersonProductModelDetailsService.deleteWithValidByIds(List.of(ids), true));
}
}

105
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgPersonProductsController.java

@ -0,0 +1,105 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgPersonProductsVo;
import org.dromara.productManagement.domain.bo.PmgPersonProductsBo;
import org.dromara.productManagement.service.IPmgPersonProductsService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 个人产品管理
*
* @author Lion Li
* @date 2024-06-28
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/personProducts")
public class PmgPersonProductsController extends BaseController {
private final IPmgPersonProductsService pmgPersonProductsService;
/**
* 查询个人产品管理列表
*/
@SaCheckPermission("productManagement:personProducts:list")
@GetMapping("/list")
public TableDataInfo<PmgPersonProductsVo> list(PmgPersonProductsBo bo, PageQuery pageQuery) {
return pmgPersonProductsService.queryPageList(bo, pageQuery);
}
/**
* 导出个人产品管理列表
*/
@SaCheckPermission("productManagement:personProducts:export")
@Log(title = "个人产品管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgPersonProductsBo bo, HttpServletResponse response) {
List<PmgPersonProductsVo> list = pmgPersonProductsService.queryList(bo);
ExcelUtil.exportExcel(list, "个人产品管理", PmgPersonProductsVo.class, response);
}
/**
* 获取个人产品管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:personProducts:query")
@GetMapping("/{id}")
public R<PmgPersonProductsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgPersonProductsService.queryById(id));
}
/**
* 新增个人产品管理
*/
@SaCheckPermission("productManagement:personProducts:add")
@Log(title = "个人产品管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgPersonProductsBo bo) {
return toAjax(pmgPersonProductsService.insertByBo(bo));
}
/**
* 修改个人产品管理
*/
@SaCheckPermission("productManagement:personProducts:edit")
@Log(title = "个人产品管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgPersonProductsBo bo) {
return toAjax(pmgPersonProductsService.updateByBo(bo));
}
/**
* 删除个人产品管理
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:personProducts:remove")
@Log(title = "个人产品管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgPersonProductsService.deleteWithValidByIds(List.of(ids), true));
}
}

105
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierInformationController.java

@ -0,0 +1,105 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgSupplierInformationVo;
import org.dromara.productManagement.domain.bo.PmgSupplierInformationBo;
import org.dromara.productManagement.service.IPmgSupplierInformationService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 供应商信息管理
*
* @author Lion Li
* @date 2024-06-28
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/supplierInformation")
public class PmgSupplierInformationController extends BaseController {
private final IPmgSupplierInformationService pmgSupplierInformationService;
/**
* 查询供应商信息管理列表
*/
@SaCheckPermission("productManagement:supplierInformation:list")
@GetMapping("/list")
public TableDataInfo<PmgSupplierInformationVo> list(PmgSupplierInformationBo bo, PageQuery pageQuery) {
return pmgSupplierInformationService.queryPageList(bo, pageQuery);
}
/**
* 导出供应商信息管理列表
*/
@SaCheckPermission("productManagement:supplierInformation:export")
@Log(title = "供应商信息管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgSupplierInformationBo bo, HttpServletResponse response) {
List<PmgSupplierInformationVo> list = pmgSupplierInformationService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商信息管理", PmgSupplierInformationVo.class, response);
}
/**
* 获取供应商信息管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:supplierInformation:query")
@GetMapping("/{id}")
public R<PmgSupplierInformationVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgSupplierInformationService.queryById(id));
}
/**
* 新增供应商信息管理
*/
@SaCheckPermission("productManagement:supplierInformation:add")
@Log(title = "供应商信息管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgSupplierInformationBo bo) {
return toAjax(pmgSupplierInformationService.insertByBo(bo));
}
/**
* 修改供应商信息管理
*/
@SaCheckPermission("productManagement:supplierInformation:edit")
@Log(title = "供应商信息管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgSupplierInformationBo bo) {
return toAjax(pmgSupplierInformationService.updateByBo(bo));
}
/**
* 删除供应商信息管理
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:supplierInformation:remove")
@Log(title = "供应商信息管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgSupplierInformationService.deleteWithValidByIds(List.of(ids), true));
}
}

140
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierProductModelController.java

@ -0,0 +1,140 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelVo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelBo;
import org.dromara.productManagement.service.IPmgSupplierProductModelService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 供应商产品模型
*
* @author Lion Li
* @date 2024-07-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/supplierProductModel")
public class PmgSupplierProductModelController extends BaseController {
private final IPmgSupplierProductModelService pmgSupplierProductModelService;
/**
* 新增供应商产品模型及其详情
*/
@PostMapping("/addModel")
@SaCheckPermission("productManagement:supplierProductModel:add")
@Log(title = "个人产品新增模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
public R<String> addModel(@Validated @RequestBody ProductModelViewBo<PmgSupplierProductModelDetailsBo> bo) {
String id = pmgSupplierProductModelService.addModel(bo);
return R.ok("新增成功",id);
}
/**
* 修改供应商产品模型及其详情
*/
@PutMapping("/editModel")
@SaCheckPermission("productManagement:supplierProductModel:edit")
@Log(title = "个人产品修改模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
public R<String> editModel(@Validated @RequestBody ProductModelViewBo<PmgSupplierProductModelDetailsBo> bo) {
String id = pmgSupplierProductModelService.editModel(bo);
return R.ok("修改成功",id);
}
/**
* 根据id查询供应商产品模型详情
* @param id 个人产品模型表id
* @return
*/
@GetMapping("/getModelDetails/{id}")
@SaCheckPermission("productManagement:supplierProductModel:query")
public R<List<PmgSupplierProductModelDetailsVo>> getModelDetails(@PathVariable("id") String id) {
List<PmgSupplierProductModelDetailsVo> detailsList=pmgSupplierProductModelService.getModelDetails(id);
return R.ok(detailsList);
}
/**
* 查询供应商产品模型列表
*/
@SaCheckPermission("productManagement:supplierProductModel:list")
@GetMapping("/list")
public TableDataInfo<PmgSupplierProductModelVo> list(PmgSupplierProductModelBo bo, PageQuery pageQuery) {
return pmgSupplierProductModelService.queryPageList(bo, pageQuery);
}
/**
* 导出供应商产品模型列表
*/
@SaCheckPermission("productManagement:supplierProductModel:export")
@Log(title = "供应商产品模型", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgSupplierProductModelBo bo, HttpServletResponse response) {
List<PmgSupplierProductModelVo> list = pmgSupplierProductModelService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商产品模型", PmgSupplierProductModelVo.class, response);
}
/**
* 获取供应商产品模型详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:supplierProductModel:query")
@GetMapping("/{id}")
public R<PmgSupplierProductModelVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgSupplierProductModelService.queryById(id));
}
/**
* 新增供应商产品模型
*/
@SaCheckPermission("productManagement:supplierProductModel:add")
@Log(title = "供应商产品模型", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgSupplierProductModelBo bo) {
return toAjax(pmgSupplierProductModelService.insertByBo(bo));
}
/**
* 修改供应商产品模型
*/
@SaCheckPermission("productManagement:supplierProductModel:edit")
@Log(title = "供应商产品模型", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgSupplierProductModelBo bo) {
return toAjax(pmgSupplierProductModelService.updateByBo(bo));
}
/**
* 删除供应商产品模型
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:supplierProductModel:remove")
@Log(title = "供应商产品模型", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgSupplierProductModelService.deleteWithValidByIds(List.of(ids), true));
}
}

105
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierProductModelDetailsController.java

@ -0,0 +1,105 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelDetailsBo;
import org.dromara.productManagement.service.IPmgSupplierProductModelDetailsService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 供应商产品模型详细
*
* @author Lion Li
* @date 2024-07-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/supplierProductModelDetails")
public class PmgSupplierProductModelDetailsController extends BaseController {
private final IPmgSupplierProductModelDetailsService pmgSupplierProductModelDetailsService;
/**
* 查询供应商产品模型详细列表
*/
@SaCheckPermission("productManagement:supplierProductModelDetails:list")
@GetMapping("/list")
public TableDataInfo<PmgSupplierProductModelDetailsVo> list(PmgSupplierProductModelDetailsBo bo, PageQuery pageQuery) {
return pmgSupplierProductModelDetailsService.queryPageList(bo, pageQuery);
}
/**
* 导出供应商产品模型详细列表
*/
@SaCheckPermission("productManagement:supplierProductModelDetails:export")
@Log(title = "供应商产品模型详细", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgSupplierProductModelDetailsBo bo, HttpServletResponse response) {
List<PmgSupplierProductModelDetailsVo> list = pmgSupplierProductModelDetailsService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商产品模型详细", PmgSupplierProductModelDetailsVo.class, response);
}
/**
* 获取供应商产品模型详细详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:supplierProductModelDetails:query")
@GetMapping("/{id}")
public R<PmgSupplierProductModelDetailsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgSupplierProductModelDetailsService.queryById(id));
}
/**
* 新增供应商产品模型详细
*/
@SaCheckPermission("productManagement:supplierProductModelDetails:add")
@Log(title = "供应商产品模型详细", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgSupplierProductModelDetailsBo bo) {
return toAjax(pmgSupplierProductModelDetailsService.insertByBo(bo));
}
/**
* 修改供应商产品模型详细
*/
@SaCheckPermission("productManagement:supplierProductModelDetails:edit")
@Log(title = "供应商产品模型详细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgSupplierProductModelDetailsBo bo) {
return toAjax(pmgSupplierProductModelDetailsService.updateByBo(bo));
}
/**
* 删除供应商产品模型详细
*
* @param ids 主键串
*/
@SaCheckPermission("productManagement:supplierProductModelDetails:remove")
@Log(title = "供应商产品模型详细", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgSupplierProductModelDetailsService.deleteWithValidByIds(List.of(ids), true));
}
}

107
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/PmgSupplierProductsController.java

@ -0,0 +1,107 @@
package org.dromara.productManagement.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.encrypt.annotation.ApiEncrypt;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.productManagement.domain.vo.PmgSupplierProductsVo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductsBo;
import org.dromara.productManagement.service.IPmgSupplierProductsService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 供应商产品管理
*
* @author Lion Li
* @date 2024-06-28
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/productManagement/supplierProducts")
public class PmgSupplierProductsController extends BaseController {
private final IPmgSupplierProductsService pmgSupplierProductsService;
/**
* 查询供应商产品管理列表
*/
@SaCheckPermission("productManagement:supplierProducts:list")
@ApiEncrypt(response = true)
@GetMapping("/list")
public TableDataInfo<PmgSupplierProductsVo> list(PmgSupplierProductsBo bo, PageQuery pageQuery) {
return pmgSupplierProductsService.queryPageList(bo, pageQuery);
}
/**
* 导出供应商产品管理列表
*/
@SaCheckPermission("supplierProducts:supplierProducts:export")
@Log(title = "供应商产品管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(PmgSupplierProductsBo bo, HttpServletResponse response) {
List<PmgSupplierProductsVo> list = pmgSupplierProductsService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商产品管理", PmgSupplierProductsVo.class, response);
}
/**
* 获取供应商产品管理详细信息
*
* @param id 主键
*/
@SaCheckPermission("supplierProducts:supplierProducts:query")
@GetMapping("/{id}")
public R<PmgSupplierProductsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(pmgSupplierProductsService.queryById(id));
}
/**
* 新增供应商产品管理
*/
@SaCheckPermission("supplierProducts:supplierProducts:add")
@Log(title = "供应商产品管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody PmgSupplierProductsBo bo) {
return toAjax(pmgSupplierProductsService.insertByBo(bo));
}
/**
* 修改供应商产品管理
*/
@SaCheckPermission("supplierProducts:supplierProducts:edit")
@Log(title = "供应商产品管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody PmgSupplierProductsBo bo) {
return toAjax(pmgSupplierProductsService.updateByBo(bo));
}
/**
* 删除供应商产品管理
*
* @param ids 主键串
*/
@SaCheckPermission("supplierProducts:supplierProducts:remove")
@Log(title = "供应商产品管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) {
return toAjax(pmgSupplierProductsService.deleteWithValidByIds(List.of(ids), true));
}
}

108
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/CmgCostItemDetail.java

@ -0,0 +1,108 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 造价编制详情对象 cmg_cost_item_detail
*
* @author Lion Li
* @date 2024-06-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cmg_cost_item_detail")
public class CmgCostItemDetail extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 造价表id
*/
private String costTableId;
/**
* 父类id
*/
private String parentId;
/**
* 费用类型
*/
private String costType;
/**
* 建设内容
*/
private String constructContent;
/**
* 费用名称
*/
private String costName;
/**
* 费用描述
*/
private String costDescribe;
/**
* 单位
*/
private String unit;
/**
* 数量
*/
private Long quantity;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 总价
*/
private BigDecimal totalPrice;
/**
* 是否明细
*/
private String isDetail;
/**
* 备注
*/
private String remarks;
/**
* 排序
*/
private String orderNo;
/**
*
*/
// @TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

61
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/CmgCostTable.java

@ -0,0 +1,61 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 造价编制信息对象 cmg_cost_table
*
* @author Lion Li
* @date 2024-06-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cmg_cost_table")
public class CmgCostTable extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 项目名称
*/
private String projectName;
/**
* 造价日期
*/
private Date costDate;
/**
* 总投资
*/
private BigDecimal totalInvestment;
/**
*
*/
// @TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

58
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgCompanyProductModel.java

@ -0,0 +1,58 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 公司产品模型对象 pmg_company_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_company_product_model")
public class PmgCompanyProductModel extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 公司产品指标描述
*/
private String description;
/**
* 产品型号模板id
*/
private String productModelTemplateId;
/**
* 是否临时数据
*/
private String isTemporary;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgCompanyProductModelDetails.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 公司产品模型详情表对象 pmg_company_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_company_product_model_details")
public class PmgCompanyProductModelDetails extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 公司产品型号表id
*/
private String modelId;
/**
* 指标名称
*/
private String paramName;
/**
* 指标参数
*/
private String parameterValue;
/**
* 是否关键指标
*/
private String isKeyParameter;
/**
* 是否临时数据
*/
private String isTemporary;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

118
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgCompanyProducts.java

@ -0,0 +1,118 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 公司产品管理对象 pmg_company_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_company_products")
public class PmgCompanyProducts extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 公司产品规格
*/
private String productSpecifications;
/**
* 产品名称
*/
private String productName;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 备注
*/
private String remarks;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
/**
* 图片
*/
private String image;
/**
* 品牌
*/
private String brand;
/**
* 单位
*/
private String unit;
/**
* 除税价
*/
private BigDecimal exTaxPrice;
/**
* 税率
*/
private Long taxrate;
/**
* 分类id
*/
private String categoryId;
/**
* 型号id
*/
private String modelId;
}

58
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgPersonProductModel.java

@ -0,0 +1,58 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 个人产品模型对象 pmg_person_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_person_product_model")
public class PmgPersonProductModel extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 个人产品指标描述
*/
private String description;
/**
* 产品型号模板id
*/
private String productModelTemplateId;
/**
* 是否临时数据
*/
private String isTemporary;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgPersonProductModelDetails.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 个人产品模型详情对象 pmg_person_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_person_product_model_details")
public class PmgPersonProductModelDetails extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 个人产品型号表id
*/
private String modelId;
/**
* 指标名称
*/
private String paramName;
/**
* 指标参数
*/
private String parameterValue;
/**
* 是否关键指标
*/
private String isKeyParameter;
/**
* 是否临时数据
*/
private String isTemporary;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

119
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgPersonProducts.java

@ -0,0 +1,119 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 个人产品管理对象 pmg_person_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_person_products")
public class PmgPersonProducts extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 产品名称
*/
private String productName;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 个人产品规格
*/
private String productSpecifications;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 备注
*/
private String remarks;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
/**
* 图片
*/
private String image;
/**
* 品牌
*/
private String brand;
/**
* 单位
*/
private String unit;
/**
* 除税价
*/
private BigDecimal exTaxPrice;
/**
* 税率
*/
private Long taxrate;
/**
* 分类id
*/
private String categoryId;
/**
* 型号id
*/
private String modelId;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierInformation.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 供应商信息管理对象 pmg_supplier_information
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_supplier_information")
public class PmgSupplierInformation extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 供应商名称
*/
private String supplierName;
/**
* 供应商联系人
*/
private String supplierContacts;
/**
* 职位
*/
private String position;
/**
* 供应商联系电话
*/
private String supplierContactsPhone;
/**
* 供应商类型
*/
private String supplierType;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

58
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierProductModel.java

@ -0,0 +1,58 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 供应商产品模型对象 pmg_supplier_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_supplier_product_model")
public class PmgSupplierProductModel extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 供应商产品指标描述
*/
private String description;
/**
* 产品型号模板id
*/
private String productModelTemplateId;
/**
* 是否临时数据
*/
private String isTemporary;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierProductModelDetails.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 供应商产品模型详细对象 pmg_supplier_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_supplier_product_model_details")
public class PmgSupplierProductModelDetails extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 供应商产品型号表id
*/
private String modelId;
/**
* 指标名称
*/
private String paramName;
/**
* 指标参数
*/
private String parameterValue;
/**
* 是否关键指标
*/
private String isKeyParameter;
/**
* 是否临时数据
*/
private String isTemporary;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
}

119
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/PmgSupplierProducts.java

@ -0,0 +1,119 @@
package org.dromara.productManagement.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 供应商产品管理对象 pmg_supplier_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pmg_supplier_products")
public class PmgSupplierProducts extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private String id;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 供应商产品规格
*/
private String productSpecifications;
/**
* 产品名称
*/
private String productName;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 备注
*/
private String remarks;
/**
*
*/
@TableLogic
private String delFlag;
/**
* 版本号
*/
@Version
private Long version;
/**
* 图片
*/
private String image;
/**
* 品牌
*/
private String brand;
/**
* 单位
*/
private String unit;
/**
* 除税价
*/
private BigDecimal exTaxPrice;
/**
* 税率
*/
private Long taxrate;
/**
* 分类id
*/
private String categoryId;
/**
* 型号id
*/
private String modelId;
}

97
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/CmgCostItemDetailBo.java

@ -0,0 +1,97 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.CmgCostItemDetail;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 造价编制详情业务对象 cmg_cost_item_detail
*
* @author Lion Li
* @date 2024-06-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = CmgCostItemDetail.class, reverseConvertGenerate = false)
public class CmgCostItemDetailBo extends BaseEntity {
/**
* 主键
*/
@NotBlank(message = "主键不能为空", groups = { EditGroup.class })
private String id;
/**
* 造价表id
*/
@NotBlank(message = "造价表id不能为空", groups = { AddGroup.class, EditGroup.class })
private String costTableId;
/**
* 父类id
*/
private String parentId;
/**
* 费用类型
*/
private String costType;
/**
* 建设内容
*/
private String constructContent;
/**
* 费用名称
*/
private String costName;
/**
* 费用描述
*/
private String costDescribe;
/**
* 单位
*/
private String unit;
/**
* 数量
*/
private Long quantity;
/**
* 单价
*/
private BigDecimal unitPrice;
/**
* 总价
*/
private BigDecimal totalPrice;
/**
* 是否明细
*/
private String isDetail;
/**
* 备注
*/
private String remarks;
/**
* 排序
*/
private String orderNo;
}

51
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/CmgCostTableBo.java

@ -0,0 +1,51 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.CmgCostTable;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 造价编制信息业务对象 cmg_cost_table
*
* @author Lion Li
* @date 2024-06-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = CmgCostTable.class, reverseConvertGenerate = false)
public class CmgCostTableBo extends BaseEntity {
/**
* 主键
*/
@NotBlank(message = "主键不能为空", groups = { EditGroup.class })
private String id;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 造价日期
*/
@NotNull(message = "造价日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date costDate;
/**
* 总投资
*/
@NotNull(message = "总投资不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal totalInvestment;
}

46
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgCompanyProductModelBo.java

@ -0,0 +1,46 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgCompanyProductModel;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 公司产品模型业务对象 pmg_company_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgCompanyProductModel.class, reverseConvertGenerate = false)
public class PmgCompanyProductModelBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 公司产品指标描述
*/
@NotBlank(message = "公司产品指标描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String description;
/**
* 产品型号模板id
*/
@NotBlank(message = "产品型号模板id不能为空", groups = { AddGroup.class, EditGroup.class })
private String productModelTemplateId;
/**
* 是否临时数据
*/
private String isTemporary;
}

58
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgCompanyProductModelDetailsBo.java

@ -0,0 +1,58 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgCompanyProductModelDetails;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 公司产品模型详情表业务对象 pmg_company_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgCompanyProductModelDetails.class, reverseConvertGenerate = false)
public class PmgCompanyProductModelDetailsBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 公司产品型号表id
*/
@NotBlank(message = "公司产品型号表id不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelId;
/**
* 指标名称
*/
@NotBlank(message = "指标名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String paramName;
/**
* 指标参数
*/
@NotBlank(message = "指标参数不能为空", groups = { AddGroup.class, EditGroup.class })
private String parameterValue;
/**
* 是否关键指标
*/
@NotBlank(message = "是否关键指标不能为空", groups = { AddGroup.class, EditGroup.class })
private String isKeyParameter;
/**
* 是否临时数据
*/
private String isTemporary;
}

109
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgCompanyProductsBo.java

@ -0,0 +1,109 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgCompanyProducts;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 公司产品管理业务对象 pmg_company_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgCompanyProducts.class, reverseConvertGenerate = false)
public class PmgCompanyProductsBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 公司产品规格
*/
private String productSpecifications;
/**
* 产品名称
*/
@NotBlank(message = "产品名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String productName;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
@NotNull(message = "产品价格不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 备注
*/
private String remarks;
/**
* 图片
*/
private String image;
/**
* 品牌
*/
private String brand;
/**
* 单位
*/
private String unit;
/**
* 除税价
*/
private BigDecimal exTaxPrice;
/**
* 税率
*/
private Long taxrate;
/**
* 分类id
*/
private String categoryId;
@NotBlank(message = "公司产品规格不能为空", groups = { AddGroup.class, EditGroup.class })
/**
* 型号id
*/
private String modelId;
}

46
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgPersonProductModelBo.java

@ -0,0 +1,46 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgPersonProductModel;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 个人产品模型业务对象 pmg_person_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgPersonProductModel.class, reverseConvertGenerate = false)
public class PmgPersonProductModelBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 个人产品指标描述
*/
@NotBlank(message = "个人产品指标描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String description;
/**
* 产品型号模板id
*/
@NotBlank(message = "产品型号模板id不能为空", groups = { AddGroup.class, EditGroup.class })
private String productModelTemplateId;
/**
* 是否临时数据
*/
private String isTemporary;
}

58
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgPersonProductModelDetailsBo.java

@ -0,0 +1,58 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgPersonProductModelDetails;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 个人产品模型详情业务对象 pmg_person_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgPersonProductModelDetails.class, reverseConvertGenerate = false)
public class PmgPersonProductModelDetailsBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 个人产品型号表id
*/
@NotBlank(message = "个人产品型号表id不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelId;
/**
* 指标名称
*/
@NotBlank(message = "指标名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String paramName;
/**
* 指标参数
*/
@NotBlank(message = "指标参数不能为空", groups = { AddGroup.class, EditGroup.class })
private String parameterValue;
/**
* 是否关键指标
*/
@NotBlank(message = "是否关键指标不能为空", groups = { AddGroup.class, EditGroup.class })
private String isKeyParameter;
/**
* 是否临时数据
*/
private String isTemporary;
}

108
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgPersonProductsBo.java

@ -0,0 +1,108 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgPersonProducts;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 个人产品管理业务对象 pmg_person_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgPersonProducts.class, reverseConvertGenerate = false)
public class PmgPersonProductsBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 产品名称
*/
@NotBlank(message = "产品名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String productName;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
@NotNull(message = "产品价格不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 个人产品规格
*/
private String productSpecifications;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 备注
*/
private String remarks;
/**
* 图片
*/
private String image;
/**
* 品牌
*/
private String brand;
/**
* 单位
*/
private String unit;
/**
* 除税价
*/
private BigDecimal exTaxPrice;
/**
* 税率
*/
private Long taxrate;
/**
* 分类id
*/
private String categoryId;
@NotBlank(message = "个人产品规格不能为空", groups = { AddGroup.class, EditGroup.class })
/**
* 型号id
*/
private String modelId;
}

59
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierInformationBo.java

@ -0,0 +1,59 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgSupplierInformation;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 供应商信息管理业务对象 pmg_supplier_information
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgSupplierInformation.class, reverseConvertGenerate = false)
public class PmgSupplierInformationBo extends BaseEntity {
/**
* 主键
*/
// @NotBlank(message = "主键不能为空", groups = { EditGroup.class })
private String id;
/**
* 供应商名称
*/
@NotBlank(message = "供应商名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierName;
/**
* 供应商联系人
*/
@NotBlank(message = "供应商联系人不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierContacts;
/**
* 职位
*/
private String position;
/**
* 供应商联系电话
*/
@NotBlank(message = "供应商联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierContactsPhone;
/**
* 供应商类型
*/
private String supplierType;
}

46
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierProductModelBo.java

@ -0,0 +1,46 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgSupplierProductModel;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 供应商产品模型业务对象 pmg_supplier_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgSupplierProductModel.class, reverseConvertGenerate = false)
public class PmgSupplierProductModelBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 供应商产品指标描述
*/
@NotBlank(message = "供应商产品指标描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String description;
/**
* 产品型号模板id
*/
@NotBlank(message = "产品型号模板id不能为空", groups = { AddGroup.class, EditGroup.class })
private String productModelTemplateId;
/**
* 是否临时数据
*/
private String isTemporary;
}

58
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierProductModelDetailsBo.java

@ -0,0 +1,58 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgSupplierProductModelDetails;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 供应商产品模型详细业务对象 pmg_supplier_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgSupplierProductModelDetails.class, reverseConvertGenerate = false)
public class PmgSupplierProductModelDetailsBo extends BaseEntity {
/**
* 主键
*/
private String id;
/**
* 供应商产品型号表id
*/
@NotBlank(message = "供应商产品型号表id不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelId;
/**
* 指标名称
*/
@NotBlank(message = "指标名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String paramName;
/**
* 指标参数
*/
@NotBlank(message = "指标参数不能为空", groups = { AddGroup.class, EditGroup.class })
private String parameterValue;
/**
* 是否关键指标
*/
@NotBlank(message = "是否关键指标不能为空", groups = { AddGroup.class, EditGroup.class })
private String isKeyParameter;
/**
* 是否临时数据
*/
private String isTemporary;
}

101
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/PmgSupplierProductsBo.java

@ -0,0 +1,101 @@
package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.PmgSupplierProducts;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 供应商产品管理业务对象 pmg_supplier_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PmgSupplierProducts.class, reverseConvertGenerate = false)
public class PmgSupplierProductsBo extends BaseEntity {
private String id;
/**
* 供应商id
*/
@NotBlank(message = "供应商id不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierInformationId;
/**
* 供应商产品规格
*/
private String productSpecifications;
/**
* 产品名称
*/
@NotBlank(message = "产品名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String productName;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
@NotNull(message = "产品价格不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 备注
*/
private String remarks;
/**
* 图片
*/
private String image;
/**
* 品牌
*/
private String brand;
/**
* 单位
*/
@NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class })
private String unit;
/**
* 除税价
*/
private BigDecimal exTaxPrice;
/**
* 税率
*/
private Long taxrate;
/**
* 分类id
*/
private String categoryId;
@NotBlank(message = "供应商产品规格不能为空", groups = { AddGroup.class, EditGroup.class })
/**
* 型号id
*/
private String modelId;
}

52
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ProductModelViewBo.java

@ -0,0 +1,52 @@
package org.dromara.productManagement.domain.bo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.util.List;
/**
* 视图对象类
*
* @author ZHB
* @date 2024-05-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class ProductModelViewBo<T> extends BaseEntity {
private String id;
/**
* 厂商产品型号描述
*/
private String description;
/**
* 产品型号模板id
*/
private String productModelTemplateId;
private List<T> modelDeatils;
/********非库表存储属性*****/
/********字典类*****/
/********实体类、用户单选、组织机构单选*****/
/********范围查询*****/
/********自定义扩展*****/
/********子对象*****/
}

89
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ProductsBo.java

@ -0,0 +1,89 @@
package org.dromara.productManagement.domain.bo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
/**
* 视图对象类
*
* @author ZHB
* @date 2024-05-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class ProductsBo extends BaseEntity {
private String id;
/**
* 个人产品型号id
*/
private String modelId;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 产品名称
*/
private String productName;
private String image;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 备注
*/
private String remarks;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 产品描述
*/
private String productSpecifications;
/**
* 产品类型 (-1:全部, 0:供应商产品库, 1:公司产品库,2:个人产品库)
*/
private String productType;
/********非库表存储属性*****/
/********字典类*****/
/********实体类、用户单选、组织机构单选*****/
/********范围查询*****/
/********自定义扩展*****/
/********子对象*****/
}

117
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/CmgCostItemDetailVo.java

@ -0,0 +1,117 @@
package org.dromara.productManagement.domain.vo;
import java.math.BigDecimal;
import org.dromara.productManagement.domain.CmgCostItemDetail;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 造价编制详情视图对象 cmg_cost_item_detail
*
* @author Lion Li
* @date 2024-06-29
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = CmgCostItemDetail.class)
public class CmgCostItemDetailVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 造价表id
*/
@ExcelProperty(value = "造价表id")
private String costTableId;
/**
* 父类id
*/
@ExcelProperty(value = "父类id")
private String parentId;
/**
* 费用类型
*/
@ExcelProperty(value = "费用类型")
private String costType;
/**
* 建设内容
*/
@ExcelProperty(value = "建设内容")
private String constructContent;
/**
* 费用名称
*/
@ExcelProperty(value = "费用名称")
private String costName;
/**
* 费用描述
*/
@ExcelProperty(value = "费用描述")
private String costDescribe;
/**
* 单位
*/
@ExcelProperty(value = "单位")
private String unit;
/**
* 数量
*/
@ExcelProperty(value = "数量")
private Long quantity;
/**
* 单价
*/
@ExcelProperty(value = "单价")
private BigDecimal unitPrice;
/**
* 总价
*/
@ExcelProperty(value = "总价")
private BigDecimal totalPrice;
/**
* 是否明细
*/
@ExcelProperty(value = "是否明细")
private String isDetail;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
/**
* 排序
*/
@ExcelProperty(value = "排序")
private String orderNo;
private List<CmgCostItemDetailVo> children;
}

59
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/CmgCostTableVo.java

@ -0,0 +1,59 @@
package org.dromara.productManagement.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.productManagement.domain.CmgCostTable;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 造价编制信息视图对象 cmg_cost_table
*
* @author Lion Li
* @date 2024-06-29
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = CmgCostTable.class)
public class CmgCostTableVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 造价日期
*/
@ExcelProperty(value = "造价日期")
private Date costDate;
/**
* 总投资
*/
@ExcelProperty(value = "总投资")
private BigDecimal totalInvestment;
}

21
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/CostDetailViewVo.java

@ -0,0 +1,21 @@
package org.dromara.productManagement.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@Data
public class CostDetailViewVo {
private String id;
private String projectName;
private Date costDate;
private BigDecimal totalInvestment;
private List<CmgCostItemDetailVo> costItemDetailList;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgCompanyProductModelDetailsVo.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgCompanyProductModelDetails;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 公司产品模型详情表视图对象 pmg_company_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgCompanyProductModelDetails.class)
public class PmgCompanyProductModelDetailsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 公司产品型号表id
*/
@ExcelProperty(value = "公司产品型号表id")
private String modelId;
/**
* 指标名称
*/
@ExcelProperty(value = "指标名称")
private String paramName;
/**
* 指标参数
*/
@ExcelProperty(value = "指标参数")
private String parameterValue;
/**
* 是否关键指标
*/
@ExcelProperty(value = "是否关键指标")
private String isKeyParameter;
/**
* 是否临时数据
*/
@ExcelProperty(value = "是否临时数据")
private String isTemporary;
}

56
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgCompanyProductModelVo.java

@ -0,0 +1,56 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgCompanyProductModel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 公司产品模型视图对象 pmg_company_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgCompanyProductModel.class)
public class PmgCompanyProductModelVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 公司产品指标描述
*/
@ExcelProperty(value = "公司产品指标描述")
private String description;
/**
* 产品型号模板id
*/
@ExcelProperty(value = "产品型号模板id")
private String productModelTemplateId;
/**
* 是否临时数据
*/
@ExcelProperty(value = "是否临时数据")
private String isTemporary;
}

124
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgCompanyProductsVo.java

@ -0,0 +1,124 @@
package org.dromara.productManagement.domain.vo;
import java.math.BigDecimal;
import org.dromara.productManagement.domain.PmgCompanyProducts;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 公司产品管理视图对象 pmg_company_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgCompanyProducts.class)
public class PmgCompanyProductsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private String id;
/**
* 关联厂商产品id
*/
@ExcelProperty(value = "关联厂商产品id")
private String supplierProductsId;
/**
* 供应商id
*/
@ExcelProperty(value = "供应商id")
private String supplierInformationId;
/**
* 公司产品规格
*/
@ExcelProperty(value = "公司产品规格")
private String productSpecifications;
/**
* 产品名称
*/
@ExcelProperty(value = "产品名称")
private String productName;
/**
* 产品标识型号
*/
@ExcelProperty(value = "产品标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "型=号")
private String productIdentity;
/**
* 产品价格
*/
@ExcelProperty(value = "产品价格")
private BigDecimal productPrice;
/**
* 信息来源
*/
@ExcelProperty(value = "信息来源")
private String sourceInformation;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
/**
* 图片
*/
@ExcelProperty(value = "图片")
private String image;
/**
* 品牌
*/
@ExcelProperty(value = "品牌")
private String brand;
/**
* 单位
*/
@ExcelProperty(value = "单位")
private String unit;
/**
* 除税价
*/
@ExcelProperty(value = "除税价")
private BigDecimal exTaxPrice;
/**
* 税率
*/
@ExcelProperty(value = "税率")
private Long taxrate;
/**
* 分类id
*/
@ExcelProperty(value = "分类id")
private String categoryId;
/**
* 型号id
*/
@ExcelProperty(value = "型号id")
private String modelId;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgPersonProductModelDetailsVo.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgPersonProductModelDetails;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 个人产品模型详情视图对象 pmg_person_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgPersonProductModelDetails.class)
public class PmgPersonProductModelDetailsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 个人产品型号表id
*/
@ExcelProperty(value = "个人产品型号表id")
private String modelId;
/**
* 指标名称
*/
@ExcelProperty(value = "指标名称")
private String paramName;
/**
* 指标参数
*/
@ExcelProperty(value = "指标参数")
private String parameterValue;
/**
* 是否关键指标
*/
@ExcelProperty(value = "是否关键指标")
private String isKeyParameter;
/**
* 是否临时数据
*/
@ExcelProperty(value = "是否临时数据")
private String isTemporary;
}

56
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgPersonProductModelVo.java

@ -0,0 +1,56 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgPersonProductModel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 个人产品模型视图对象 pmg_person_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgPersonProductModel.class)
public class PmgPersonProductModelVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 个人产品指标描述
*/
@ExcelProperty(value = "个人产品指标描述")
private String description;
/**
* 产品型号模板id
*/
@ExcelProperty(value = "产品型号模板id")
private String productModelTemplateId;
/**
* 是否临时数据
*/
@ExcelProperty(value = "是否临时数据")
private String isTemporary;
}

129
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgPersonProductsVo.java

@ -0,0 +1,129 @@
package org.dromara.productManagement.domain.vo;
import java.math.BigDecimal;
import org.dromara.productManagement.domain.PmgPersonProducts;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 个人产品管理视图对象 pmg_person_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgPersonProducts.class)
public class PmgPersonProductsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 供应商id
*/
@ExcelProperty(value = "供应商id")
private String supplierInformationId;
/**
* 产品名称
*/
@ExcelProperty(value = "产品名称")
private String productName;
/**
* 产品标识型号
*/
@ExcelProperty(value = "产品标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "型=号")
private String productIdentity;
/**
* 产品价格
*/
@ExcelProperty(value = "产品价格")
private BigDecimal productPrice;
/**
* 信息来源
*/
@ExcelProperty(value = "信息来源")
private String sourceInformation;
/**
* 个人产品规格
*/
@ExcelProperty(value = "个人产品规格")
private String productSpecifications;
/**
* 关联厂商产品id
*/
@ExcelProperty(value = "关联厂商产品id")
private String supplierProductsId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
/**
* 图片
*/
@ExcelProperty(value = "图片")
private String image;
/**
* 品牌
*/
@ExcelProperty(value = "品牌")
private String brand;
/**
* 单位
*/
@ExcelProperty(value = "单位")
private String unit;
/**
* 除税价
*/
@ExcelProperty(value = "除税价")
private BigDecimal exTaxPrice;
/**
* 税率
*/
@ExcelProperty(value = "税率")
private Long taxrate;
/**
* 分类id
*/
@ExcelProperty(value = "分类id")
private String categoryId;
/**
* 型号id
*/
@ExcelProperty(value = "型号id")
private String modelId;
}

69
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierInformationVo.java

@ -0,0 +1,69 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgSupplierInformation;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商信息管理视图对象 pmg_supplier_information
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgSupplierInformation.class)
public class PmgSupplierInformationVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 供应商名称
*/
@ExcelProperty(value = "供应商名称")
private String supplierName;
/**
* 供应商联系人
*/
@ExcelProperty(value = "供应商联系人")
private String supplierContacts;
/**
* 职位
*/
@ExcelProperty(value = "职位")
private String position;
/**
* 供应商联系电话
*/
@ExcelProperty(value = "供应商联系电话")
private String supplierContactsPhone;
/**
* 供应商类型
*/
@ExcelProperty(value = "供应商类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "supplier_type")
private String supplierType;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierProductModelDetailsVo.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgSupplierProductModelDetails;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商产品模型详细视图对象 pmg_supplier_product_model_details
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgSupplierProductModelDetails.class)
public class PmgSupplierProductModelDetailsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 供应商产品型号表id
*/
@ExcelProperty(value = "供应商产品型号表id")
private String modelId;
/**
* 指标名称
*/
@ExcelProperty(value = "指标名称")
private String paramName;
/**
* 指标参数
*/
@ExcelProperty(value = "指标参数")
private String parameterValue;
/**
* 是否关键指标
*/
@ExcelProperty(value = "是否关键指标")
private String isKeyParameter;
/**
* 是否临时数据
*/
@ExcelProperty(value = "是否临时数据")
private String isTemporary;
}

56
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierProductModelVo.java

@ -0,0 +1,56 @@
package org.dromara.productManagement.domain.vo;
import org.dromara.productManagement.domain.PmgSupplierProductModel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商产品模型视图对象 pmg_supplier_product_model
*
* @author Lion Li
* @date 2024-07-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgSupplierProductModel.class)
public class PmgSupplierProductModelVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private String id;
/**
* 供应商产品指标描述
*/
@ExcelProperty(value = "供应商产品指标描述")
private String description;
/**
* 产品型号模板id
*/
@ExcelProperty(value = "产品型号模板id")
private String productModelTemplateId;
/**
* 是否临时数据
*/
@ExcelProperty(value = "是否临时数据")
private String isTemporary;
}

119
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/PmgSupplierProductsVo.java

@ -0,0 +1,119 @@
package org.dromara.productManagement.domain.vo;
import java.math.BigDecimal;
import org.dromara.productManagement.domain.PmgSupplierProducts;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商产品管理视图对象 pmg_supplier_products
*
* @author Lion Li
* @date 2024-06-28
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmgSupplierProducts.class)
public class PmgSupplierProductsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private String id;
/**
* 供应商id
*/
@ExcelProperty(value = "供应商id")
private String supplierInformationId;
/**
* 供应商产品规格
*/
@ExcelProperty(value = "供应商产品规格")
private String productSpecifications;
/**
* 产品名称
*/
@ExcelProperty(value = "产品名称")
private String productName;
/**
* 产品标识型号
*/
@ExcelProperty(value = "产品标识", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "型=号")
private String productIdentity;
/**
* 产品价格
*/
@ExcelProperty(value = "产品价格")
private BigDecimal productPrice;
/**
* 信息来源
*/
@ExcelProperty(value = "信息来源")
private String sourceInformation;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
/**
* 图片
*/
@ExcelProperty(value = "图片")
private String image;
/**
* 品牌
*/
@ExcelProperty(value = "品牌")
private String brand;
/**
* 单位
*/
@ExcelProperty(value = "单位")
private String unit;
/**
* 除税价
*/
@ExcelProperty(value = "除税价")
private BigDecimal exTaxPrice;
/**
* 税率
*/
@ExcelProperty(value = "税率")
private Long taxrate;
/**
* 分类id
*/
@ExcelProperty(value = "分类id")
private String categoryId;
/**
* 型号id
*/
@ExcelProperty(value = "型号id")
private String modelId;
}

93
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ProductsVo.java

@ -0,0 +1,93 @@
package org.dromara.productManagement.domain.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
/**
* 视图对象类
*
* @author ZHB
* @date 2024-05-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class ProductsVo extends BaseEntity {
private String id;
/**
* 个人产品型号id
*/
private String modelId;
/**
* 供应商id
*/
private String supplierInformationId;
/**
* 产品名称
*/
private String productName;
private String image;
/**
* 产品标识型号
*/
private String productIdentity;
/**
* 产品价格
*/
private BigDecimal productPrice;
/**
* 信息来源
*/
private String sourceInformation;
/**
* 备注
*/
private String remarks;
/**
* 关联厂商产品id
*/
private String supplierProductsId;
/**
* 产品描述
*/
private String productSpecifications;
/**
* 产品类型 (-1:全部, 0:供应商产品库, 1:公司产品库,2:个人产品库)
*/
private String productType;
/**
* 单位
*/
private String unit;
/********非库表存储属性*****/
/********字典类*****/
/********实体类、用户单选、组织机构单选*****/
/********范围查询*****/
/********自定义扩展*****/
/********子对象*****/
}

25
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/CmgCostItemDetailMapper.java

@ -0,0 +1,25 @@
package org.dromara.productManagement.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.productManagement.domain.CmgCostItemDetail;
import org.dromara.productManagement.domain.bo.ProductsBo;
import org.dromara.productManagement.domain.vo.CmgCostItemDetailVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.productManagement.domain.vo.ProductsVo;
import java.util.List;
/**
* 造价编制详情Mapper接口
*
* @author Lion Li
* @date 2024-06-29
*/
public interface CmgCostItemDetailMapper extends BaseMapperPlus<CmgCostItemDetail, CmgCostItemDetailVo> {
List<CmgCostItemDetailVo> getCostItemDetailWithChildrenByCostTableId(String costTableId);
IPage<ProductsVo> getProductsPageByType(Page pageQuery, @Param("queryVO") ProductsBo bo);
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/CmgCostTableMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.CmgCostTable;
import org.dromara.productManagement.domain.vo.CmgCostTableVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 造价编制信息Mapper接口
*
* @author Lion Li
* @date 2024-06-29
*/
public interface CmgCostTableMapper extends BaseMapperPlus<CmgCostTable, CmgCostTableVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgCompanyProductModelDetailsMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgCompanyProductModelDetails;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 公司产品模型详情表Mapper接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface PmgCompanyProductModelDetailsMapper extends BaseMapperPlus<PmgCompanyProductModelDetails, PmgCompanyProductModelDetailsVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgCompanyProductModelMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgCompanyProductModel;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 公司产品模型Mapper接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface PmgCompanyProductModelMapper extends BaseMapperPlus<PmgCompanyProductModel, PmgCompanyProductModelVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgCompanyProductsMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgCompanyProducts;
import org.dromara.productManagement.domain.vo.PmgCompanyProductsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 公司产品管理Mapper接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface PmgCompanyProductsMapper extends BaseMapperPlus<PmgCompanyProducts, PmgCompanyProductsVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgPersonProductModelDetailsMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgPersonProductModelDetails;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 个人产品模型详情Mapper接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface PmgPersonProductModelDetailsMapper extends BaseMapperPlus<PmgPersonProductModelDetails, PmgPersonProductModelDetailsVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgPersonProductModelMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgPersonProductModel;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 个人产品模型Mapper接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface PmgPersonProductModelMapper extends BaseMapperPlus<PmgPersonProductModel, PmgPersonProductModelVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgPersonProductsMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgPersonProducts;
import org.dromara.productManagement.domain.vo.PmgPersonProductsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 个人产品管理Mapper接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface PmgPersonProductsMapper extends BaseMapperPlus<PmgPersonProducts, PmgPersonProductsVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierInformationMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgSupplierInformation;
import org.dromara.productManagement.domain.vo.PmgSupplierInformationVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商信息管理Mapper接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface PmgSupplierInformationMapper extends BaseMapperPlus<PmgSupplierInformation, PmgSupplierInformationVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierProductModelDetailsMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgSupplierProductModelDetails;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商产品模型详细Mapper接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface PmgSupplierProductModelDetailsMapper extends BaseMapperPlus<PmgSupplierProductModelDetails, PmgSupplierProductModelDetailsVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierProductModelMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgSupplierProductModel;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商产品模型Mapper接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface PmgSupplierProductModelMapper extends BaseMapperPlus<PmgSupplierProductModel, PmgSupplierProductModelVo> {
}

15
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/PmgSupplierProductsMapper.java

@ -0,0 +1,15 @@
package org.dromara.productManagement.mapper;
import org.dromara.productManagement.domain.PmgSupplierProducts;
import org.dromara.productManagement.domain.vo.PmgSupplierProductsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商产品管理Mapper接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface PmgSupplierProductsMapper extends BaseMapperPlus<PmgSupplierProducts, PmgSupplierProductsVo> {
}

79
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/ICmgCostItemDetailService.java

@ -0,0 +1,79 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.bo.ProductsBo;
import org.dromara.productManagement.domain.vo.CmgCostItemDetailVo;
import org.dromara.productManagement.domain.bo.CmgCostItemDetailBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.productManagement.domain.vo.CostDetailViewVo;
import org.dromara.productManagement.domain.vo.ProductsVo;
import java.util.Collection;
import java.util.List;
/**
* 造价编制详情Service接口
*
* @author Lion Li
* @date 2024-06-29
*/
public interface ICmgCostItemDetailService {
void addCostItemDetail(List<CmgCostItemDetailVo> costItemDetaiVOlList);
List<CmgCostItemDetailVo> getCostItemDetail(String costTableId);
void modifyCostItemDetail(List<CmgCostItemDetailVo> costItemDetaiVOlList);
void removeByCostTableId(Collection<String> costTableIds);
/**
* 查询造价编制详情
*
* @param id 主键
* @return 造价编制详情
*/
CmgCostItemDetailVo queryById(String id);
/**
* 分页查询造价编制详情列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 造价编制详情分页列表
*/
TableDataInfo<CmgCostItemDetailVo> queryPageList(CmgCostItemDetailBo bo, PageQuery pageQuery);
/**
* 查询符合条件的造价编制详情列表
*
* @param bo 查询条件
* @return 造价编制详情列表
*/
List<CmgCostItemDetailVo> queryList(CmgCostItemDetailBo bo);
/**
* 新增造价编制详情
*
* @param bo 造价编制详情
* @return 是否新增成功
*/
Boolean insertByBo(CmgCostItemDetailBo bo);
/**
* 修改造价编制详情
*
* @param bo 造价编制详情
* @return 是否修改成功
*/
Boolean updateByBo(CmgCostItemDetailBo bo);
/**
* 校验并批量删除造价编制详情信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
TableDataInfo<ProductsVo> getProductsPageByType(ProductsBo bo, PageQuery pageQuery);
}

79
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/ICmgCostTableService.java

@ -0,0 +1,79 @@
package org.dromara.productManagement.service;
import jakarta.servlet.http.HttpServletResponse;
import org.dromara.productManagement.domain.vo.CmgCostTableVo;
import org.dromara.productManagement.domain.bo.CmgCostTableBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.productManagement.domain.vo.CostDetailViewVo;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
/**
* 造价编制信息Service接口
*
* @author Lion Li
* @date 2024-06-29
*/
public interface ICmgCostTableService {
/**
* 查询造价编制信息
*
* @param id 主键
* @return 造价编制信息
*/
CmgCostTableVo queryById(String id);
/**
* 分页查询造价编制信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 造价编制信息分页列表
*/
TableDataInfo<CmgCostTableVo> queryPageList(CmgCostTableBo bo, PageQuery pageQuery);
/**
* 查询符合条件的造价编制信息列表
*
* @param bo 查询条件
* @return 造价编制信息列表
*/
List<CmgCostTableVo> queryList(CmgCostTableBo bo);
/**
* 新增造价编制信息
*
* @param bo 造价编制信息
* @return 是否新增成功
*/
Boolean insertByBo(CmgCostTableBo bo);
/**
* 修改造价编制信息
*
* @param bo 造价编制信息
* @return 是否修改成功
*/
Boolean updateByBo(CmgCostTableBo bo);
/**
* 校验并批量删除造价编制信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
CostDetailViewVo getCostTableDetail(String id);
void addCostTable(CostDetailViewVo vo);
void modifyCostTable(CostDetailViewVo vo);
void exportData(String id, HttpServletResponse response) throws IOException;;
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgCompanyProductModelDetailsService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelDetailsBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 公司产品模型详情表Service接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface IPmgCompanyProductModelDetailsService {
/**
* 查询公司产品模型详情表
*
* @param id 主键
* @return 公司产品模型详情表
*/
PmgCompanyProductModelDetailsVo queryById(String id);
/**
* 分页查询公司产品模型详情表列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 公司产品模型详情表分页列表
*/
TableDataInfo<PmgCompanyProductModelDetailsVo> queryPageList(PmgCompanyProductModelDetailsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的公司产品模型详情表列表
*
* @param bo 查询条件
* @return 公司产品模型详情表列表
*/
List<PmgCompanyProductModelDetailsVo> queryList(PmgCompanyProductModelDetailsBo bo);
/**
* 新增公司产品模型详情表
*
* @param bo 公司产品模型详情表
* @return 是否新增成功
*/
Boolean insertByBo(PmgCompanyProductModelDetailsBo bo);
/**
* 修改公司产品模型详情表
*
* @param bo 公司产品模型详情表
* @return 是否修改成功
*/
Boolean updateByBo(PmgCompanyProductModelDetailsBo bo);
/**
* 校验并批量删除公司产品模型详情表信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

91
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgCompanyProductModelService.java

@ -0,0 +1,91 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelVo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import java.util.Collection;
import java.util.List;
/**
* 公司产品模型Service接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface IPmgCompanyProductModelService {
/**
* 查询公司产品模型
*
* @param id 主键
* @return 公司产品模型
*/
PmgCompanyProductModelVo queryById(String id);
/**
* 分页查询公司产品模型列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 公司产品模型分页列表
*/
TableDataInfo<PmgCompanyProductModelVo> queryPageList(PmgCompanyProductModelBo bo, PageQuery pageQuery);
/**
* 查询符合条件的公司产品模型列表
*
* @param bo 查询条件
* @return 公司产品模型列表
*/
List<PmgCompanyProductModelVo> queryList(PmgCompanyProductModelBo bo);
/**
* 新增公司产品模型
*
* @param bo 公司产品模型
* @return 是否新增成功
*/
Boolean insertByBo(PmgCompanyProductModelBo bo);
/**
* 修改公司产品模型
*
* @param bo 公司产品模型
* @return 是否修改成功
*/
Boolean updateByBo(PmgCompanyProductModelBo bo);
/**
* 校验并批量删除公司产品模型信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
/**
* 根据id查询公司产品模型详情
* @param id 个人产品模型表id
* @return
*/
List<PmgCompanyProductModelDetailsVo> getModelDetails(String id);
/**
* 新增公司产品模型及其详情
* @param bo
* @return
*/
String addModel(ProductModelViewBo<PmgCompanyProductModelDetailsBo> bo);
/**
* 修改公司产品模型及其详情
* @param bo
* @return
*/
String editModel(ProductModelViewBo<PmgCompanyProductModelDetailsBo> bo);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgCompanyProductsService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgCompanyProductsVo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductsBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 公司产品管理Service接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface IPmgCompanyProductsService {
/**
* 查询公司产品管理
*
* @param id 主键
* @return 公司产品管理
*/
PmgCompanyProductsVo queryById(String id);
/**
* 分页查询公司产品管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 公司产品管理分页列表
*/
TableDataInfo<PmgCompanyProductsVo> queryPageList(PmgCompanyProductsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的公司产品管理列表
*
* @param bo 查询条件
* @return 公司产品管理列表
*/
List<PmgCompanyProductsVo> queryList(PmgCompanyProductsBo bo);
/**
* 新增公司产品管理
*
* @param bo 公司产品管理
* @return 是否新增成功
*/
Boolean insertByBo(PmgCompanyProductsBo bo);
/**
* 修改公司产品管理
*
* @param bo 公司产品管理
* @return 是否修改成功
*/
Boolean updateByBo(PmgCompanyProductsBo bo);
/**
* 校验并批量删除公司产品管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgPersonProductModelDetailsService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelDetailsBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 个人产品模型详情Service接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface IPmgPersonProductModelDetailsService {
/**
* 查询个人产品模型详情
*
* @param id 主键
* @return 个人产品模型详情
*/
PmgPersonProductModelDetailsVo queryById(String id);
/**
* 分页查询个人产品模型详情列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 个人产品模型详情分页列表
*/
TableDataInfo<PmgPersonProductModelDetailsVo> queryPageList(PmgPersonProductModelDetailsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的个人产品模型详情列表
*
* @param bo 查询条件
* @return 个人产品模型详情列表
*/
List<PmgPersonProductModelDetailsVo> queryList(PmgPersonProductModelDetailsBo bo);
/**
* 新增个人产品模型详情
*
* @param bo 个人产品模型详情
* @return 是否新增成功
*/
Boolean insertByBo(PmgPersonProductModelDetailsBo bo);
/**
* 修改个人产品模型详情
*
* @param bo 个人产品模型详情
* @return 是否修改成功
*/
Boolean updateByBo(PmgPersonProductModelDetailsBo bo);
/**
* 校验并批量删除个人产品模型详情信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

92
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgPersonProductModelService.java

@ -0,0 +1,92 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelVo;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 个人产品模型Service接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface IPmgPersonProductModelService {
/**
* 查询个人产品模型
*
* @param id 主键
* @return 个人产品模型
*/
PmgPersonProductModelVo queryById(String id);
/**
* 分页查询个人产品模型列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 个人产品模型分页列表
*/
TableDataInfo<PmgPersonProductModelVo> queryPageList(PmgPersonProductModelBo bo, PageQuery pageQuery);
/**
* 查询符合条件的个人产品模型列表
*
* @param bo 查询条件
* @return 个人产品模型列表
*/
List<PmgPersonProductModelVo> queryList(PmgPersonProductModelBo bo);
/**
* 新增个人产品模型
*
* @param bo 个人产品模型
* @return 是否新增成功
*/
Boolean insertByBo(PmgPersonProductModelBo bo);
/**
* 修改个人产品模型
*
* @param bo 个人产品模型
* @return 是否修改成功
*/
Boolean updateByBo(PmgPersonProductModelBo bo);
/**
* 校验并批量删除个人产品模型信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
/**
* 根据id查询个人产品模型详情
* @param id 个人产品模型表id
* @return
*/
List<PmgPersonProductModelDetailsVo> getModelDetails(String id);
/**
* 新增个人产品模型及其详情
* @param bo
* @return
*/
String addModel(ProductModelViewBo<PmgPersonProductModelDetailsBo> bo);
/**
* 修改个人产品模型及其详情
* @param bo
* @return
*/
String editModel(ProductModelViewBo<PmgPersonProductModelDetailsBo> bo);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgPersonProductsService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgPersonProductsVo;
import org.dromara.productManagement.domain.bo.PmgPersonProductsBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 个人产品管理Service接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface IPmgPersonProductsService {
/**
* 查询个人产品管理
*
* @param id 主键
* @return 个人产品管理
*/
PmgPersonProductsVo queryById(String id);
/**
* 分页查询个人产品管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 个人产品管理分页列表
*/
TableDataInfo<PmgPersonProductsVo> queryPageList(PmgPersonProductsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的个人产品管理列表
*
* @param bo 查询条件
* @return 个人产品管理列表
*/
List<PmgPersonProductsVo> queryList(PmgPersonProductsBo bo);
/**
* 新增个人产品管理
*
* @param bo 个人产品管理
* @return 是否新增成功
*/
Boolean insertByBo(PmgPersonProductsBo bo);
/**
* 修改个人产品管理
*
* @param bo 个人产品管理
* @return 是否修改成功
*/
Boolean updateByBo(PmgPersonProductsBo bo);
/**
* 校验并批量删除个人产品管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierInformationService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgSupplierInformationVo;
import org.dromara.productManagement.domain.bo.PmgSupplierInformationBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 供应商信息管理Service接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface IPmgSupplierInformationService {
/**
* 查询供应商信息管理
*
* @param id 主键
* @return 供应商信息管理
*/
PmgSupplierInformationVo queryById(String id);
/**
* 分页查询供应商信息管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商信息管理分页列表
*/
TableDataInfo<PmgSupplierInformationVo> queryPageList(PmgSupplierInformationBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商信息管理列表
*
* @param bo 查询条件
* @return 供应商信息管理列表
*/
List<PmgSupplierInformationVo> queryList(PmgSupplierInformationBo bo);
/**
* 新增供应商信息管理
*
* @param bo 供应商信息管理
* @return 是否新增成功
*/
Boolean insertByBo(PmgSupplierInformationBo bo);
/**
* 修改供应商信息管理
*
* @param bo 供应商信息管理
* @return 是否修改成功
*/
Boolean updateByBo(PmgSupplierInformationBo bo);
/**
* 校验并批量删除供应商信息管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierProductModelDetailsService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelDetailsBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 供应商产品模型详细Service接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface IPmgSupplierProductModelDetailsService {
/**
* 查询供应商产品模型详细
*
* @param id 主键
* @return 供应商产品模型详细
*/
PmgSupplierProductModelDetailsVo queryById(String id);
/**
* 分页查询供应商产品模型详细列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商产品模型详细分页列表
*/
TableDataInfo<PmgSupplierProductModelDetailsVo> queryPageList(PmgSupplierProductModelDetailsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商产品模型详细列表
*
* @param bo 查询条件
* @return 供应商产品模型详细列表
*/
List<PmgSupplierProductModelDetailsVo> queryList(PmgSupplierProductModelDetailsBo bo);
/**
* 新增供应商产品模型详细
*
* @param bo 供应商产品模型详细
* @return 是否新增成功
*/
Boolean insertByBo(PmgSupplierProductModelDetailsBo bo);
/**
* 修改供应商产品模型详细
*
* @param bo 供应商产品模型详细
* @return 是否修改成功
*/
Boolean updateByBo(PmgSupplierProductModelDetailsBo bo);
/**
* 校验并批量删除供应商产品模型详细信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

91
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierProductModelService.java

@ -0,0 +1,91 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelVo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 供应商产品模型Service接口
*
* @author Lion Li
* @date 2024-07-01
*/
public interface IPmgSupplierProductModelService {
/**
* 查询供应商产品模型
*
* @param id 主键
* @return 供应商产品模型
*/
PmgSupplierProductModelVo queryById(String id);
/**
* 分页查询供应商产品模型列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商产品模型分页列表
*/
TableDataInfo<PmgSupplierProductModelVo> queryPageList(PmgSupplierProductModelBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商产品模型列表
*
* @param bo 查询条件
* @return 供应商产品模型列表
*/
List<PmgSupplierProductModelVo> queryList(PmgSupplierProductModelBo bo);
/**
* 新增供应商产品模型
*
* @param bo 供应商产品模型
* @return 是否新增成功
*/
Boolean insertByBo(PmgSupplierProductModelBo bo);
/**
* 修改供应商产品模型
*
* @param bo 供应商产品模型
* @return 是否修改成功
*/
Boolean updateByBo(PmgSupplierProductModelBo bo);
/**
* 校验并批量删除供应商产品模型信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
/**
* 根据id查询供应商产品模型详情
* @param id 供应商产品模型表id
* @return
*/
List<PmgSupplierProductModelDetailsVo> getModelDetails(String id);
/**
* 新增供应商产品模型及其详情
* @param bo
* @return
*/
String addModel(ProductModelViewBo<PmgSupplierProductModelDetailsBo> bo);
/**
* 修改供应商产品模型及其详情
* @param bo
* @return
*/
String editModel(ProductModelViewBo<PmgSupplierProductModelDetailsBo> bo);
}

68
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IPmgSupplierProductsService.java

@ -0,0 +1,68 @@
package org.dromara.productManagement.service;
import org.dromara.productManagement.domain.vo.PmgSupplierProductsVo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductsBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 供应商产品管理Service接口
*
* @author Lion Li
* @date 2024-06-28
*/
public interface IPmgSupplierProductsService {
/**
* 查询供应商产品管理
*
* @param id 主键
* @return 供应商产品管理
*/
PmgSupplierProductsVo queryById(String id);
/**
* 分页查询供应商产品管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商产品管理分页列表
*/
TableDataInfo<PmgSupplierProductsVo> queryPageList(PmgSupplierProductsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商产品管理列表
*
* @param bo 查询条件
* @return 供应商产品管理列表
*/
List<PmgSupplierProductsVo> queryList(PmgSupplierProductsBo bo);
/**
* 新增供应商产品管理
*
* @param bo 供应商产品管理
* @return 是否新增成功
*/
Boolean insertByBo(PmgSupplierProductsBo bo);
/**
* 修改供应商产品管理
*
* @param bo 供应商产品管理
* @return 是否修改成功
*/
Boolean updateByBo(PmgSupplierProductsBo bo);
/**
* 校验并批量删除供应商产品管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

211
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/CmgCostItemDetailServiceImpl.java

@ -0,0 +1,211 @@
package org.dromara.productManagement.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.bo.ProductsBo;
import org.dromara.productManagement.domain.vo.CmgCostItemDetailVo;
import org.dromara.productManagement.domain.vo.ProductsVo;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.CmgCostItemDetailBo;
import org.dromara.productManagement.domain.vo.CmgCostItemDetailVo;
import org.dromara.productManagement.domain.CmgCostItemDetail;
import org.dromara.productManagement.mapper.CmgCostItemDetailMapper;
import org.dromara.productManagement.service.ICmgCostItemDetailService;
import java.util.*;
/**
* 造价编制详情Service业务层处理
*
* @author Lion Li
* @date 2024-06-29
*/
@RequiredArgsConstructor
@Service
public class CmgCostItemDetailServiceImpl implements ICmgCostItemDetailService {
private final CmgCostItemDetailMapper baseMapper;
@Override
public void addCostItemDetail(List<CmgCostItemDetailVo> costItemDetaiVOlList) {
if (CollUtil.isEmpty(costItemDetaiVOlList)) {
return;
}
List<CmgCostItemDetail> costItemDetailList = new ArrayList<>();
for (CmgCostItemDetailVo costItemDetailVO : costItemDetaiVOlList) {
//获取子类内容加入到List
getChildAddToList(costItemDetailVO, costItemDetailList);
CmgCostItemDetail costItemDetail = MapstructUtils.convert(costItemDetailVO, CmgCostItemDetail.class);
costItemDetailList.add(costItemDetail);
}
//批量保存
baseMapper.insertBatch(costItemDetailList);
}
@Override
public List<CmgCostItemDetailVo> getCostItemDetail(String costTableId) {
List<CmgCostItemDetailVo> detail = baseMapper.getCostItemDetailWithChildrenByCostTableId(costTableId);
return detail;
}
@Override
public void modifyCostItemDetail(List<CmgCostItemDetailVo> costItemDetaiVOlList) {
String costTableId = costItemDetaiVOlList.get(0).getCostTableId();
removeByCostTableId(Arrays.asList(costTableId));
if (CollUtil.isEmpty(costItemDetaiVOlList)) {
return;
}
List<CmgCostItemDetail> costItemDetailList = new ArrayList<>();
for (CmgCostItemDetailVo costItemDetailVO : costItemDetaiVOlList) {
//获取子类内容加入到List
getChildAddToList(costItemDetailVO, costItemDetailList);
CmgCostItemDetail costItemDetail = MapstructUtils.convert(costItemDetailVO, CmgCostItemDetail.class);
costItemDetail.setUpdateBy(null);
costItemDetail.setUpdateTime(null);
costItemDetailList.add(costItemDetail);
}
//批量保存
baseMapper.insertBatch(costItemDetailList);
}
@Override
public void removeByCostTableId(Collection<String> costTableIds) {
for (String costTableId : costTableIds) {
LambdaUpdateWrapper<CmgCostItemDetail> deleteWrapper = new LambdaUpdateWrapper<>();
deleteWrapper.eq(CmgCostItemDetail::getCostTableId, costTableId);
baseMapper.delete(deleteWrapper);//删除原有数据
}
}
/**
* 查询造价编制详情
*
* @param id 主键
* @return 造价编制详情
*/
@Override
public CmgCostItemDetailVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询造价编制详情列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 造价编制详情分页列表
*/
@Override
public TableDataInfo<CmgCostItemDetailVo> queryPageList(CmgCostItemDetailBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CmgCostItemDetail> lqw = buildQueryWrapper(bo);
Page<CmgCostItemDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的造价编制详情列表
*
* @param bo 查询条件
* @return 造价编制详情列表
*/
@Override
public List<CmgCostItemDetailVo> queryList(CmgCostItemDetailBo bo) {
LambdaQueryWrapper<CmgCostItemDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<CmgCostItemDetail> buildQueryWrapper(CmgCostItemDetailBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<CmgCostItemDetail> lqw = Wrappers.lambdaQuery();
return lqw;
}
/**
* 新增造价编制详情
*
* @param bo 造价编制详情
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(CmgCostItemDetailBo bo) {
CmgCostItemDetail add = MapstructUtils.convert(bo, CmgCostItemDetail.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改造价编制详情
*
* @param bo 造价编制详情
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(CmgCostItemDetailBo bo) {
CmgCostItemDetail update = MapstructUtils.convert(bo, CmgCostItemDetail.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(CmgCostItemDetail entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除造价编制详情信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public TableDataInfo<ProductsVo> getProductsPageByType(ProductsBo bo, PageQuery pageQuery) {
IPage<ProductsVo> productsPageByType = baseMapper.getProductsPageByType(pageQuery.build(), bo);
return TableDataInfo.build(productsPageByType);
}
/**
* 获取子类内容加入到List
* @param costItemDetailVO costItemDetailVO
* @param costItemDetailList costItemDetail保存容器
*/
protected void getChildAddToList(CmgCostItemDetailVo costItemDetailVO, List<CmgCostItemDetail> costItemDetailList) {
if (CollUtil.isEmpty(costItemDetailVO.getChildren())) {
return;
}
for (CmgCostItemDetailVo child : costItemDetailVO.getChildren()) {
getChildAddToList(child, costItemDetailList);
//子类内容
CmgCostItemDetail childCostItemDetail = MapstructUtils.convert(child, CmgCostItemDetail.class);
childCostItemDetail.setUpdateBy(null);
childCostItemDetail.setUpdateTime(null);
costItemDetailList.add(childCostItemDetail);
}
}
}

310
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/CmgCostTableServiceImpl.java

@ -0,0 +1,310 @@
package org.dromara.productManagement.service.impl;
import cn.hutool.core.convert.NumberChineseFormatter;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import jakarta.servlet.http.HttpServletResponse;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.excel.utils.EasyExcelUtils;
import org.dromara.common.excel.utils.ExcelColumnMergeHandler;
import org.dromara.common.excel.utils.ExcelRowMergeHandler;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.vo.CmgCostItemDetailVo;
import org.dromara.productManagement.domain.vo.CostDetailViewVo;
import org.dromara.productManagement.mapper.CmgCostItemDetailMapper;
import org.dromara.productManagement.service.ICmgCostItemDetailService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.CmgCostTableBo;
import org.dromara.productManagement.domain.vo.CmgCostTableVo;
import org.dromara.productManagement.domain.CmgCostTable;
import org.dromara.productManagement.mapper.CmgCostTableMapper;
import org.dromara.productManagement.service.ICmgCostTableService;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.*;
/**
* 造价编制信息Service业务层处理
*
* @author Lion Li
* @date 2024-06-29
*/
@RequiredArgsConstructor
@Service
public class CmgCostTableServiceImpl implements ICmgCostTableService {
private final CmgCostTableMapper baseMapper;
@Autowired
private ICmgCostItemDetailService costItemDetailService;
@Override
public void addCostTable(CostDetailViewVo vo) {
vo.setCostDate(new Date());
costItemDetailService.addCostItemDetail(vo.getCostItemDetailList());//保存造价明细
CmgCostTableBo cmgCostTablebo = new CmgCostTableBo();
BeanUtils.copyProperties(vo,cmgCostTablebo);
insertByBo(cmgCostTablebo);//修改造价表
}
@Override
public void modifyCostTable(CostDetailViewVo vo) {
costItemDetailService.modifyCostItemDetail(vo.getCostItemDetailList());//保存造价明细
CmgCostTableBo cmgCostTablebo = new CmgCostTableBo();
BeanUtils.copyProperties(vo,cmgCostTablebo);
updateByBo(cmgCostTablebo);//修改造价表
}
@Override
public CostDetailViewVo getCostTableDetail(String id) {
CostDetailViewVo costDetailViewVO = new CostDetailViewVo();
CmgCostTableVo cmgCostTableVo = queryById(id);
costDetailViewVO.setId(id);
costDetailViewVO.setProjectName(cmgCostTableVo.getProjectName());
costDetailViewVO.setTotalInvestment(cmgCostTableVo.getTotalInvestment());
costDetailViewVO.setCostDate(cmgCostTableVo.getCostDate());
List<CmgCostItemDetailVo> costItemDetail = costItemDetailService.getCostItemDetail(cmgCostTableVo.getId());
costDetailViewVO.setCostItemDetailList(costItemDetail);
return costDetailViewVO;
}
@Override
public void exportData(String id, HttpServletResponse response) throws IOException {
//导出数据
//web设置
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String exportFileName = URLEncoder.encode("ces", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + exportFileName + ".xlsx");
response.setHeader("filename", exportFileName + ".xlsx");
response.setHeader("Access-Control-Expose-Headers", "filename");
//1.查询数据
CmgCostTableVo costTable = queryById(id);
List<CmgCostItemDetailVo> costItemDetail = costItemDetailService.getCostItemDetail(costTable.getId());
List<String> heads = new ArrayList<>();
heads.add("序号");
heads.add("费用类型");
heads.add("建设内容");
heads.add("小计(元)");
heads.add("备注");
List<String> childHeads = new ArrayList<>();
childHeads.add("序号");
childHeads.add("设备名称");
childHeads.add("主要技术参数");
childHeads.add("数量");
childHeads.add("单位");
childHeads.add("单价");
childHeads.add("小计");
List<Object> otherCostData = new ArrayList<>();
List<List<Object>> otherCostList= new ArrayList<>();
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
List<List<Object>> dataList = new ArrayList<>();
ExcelColumnMergeHandler columnMergeHandler = new ExcelColumnMergeHandler(1, new int[]{0, 1});
ExcelRowMergeHandler rowMergeHandler = new ExcelRowMergeHandler();
Integer xuhao= 1;
Integer num=0;
for (int i = 0; i < costItemDetail.size(); i++) {
CmgCostItemDetailVo costItemDetailVO = costItemDetail.get(i);
if(StringUtils.isBlank(costItemDetailVO.getCostType())){
List<Object> objects = getChildDataList(costItemDetailVO, i);
otherCostList.add(objects);
continue;
}
List<Object> objectList = getDataList(costItemDetail, i, xuhao);
dataList.add(objectList);
num = setChildDataSheet(costItemDetailVO,excelWriter,num,heads,childHeads,columnMergeHandler,rowMergeHandler);
}
num=num+1;
WriteSheet sheet2 = EasyExcel.writerSheet(num,"未分类费用").head(EasyExcelUtils.head(childHeads)).registerWriteHandler(columnMergeHandler).registerWriteHandler(rowMergeHandler).build();
excelWriter.write(otherCostList, sheet2);
WriteSheet sheet1 = EasyExcel.writerSheet(0, "项目投资概算总表").head(EasyExcelUtils.head(heads)).registerWriteHandler(columnMergeHandler).registerWriteHandler(rowMergeHandler).build();
excelWriter.write(dataList, sheet1);
excelWriter.finish();
//3.返回结果
}
/**
* 查询造价编制信息
*
* @param id 主键
* @return 造价编制信息
*/
@Override
public CmgCostTableVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询造价编制信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 造价编制信息分页列表
*/
@Override
public TableDataInfo<CmgCostTableVo> queryPageList(CmgCostTableBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CmgCostTable> lqw = buildQueryWrapper(bo);
Page<CmgCostTableVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的造价编制信息列表
*
* @param bo 查询条件
* @return 造价编制信息列表
*/
@Override
public List<CmgCostTableVo> queryList(CmgCostTableBo bo) {
LambdaQueryWrapper<CmgCostTable> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<CmgCostTable> buildQueryWrapper(CmgCostTableBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<CmgCostTable> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), CmgCostTable::getProjectName, bo.getProjectName());
lqw.eq(bo.getCostDate() != null, CmgCostTable::getCostDate, bo.getCostDate());
lqw.eq(bo.getTotalInvestment() != null, CmgCostTable::getTotalInvestment, bo.getTotalInvestment());
return lqw;
}
/**
* 新增造价编制信息
*
* @param bo 造价编制信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(CmgCostTableBo bo) {
CmgCostTable add = MapstructUtils.convert(bo, CmgCostTable.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改造价编制信息
*
* @param bo 造价编制信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(CmgCostTableBo bo) {
CmgCostTable update = MapstructUtils.convert(bo, CmgCostTable.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(CmgCostTable entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除造价编制信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
costItemDetailService.removeByCostTableId(ids);
return baseMapper.deleteBatchIds(ids) > 0;
}
private List<Object> getChildDataList(CmgCostItemDetailVo children, Integer j) {
List<Object> childObject = new ArrayList<>();
childObject.add(NumberChineseFormatter.format(j + 1, false, false));
childObject.add(children.getCostName());
childObject.add(children.getCostDescribe());
childObject.add(children.getQuantity());
childObject.add(children.getUnit());
childObject.add(children.getUnitPrice());
childObject.add(children.getTotalPrice());
return childObject;
}
private List<Object> getDataList(List<CmgCostItemDetailVo> costItemDetail, Integer i, Integer xuhao) {
CmgCostItemDetailVo costItemDetailVO = costItemDetail.get(i);
List<Object> objectList = new ArrayList<>();
if(i>=1){
//比较后一个和前一个是否一样
String newCostType = costItemDetailVO.getCostType();
String lastCostType = costItemDetail.get(i-1).getCostType();
if(!newCostType.equals(lastCostType)) {
xuhao=xuhao+1;
}
}
objectList.add(NumberChineseFormatter.format(xuhao,false,false));
objectList.add(costItemDetailVO.getCostType());
objectList.add(costItemDetailVO.getConstructContent());
objectList.add(costItemDetailVO.getTotalPrice());
objectList.add(costItemDetailVO.getRemarks());
return objectList;
}
/**
* 递归获取子节点数据
* @param costItemDetailVO
* @param num
* @return
*/
private Integer setChildDataSheet(CmgCostItemDetailVo costItemDetailVO,
ExcelWriter excelWriter,
Integer num,
List<String> heads,
List<String> childHeads,
ExcelColumnMergeHandler columnMergeHandler,
ExcelRowMergeHandler rowMergeHandler) {
List<CmgCostItemDetailVo> childrenList = costItemDetailVO.getChildren();
List<List<Object>> childDataList = new ArrayList<>();
Boolean isDetail = true;
for (Integer j = 0; j < childrenList.size(); j++) {
CmgCostItemDetailVo child = childrenList.get(j);
if(child.getIsDetail().equals("1")){
isDetail=true;
List<Object> childObject = getChildDataList(child, j);
childDataList.add(childObject);
List<CmgCostItemDetailVo> childChildren = child.getChildren();
if(childChildren.size()>0){
num = setChildDataSheet(child,excelWriter,num,heads,childHeads,columnMergeHandler,rowMergeHandler);
}
}else{
isDetail=false;
Integer xuhao=1;
List<Object> childObject = getDataList(childrenList, j, xuhao);
childDataList.add(childObject);
List<CmgCostItemDetailVo> childChildren = child.getChildren();
if(childChildren.size()>0){
num = setChildDataSheet(child,excelWriter,num,heads,childHeads,columnMergeHandler,rowMergeHandler);
}
}
}
num=num+1;
if(!isDetail){
WriteSheet sheet2 = EasyExcel.writerSheet(num,costItemDetailVO.getConstructContent()).head(EasyExcelUtils.head(heads)).registerWriteHandler(columnMergeHandler).registerWriteHandler(rowMergeHandler).build();
excelWriter.write(childDataList, sheet2);
return num;
}
WriteSheet sheet2 = EasyExcel.writerSheet(num,costItemDetailVO.getConstructContent()).head(EasyExcelUtils.head(childHeads)).registerWriteHandler(columnMergeHandler).registerWriteHandler(rowMergeHandler).build();
excelWriter.write(childDataList, sheet2);
return num;
}
}

133
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductModelDetailsServiceImpl.java

@ -0,0 +1,133 @@
package org.dromara.productManagement.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelDetailsBo;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import org.dromara.productManagement.domain.PmgCompanyProductModelDetails;
import org.dromara.productManagement.mapper.PmgCompanyProductModelDetailsMapper;
import org.dromara.productManagement.service.IPmgCompanyProductModelDetailsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 公司产品模型详情表Service业务层处理
*
* @author Lion Li
* @date 2024-07-01
*/
@RequiredArgsConstructor
@Service
public class PmgCompanyProductModelDetailsServiceImpl implements IPmgCompanyProductModelDetailsService {
private final PmgCompanyProductModelDetailsMapper baseMapper;
/**
* 查询公司产品模型详情表
*
* @param id 主键
* @return 公司产品模型详情表
*/
@Override
public PmgCompanyProductModelDetailsVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询公司产品模型详情表列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 公司产品模型详情表分页列表
*/
@Override
public TableDataInfo<PmgCompanyProductModelDetailsVo> queryPageList(PmgCompanyProductModelDetailsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgCompanyProductModelDetails> lqw = buildQueryWrapper(bo);
Page<PmgCompanyProductModelDetailsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的公司产品模型详情表列表
*
* @param bo 查询条件
* @return 公司产品模型详情表列表
*/
@Override
public List<PmgCompanyProductModelDetailsVo> queryList(PmgCompanyProductModelDetailsBo bo) {
LambdaQueryWrapper<PmgCompanyProductModelDetails> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgCompanyProductModelDetails> buildQueryWrapper(PmgCompanyProductModelDetailsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgCompanyProductModelDetails> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getModelId()), PmgCompanyProductModelDetails::getModelId, bo.getModelId());
lqw.like(StringUtils.isNotBlank(bo.getParamName()), PmgCompanyProductModelDetails::getParamName, bo.getParamName());
lqw.eq(StringUtils.isNotBlank(bo.getParameterValue()), PmgCompanyProductModelDetails::getParameterValue, bo.getParameterValue());
lqw.eq(StringUtils.isNotBlank(bo.getIsKeyParameter()), PmgCompanyProductModelDetails::getIsKeyParameter, bo.getIsKeyParameter());
lqw.eq(StringUtils.isNotBlank(bo.getIsTemporary()), PmgCompanyProductModelDetails::getIsTemporary, bo.getIsTemporary());
return lqw;
}
/**
* 新增公司产品模型详情表
*
* @param bo 公司产品模型详情表
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgCompanyProductModelDetailsBo bo) {
PmgCompanyProductModelDetails add = MapstructUtils.convert(bo, PmgCompanyProductModelDetails.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改公司产品模型详情表
*
* @param bo 公司产品模型详情表
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgCompanyProductModelDetailsBo bo) {
PmgCompanyProductModelDetails update = MapstructUtils.convert(bo, PmgCompanyProductModelDetails.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgCompanyProductModelDetails entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除公司产品模型详情表信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

196
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductModelServiceImpl.java

@ -0,0 +1,196 @@
package org.dromara.productManagement.service.impl;
import cn.hutool.core.collection.CollUtil;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.PmgCompanyProductModelDetails;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelBo;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelDetailsVo;
import org.dromara.productManagement.mapper.PmgCompanyProductModelDetailsMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgCompanyProductModelBo;
import org.dromara.productManagement.domain.vo.PmgCompanyProductModelVo;
import org.dromara.productManagement.domain.PmgCompanyProductModel;
import org.dromara.productManagement.mapper.PmgCompanyProductModelMapper;
import org.dromara.productManagement.service.IPmgCompanyProductModelService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 公司产品模型Service业务层处理
*
* @author Lion Li
* @date 2024-07-01
*/
@RequiredArgsConstructor
@Service
public class PmgCompanyProductModelServiceImpl implements IPmgCompanyProductModelService {
private final PmgCompanyProductModelMapper baseMapper;
private final PmgCompanyProductModelDetailsMapper pmgCompanyProductModelDetailsMapper;
@Override
public List<PmgCompanyProductModelDetailsVo> getModelDetails(String id) {
//根据型号id查询型号详情规格指标
LambdaQueryWrapper<PmgCompanyProductModelDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PmgCompanyProductModelDetails::getModelId, id);
List<PmgCompanyProductModelDetailsVo> list = pmgCompanyProductModelDetailsMapper.selectVoList(queryWrapper);
if (CollUtil.isEmpty(list)) {
return new ArrayList<>();
}
return list;
}
@Override
public String addModel(ProductModelViewBo<PmgCompanyProductModelDetailsBo> bo) {
PmgCompanyProductModelBo productModelBo = new PmgCompanyProductModelBo();
BeanUtils.copyProperties(bo, productModelBo);
insertByBo(productModelBo);
String modelId = productModelBo.getId();
List<PmgCompanyProductModelDetailsBo> modelDeatils = bo.getModelDeatils();
for (PmgCompanyProductModelDetailsBo item :modelDeatils
) {
item.setModelId(modelId);
PmgCompanyProductModelDetails modelDetails = MapstructUtils.convert(item, PmgCompanyProductModelDetails.class);
pmgCompanyProductModelDetailsMapper.insert(modelDetails);
}
//保存型号
return modelId;
}
@Override
public String editModel(ProductModelViewBo<PmgCompanyProductModelDetailsBo> bo) {
String id = bo.getId();
//删除原型号指标参数
LambdaQueryWrapper<PmgCompanyProductModelDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PmgCompanyProductModelDetails::getModelId, id);
pmgCompanyProductModelDetailsMapper.delete(queryWrapper);
List<PmgCompanyProductModelDetailsBo> modelDeatils = bo.getModelDeatils();
//给型号指标设置型号id,并保存
for (PmgCompanyProductModelDetailsBo item :modelDeatils
) {
item.setModelId(id);
item.setId(null);
item.setUpdateBy(null);
item.setUpdateTime(null);
PmgCompanyProductModelDetails modelDetails = MapstructUtils.convert(item, PmgCompanyProductModelDetails.class);
modelDetails.setIsTemporary("0");//修改的化,将临时标记改为0,表示非临时
pmgCompanyProductModelDetailsMapper.insert(modelDetails);
}
//保存型号
PmgCompanyProductModelBo productModelBo = new PmgCompanyProductModelBo();
BeanUtils.copyProperties(bo, productModelBo);
updateByBo(productModelBo);
return productModelBo.getId();
}
/**
* 查询公司产品模型
*
* @param id 主键
* @return 公司产品模型
*/
@Override
public PmgCompanyProductModelVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询公司产品模型列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 公司产品模型分页列表
*/
@Override
public TableDataInfo<PmgCompanyProductModelVo> queryPageList(PmgCompanyProductModelBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgCompanyProductModel> lqw = buildQueryWrapper(bo);
Page<PmgCompanyProductModelVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的公司产品模型列表
*
* @param bo 查询条件
* @return 公司产品模型列表
*/
@Override
public List<PmgCompanyProductModelVo> queryList(PmgCompanyProductModelBo bo) {
LambdaQueryWrapper<PmgCompanyProductModel> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgCompanyProductModel> buildQueryWrapper(PmgCompanyProductModelBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgCompanyProductModel> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDescription()), PmgCompanyProductModel::getDescription, bo.getDescription());
lqw.eq(StringUtils.isNotBlank(bo.getProductModelTemplateId()), PmgCompanyProductModel::getProductModelTemplateId, bo.getProductModelTemplateId());
lqw.eq(StringUtils.isNotBlank(bo.getIsTemporary()), PmgCompanyProductModel::getIsTemporary, bo.getIsTemporary());
return lqw;
}
/**
* 新增公司产品模型
*
* @param bo 公司产品模型
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgCompanyProductModelBo bo) {
PmgCompanyProductModel add = MapstructUtils.convert(bo, PmgCompanyProductModel.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改公司产品模型
*
* @param bo 公司产品模型
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgCompanyProductModelBo bo) {
PmgCompanyProductModel update = MapstructUtils.convert(bo, PmgCompanyProductModel.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgCompanyProductModel entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除公司产品模型信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

170
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgCompanyProductsServiceImpl.java

@ -0,0 +1,170 @@
package org.dromara.productManagement.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.*;
import org.dromara.productManagement.mapper.PmgCompanyProductModelDetailsMapper;
import org.dromara.productManagement.mapper.PmgCompanyProductModelMapper;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgCompanyProductsBo;
import org.dromara.productManagement.domain.vo.PmgCompanyProductsVo;
import org.dromara.productManagement.mapper.PmgCompanyProductsMapper;
import org.dromara.productManagement.service.IPmgCompanyProductsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 公司产品管理Service业务层处理
*
* @author Lion Li
* @date 2024-06-28
*/
@RequiredArgsConstructor
@Service
public class PmgCompanyProductsServiceImpl implements IPmgCompanyProductsService {
private final PmgCompanyProductsMapper baseMapper;
private final PmgCompanyProductModelDetailsMapper companyProductModelDetailsMapper;
private final PmgCompanyProductModelMapper companyProductModelMapper;
/**
* 查询公司产品管理
*
* @param id 主键
* @return 公司产品管理
*/
@Override
public PmgCompanyProductsVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询公司产品管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 公司产品管理分页列表
*/
@Override
public TableDataInfo<PmgCompanyProductsVo> queryPageList(PmgCompanyProductsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgCompanyProducts> lqw = buildQueryWrapper(bo);
Page<PmgCompanyProductsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的公司产品管理列表
*
* @param bo 查询条件
* @return 公司产品管理列表
*/
@Override
public List<PmgCompanyProductsVo> queryList(PmgCompanyProductsBo bo) {
LambdaQueryWrapper<PmgCompanyProducts> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgCompanyProducts> buildQueryWrapper(PmgCompanyProductsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgCompanyProducts> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getSupplierProductsId()), PmgCompanyProducts::getSupplierProductsId, bo.getSupplierProductsId());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierInformationId()), PmgCompanyProducts::getSupplierInformationId, bo.getSupplierInformationId());
lqw.eq(StringUtils.isNotBlank(bo.getProductSpecifications()), PmgCompanyProducts::getProductSpecifications, bo.getProductSpecifications());
lqw.like(StringUtils.isNotBlank(bo.getProductName()), PmgCompanyProducts::getProductName, bo.getProductName());
lqw.like(StringUtils.isNotBlank(bo.getProductIdentity()), PmgCompanyProducts::getProductIdentity, bo.getProductIdentity());
lqw.eq(bo.getProductPrice() != null, PmgCompanyProducts::getProductPrice, bo.getProductPrice());
lqw.eq(StringUtils.isNotBlank(bo.getSourceInformation()), PmgCompanyProducts::getSourceInformation, bo.getSourceInformation());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), PmgCompanyProducts::getRemarks, bo.getRemarks());
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), PmgCompanyProducts::getBrand, bo.getBrand());
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), PmgCompanyProducts::getUnit, bo.getUnit());
lqw.eq(bo.getExTaxPrice() != null, PmgCompanyProducts::getExTaxPrice, bo.getExTaxPrice());
lqw.eq(bo.getTaxrate() != null, PmgCompanyProducts::getTaxrate, bo.getTaxrate());
return lqw;
}
/**
* 新增公司产品管理
*
* @param bo 公司产品管理
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgCompanyProductsBo bo) {
PmgCompanyProducts add = MapstructUtils.convert(bo, PmgCompanyProducts.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
String modelId = add.getModelId();
if (StringUtils.isNotBlank(modelId)) {
// 更新型号的is_temporary标记为非临时数据
LambdaUpdateWrapper<PmgCompanyProductModel> modelUpdateWrapper = new LambdaUpdateWrapper<>();
modelUpdateWrapper.eq(PmgCompanyProductModel::getId, modelId);
modelUpdateWrapper.set(PmgCompanyProductModel::getIsTemporary, "0");
companyProductModelMapper.update(null,modelUpdateWrapper);
// 更新型号规格参数的is_temporary标记为非临时数据
LambdaUpdateWrapper<PmgCompanyProductModelDetails> detailsUpdateWrapper = new LambdaUpdateWrapper<>();
detailsUpdateWrapper.eq(PmgCompanyProductModelDetails::getModelId, modelId);
detailsUpdateWrapper.set(PmgCompanyProductModelDetails::getIsTemporary, "0");
companyProductModelDetailsMapper.update(null,detailsUpdateWrapper);
}
}
return flag;
}
/**
* 修改公司产品管理
*
* @param bo 公司产品管理
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgCompanyProductsBo bo) {
PmgCompanyProducts update = MapstructUtils.convert(bo, PmgCompanyProducts.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgCompanyProducts entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除公司产品管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
baseMapper.selectVoBatchIds(ids).forEach(item -> {
String modelId = item.getModelId();
if (StringUtils.isNotBlank(modelId)) {
LambdaUpdateWrapper<PmgCompanyProductModel> modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记
modelUpdateWrapper.eq(PmgCompanyProductModel::getId, modelId);
companyProductModelMapper.delete(modelUpdateWrapper);
// 更新型号规格参数的is_temporary标记为临时数据
LambdaUpdateWrapper<PmgCompanyProductModelDetails> detailsUpdateWrapper = new LambdaUpdateWrapper<>();
detailsUpdateWrapper.eq(PmgCompanyProductModelDetails::getModelId, modelId);
companyProductModelDetailsMapper.delete(detailsUpdateWrapper);
}
});
return baseMapper.deleteBatchIds(ids) > 0;
}
}

133
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductModelDetailsServiceImpl.java

@ -0,0 +1,133 @@
package org.dromara.productManagement.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelDetailsBo;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.dromara.productManagement.domain.PmgPersonProductModelDetails;
import org.dromara.productManagement.mapper.PmgPersonProductModelDetailsMapper;
import org.dromara.productManagement.service.IPmgPersonProductModelDetailsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 个人产品模型详情Service业务层处理
*
* @author Lion Li
* @date 2024-07-01
*/
@RequiredArgsConstructor
@Service
public class PmgPersonProductModelDetailsServiceImpl implements IPmgPersonProductModelDetailsService {
private final PmgPersonProductModelDetailsMapper baseMapper;
/**
* 查询个人产品模型详情
*
* @param id 主键
* @return 个人产品模型详情
*/
@Override
public PmgPersonProductModelDetailsVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询个人产品模型详情列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 个人产品模型详情分页列表
*/
@Override
public TableDataInfo<PmgPersonProductModelDetailsVo> queryPageList(PmgPersonProductModelDetailsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgPersonProductModelDetails> lqw = buildQueryWrapper(bo);
Page<PmgPersonProductModelDetailsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的个人产品模型详情列表
*
* @param bo 查询条件
* @return 个人产品模型详情列表
*/
@Override
public List<PmgPersonProductModelDetailsVo> queryList(PmgPersonProductModelDetailsBo bo) {
LambdaQueryWrapper<PmgPersonProductModelDetails> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgPersonProductModelDetails> buildQueryWrapper(PmgPersonProductModelDetailsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgPersonProductModelDetails> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getModelId()), PmgPersonProductModelDetails::getModelId, bo.getModelId());
lqw.like(StringUtils.isNotBlank(bo.getParamName()), PmgPersonProductModelDetails::getParamName, bo.getParamName());
lqw.eq(StringUtils.isNotBlank(bo.getParameterValue()), PmgPersonProductModelDetails::getParameterValue, bo.getParameterValue());
lqw.eq(StringUtils.isNotBlank(bo.getIsKeyParameter()), PmgPersonProductModelDetails::getIsKeyParameter, bo.getIsKeyParameter());
lqw.eq(StringUtils.isNotBlank(bo.getIsTemporary()), PmgPersonProductModelDetails::getIsTemporary, bo.getIsTemporary());
return lqw;
}
/**
* 新增个人产品模型详情
*
* @param bo 个人产品模型详情
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgPersonProductModelDetailsBo bo) {
PmgPersonProductModelDetails add = MapstructUtils.convert(bo, PmgPersonProductModelDetails.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改个人产品模型详情
*
* @param bo 个人产品模型详情
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgPersonProductModelDetailsBo bo) {
PmgPersonProductModelDetails update = MapstructUtils.convert(bo, PmgPersonProductModelDetails.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgPersonProductModelDetails entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除个人产品模型详情信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

197
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductModelServiceImpl.java

@ -0,0 +1,197 @@
package org.dromara.productManagement.service.impl;
import cn.hutool.core.collection.CollUtil;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.PmgPersonProductModelDetails;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelDetailsVo;
import org.dromara.productManagement.mapper.PmgPersonProductModelDetailsMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgPersonProductModelBo;
import org.dromara.productManagement.domain.vo.PmgPersonProductModelVo;
import org.dromara.productManagement.domain.PmgPersonProductModel;
import org.dromara.productManagement.mapper.PmgPersonProductModelMapper;
import org.dromara.productManagement.service.IPmgPersonProductModelService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 个人产品模型Service业务层处理
*
* @author Lion Li
* @date 2024-07-01
*/
@RequiredArgsConstructor
@Service
public class PmgPersonProductModelServiceImpl implements IPmgPersonProductModelService {
private final PmgPersonProductModelMapper baseMapper;
private final PmgPersonProductModelDetailsMapper pmgPersonProductModelDetailsMapper;
@Override
public List<PmgPersonProductModelDetailsVo> getModelDetails(String id) {
//根据型号id查询型号详情规格指标
LambdaQueryWrapper<PmgPersonProductModelDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PmgPersonProductModelDetails::getModelId, id);
List<PmgPersonProductModelDetailsVo> list = pmgPersonProductModelDetailsMapper.selectVoList(queryWrapper);
if (CollUtil.isEmpty(list)) {
return new ArrayList<>();
}
return list;
}
@Override
public String addModel(ProductModelViewBo<PmgPersonProductModelDetailsBo> bo) {
PmgPersonProductModelBo productModelBo = new PmgPersonProductModelBo();
BeanUtils.copyProperties(bo, productModelBo);
insertByBo(productModelBo);
String modelId = productModelBo.getId();
List<PmgPersonProductModelDetailsBo> modelDeatils = bo.getModelDeatils();
for (PmgPersonProductModelDetailsBo item :modelDeatils
) {
item.setModelId(modelId);
PmgPersonProductModelDetails modelDetails = MapstructUtils.convert(item, PmgPersonProductModelDetails.class);
pmgPersonProductModelDetailsMapper.insert(modelDetails);
}
//保存型号
return modelId;
}
@Override
public String editModel(ProductModelViewBo<PmgPersonProductModelDetailsBo> bo) {
String id = bo.getId();
//删除原型号指标参数
LambdaQueryWrapper<PmgPersonProductModelDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PmgPersonProductModelDetails::getModelId, id);
pmgPersonProductModelDetailsMapper.delete(queryWrapper);
List<PmgPersonProductModelDetailsBo> modelDeatils = bo.getModelDeatils();
//给型号指标设置型号id,并保存
for (PmgPersonProductModelDetailsBo item :modelDeatils
) {
item.setModelId(id);
item.setId(null);
item.setUpdateBy(null);
item.setUpdateTime(null);
PmgPersonProductModelDetails modelDetails = MapstructUtils.convert(item, PmgPersonProductModelDetails.class);
modelDetails.setIsTemporary("0");//修改的化,将临时标记改为0,表示非临时
pmgPersonProductModelDetailsMapper.insert(modelDetails);
}
//保存型号
PmgPersonProductModelBo productModelBo = new PmgPersonProductModelBo();
BeanUtils.copyProperties(bo, productModelBo);
updateByBo(productModelBo);
return productModelBo.getId();
}
/**
* 查询个人产品模型
*
* @param id 主键
* @return 个人产品模型
*/
@Override
public PmgPersonProductModelVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询个人产品模型列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 个人产品模型分页列表
*/
@Override
public TableDataInfo<PmgPersonProductModelVo> queryPageList(PmgPersonProductModelBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgPersonProductModel> lqw = buildQueryWrapper(bo);
Page<PmgPersonProductModelVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的个人产品模型列表
*
* @param bo 查询条件
* @return 个人产品模型列表
*/
@Override
public List<PmgPersonProductModelVo> queryList(PmgPersonProductModelBo bo) {
LambdaQueryWrapper<PmgPersonProductModel> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgPersonProductModel> buildQueryWrapper(PmgPersonProductModelBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgPersonProductModel> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDescription()), PmgPersonProductModel::getDescription, bo.getDescription());
lqw.eq(StringUtils.isNotBlank(bo.getProductModelTemplateId()), PmgPersonProductModel::getProductModelTemplateId, bo.getProductModelTemplateId());
lqw.eq(StringUtils.isNotBlank(bo.getIsTemporary()), PmgPersonProductModel::getIsTemporary, bo.getIsTemporary());
return lqw;
}
/**
* 新增个人产品模型
*
* @param bo 个人产品模型
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgPersonProductModelBo bo) {
PmgPersonProductModel add = MapstructUtils.convert(bo, PmgPersonProductModel.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改个人产品模型
*
* @param bo 个人产品模型
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgPersonProductModelBo bo) {
PmgPersonProductModel update = MapstructUtils.convert(bo, PmgPersonProductModel.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgPersonProductModel entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除个人产品模型信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

171
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgPersonProductsServiceImpl.java

@ -0,0 +1,171 @@
package org.dromara.productManagement.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.PmgPersonProductModel;
import org.dromara.productManagement.domain.PmgPersonProductModelDetails;
import org.dromara.productManagement.mapper.PmgPersonProductModelDetailsMapper;
import org.dromara.productManagement.mapper.PmgPersonProductModelMapper;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgPersonProductsBo;
import org.dromara.productManagement.domain.vo.PmgPersonProductsVo;
import org.dromara.productManagement.domain.PmgPersonProducts;
import org.dromara.productManagement.mapper.PmgPersonProductsMapper;
import org.dromara.productManagement.service.IPmgPersonProductsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 个人产品管理Service业务层处理
*
* @author Lion Li
* @date 2024-06-28
*/
@RequiredArgsConstructor
@Service
public class PmgPersonProductsServiceImpl implements IPmgPersonProductsService {
private final PmgPersonProductsMapper baseMapper;
private final PmgPersonProductModelDetailsMapper personProductModelDetailsMapper;
private final PmgPersonProductModelMapper personProductModelMapper;
/**
* 查询个人产品管理
*
* @param id 主键
* @return 个人产品管理
*/
@Override
public PmgPersonProductsVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询个人产品管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 个人产品管理分页列表
*/
@Override
public TableDataInfo<PmgPersonProductsVo> queryPageList(PmgPersonProductsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgPersonProducts> lqw = buildQueryWrapper(bo);
Page<PmgPersonProductsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的个人产品管理列表
*
* @param bo 查询条件
* @return 个人产品管理列表
*/
@Override
public List<PmgPersonProductsVo> queryList(PmgPersonProductsBo bo) {
LambdaQueryWrapper<PmgPersonProducts> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgPersonProducts> buildQueryWrapper(PmgPersonProductsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgPersonProducts> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getSupplierInformationId()), PmgPersonProducts::getSupplierInformationId, bo.getSupplierInformationId());
lqw.like(StringUtils.isNotBlank(bo.getProductName()), PmgPersonProducts::getProductName, bo.getProductName());
lqw.eq(StringUtils.isNotBlank(bo.getProductIdentity()), PmgPersonProducts::getProductIdentity, bo.getProductIdentity());
lqw.eq(bo.getProductPrice() != null, PmgPersonProducts::getProductPrice, bo.getProductPrice());
lqw.eq(StringUtils.isNotBlank(bo.getSourceInformation()), PmgPersonProducts::getSourceInformation, bo.getSourceInformation());
lqw.eq(StringUtils.isNotBlank(bo.getProductSpecifications()), PmgPersonProducts::getProductSpecifications, bo.getProductSpecifications());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierProductsId()), PmgPersonProducts::getSupplierProductsId, bo.getSupplierProductsId());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), PmgPersonProducts::getRemarks, bo.getRemarks());
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), PmgPersonProducts::getBrand, bo.getBrand());
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), PmgPersonProducts::getUnit, bo.getUnit());
lqw.eq(bo.getExTaxPrice() != null, PmgPersonProducts::getExTaxPrice, bo.getExTaxPrice());
lqw.eq(bo.getTaxrate() != null, PmgPersonProducts::getTaxrate, bo.getTaxrate());
return lqw;
}
/**
* 新增个人产品管理
*
* @param bo 个人产品管理
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgPersonProductsBo bo) {
PmgPersonProducts add = MapstructUtils.convert(bo, PmgPersonProducts.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
String modelId = add.getModelId();
if (StringUtils.isNotBlank(modelId)) {
// 更新型号的is_temporary标记为非临时数据
LambdaUpdateWrapper<PmgPersonProductModel> modelUpdateWrapper = new LambdaUpdateWrapper<>();
modelUpdateWrapper.eq(PmgPersonProductModel::getId, modelId);
modelUpdateWrapper.set(PmgPersonProductModel::getIsTemporary, "0");
personProductModelMapper.update(null,modelUpdateWrapper);
// 更新型号规格参数的is_temporary标记为非临时数据
LambdaUpdateWrapper<PmgPersonProductModelDetails> detailsUpdateWrapper = new LambdaUpdateWrapper<>();
detailsUpdateWrapper.eq(PmgPersonProductModelDetails::getModelId, modelId);
detailsUpdateWrapper.set(PmgPersonProductModelDetails::getIsTemporary, "0");
personProductModelDetailsMapper.update(null,detailsUpdateWrapper);
}
}
return flag;
}
/**
* 修改个人产品管理
*
* @param bo 个人产品管理
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgPersonProductsBo bo) {
PmgPersonProducts update = MapstructUtils.convert(bo, PmgPersonProducts.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgPersonProducts entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除个人产品管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
baseMapper.selectVoBatchIds(ids).forEach(item -> {
String modelId = item.getModelId();
if (StringUtils.isNotBlank(modelId)) {
LambdaUpdateWrapper<PmgPersonProductModel> modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记
modelUpdateWrapper.eq(PmgPersonProductModel::getId, modelId);
personProductModelMapper.delete(modelUpdateWrapper);
// 更新型号规格参数的is_temporary标记为临时数据
LambdaUpdateWrapper<PmgPersonProductModelDetails> detailsUpdateWrapper = new LambdaUpdateWrapper<>();
detailsUpdateWrapper.eq(PmgPersonProductModelDetails::getModelId, modelId);
personProductModelDetailsMapper.delete(detailsUpdateWrapper);
}
});
return baseMapper.deleteBatchIds(ids) > 0;
}
}

133
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierInformationServiceImpl.java

@ -0,0 +1,133 @@
package org.dromara.productManagement.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgSupplierInformationBo;
import org.dromara.productManagement.domain.vo.PmgSupplierInformationVo;
import org.dromara.productManagement.domain.PmgSupplierInformation;
import org.dromara.productManagement.mapper.PmgSupplierInformationMapper;
import org.dromara.productManagement.service.IPmgSupplierInformationService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商信息管理Service业务层处理
*
* @author Lion Li
* @date 2024-06-28
*/
@RequiredArgsConstructor
@Service
public class PmgSupplierInformationServiceImpl implements IPmgSupplierInformationService {
private final PmgSupplierInformationMapper baseMapper;
/**
* 查询供应商信息管理
*
* @param id 主键
* @return 供应商信息管理
*/
@Override
public PmgSupplierInformationVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商信息管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商信息管理分页列表
*/
@Override
public TableDataInfo<PmgSupplierInformationVo> queryPageList(PmgSupplierInformationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgSupplierInformation> lqw = buildQueryWrapper(bo);
Page<PmgSupplierInformationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商信息管理列表
*
* @param bo 查询条件
* @return 供应商信息管理列表
*/
@Override
public List<PmgSupplierInformationVo> queryList(PmgSupplierInformationBo bo) {
LambdaQueryWrapper<PmgSupplierInformation> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgSupplierInformation> buildQueryWrapper(PmgSupplierInformationBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgSupplierInformation> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), PmgSupplierInformation::getSupplierName, bo.getSupplierName());
lqw.like(StringUtils.isNotBlank(bo.getSupplierContacts()), PmgSupplierInformation::getSupplierContacts, bo.getSupplierContacts());
lqw.eq(StringUtils.isNotBlank(bo.getPosition()), PmgSupplierInformation::getPosition, bo.getPosition());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierContactsPhone()), PmgSupplierInformation::getSupplierContactsPhone, bo.getSupplierContactsPhone());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierType()), PmgSupplierInformation::getSupplierType, bo.getSupplierType());
return lqw;
}
/**
* 新增供应商信息管理
*
* @param bo 供应商信息管理
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgSupplierInformationBo bo) {
PmgSupplierInformation add = MapstructUtils.convert(bo, PmgSupplierInformation.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应商信息管理
*
* @param bo 供应商信息管理
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgSupplierInformationBo bo) {
PmgSupplierInformation update = MapstructUtils.convert(bo, PmgSupplierInformation.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgSupplierInformation entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商信息管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

133
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductModelDetailsServiceImpl.java

@ -0,0 +1,133 @@
package org.dromara.productManagement.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelDetailsBo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.dromara.productManagement.domain.PmgSupplierProductModelDetails;
import org.dromara.productManagement.mapper.PmgSupplierProductModelDetailsMapper;
import org.dromara.productManagement.service.IPmgSupplierProductModelDetailsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商产品模型详细Service业务层处理
*
* @author Lion Li
* @date 2024-07-01
*/
@RequiredArgsConstructor
@Service
public class PmgSupplierProductModelDetailsServiceImpl implements IPmgSupplierProductModelDetailsService {
private final PmgSupplierProductModelDetailsMapper baseMapper;
/**
* 查询供应商产品模型详细
*
* @param id 主键
* @return 供应商产品模型详细
*/
@Override
public PmgSupplierProductModelDetailsVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商产品模型详细列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商产品模型详细分页列表
*/
@Override
public TableDataInfo<PmgSupplierProductModelDetailsVo> queryPageList(PmgSupplierProductModelDetailsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgSupplierProductModelDetails> lqw = buildQueryWrapper(bo);
Page<PmgSupplierProductModelDetailsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商产品模型详细列表
*
* @param bo 查询条件
* @return 供应商产品模型详细列表
*/
@Override
public List<PmgSupplierProductModelDetailsVo> queryList(PmgSupplierProductModelDetailsBo bo) {
LambdaQueryWrapper<PmgSupplierProductModelDetails> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgSupplierProductModelDetails> buildQueryWrapper(PmgSupplierProductModelDetailsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgSupplierProductModelDetails> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getModelId()), PmgSupplierProductModelDetails::getModelId, bo.getModelId());
lqw.like(StringUtils.isNotBlank(bo.getParamName()), PmgSupplierProductModelDetails::getParamName, bo.getParamName());
lqw.eq(StringUtils.isNotBlank(bo.getParameterValue()), PmgSupplierProductModelDetails::getParameterValue, bo.getParameterValue());
lqw.eq(StringUtils.isNotBlank(bo.getIsKeyParameter()), PmgSupplierProductModelDetails::getIsKeyParameter, bo.getIsKeyParameter());
lqw.eq(StringUtils.isNotBlank(bo.getIsTemporary()), PmgSupplierProductModelDetails::getIsTemporary, bo.getIsTemporary());
return lqw;
}
/**
* 新增供应商产品模型详细
*
* @param bo 供应商产品模型详细
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgSupplierProductModelDetailsBo bo) {
PmgSupplierProductModelDetails add = MapstructUtils.convert(bo, PmgSupplierProductModelDetails.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应商产品模型详细
*
* @param bo 供应商产品模型详细
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgSupplierProductModelDetailsBo bo) {
PmgSupplierProductModelDetails update = MapstructUtils.convert(bo, PmgSupplierProductModelDetails.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgSupplierProductModelDetails entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商产品模型详细信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

196
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductModelServiceImpl.java

@ -0,0 +1,196 @@
package org.dromara.productManagement.service.impl;
import cn.hutool.core.collection.CollUtil;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.PmgSupplierProductModelDetails;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelBo;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelDetailsBo;
import org.dromara.productManagement.domain.bo.ProductModelViewBo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelDetailsVo;
import org.dromara.productManagement.mapper.PmgSupplierProductModelDetailsMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgSupplierProductModelBo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductModelVo;
import org.dromara.productManagement.domain.PmgSupplierProductModel;
import org.dromara.productManagement.mapper.PmgSupplierProductModelMapper;
import org.dromara.productManagement.service.IPmgSupplierProductModelService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商产品模型Service业务层处理
*
* @author Lion Li
* @date 2024-07-01
*/
@RequiredArgsConstructor
@Service
public class PmgSupplierProductModelServiceImpl implements IPmgSupplierProductModelService {
private final PmgSupplierProductModelMapper baseMapper;
private final PmgSupplierProductModelDetailsMapper pmgSupplierProductModelDetailsMapper;
@Override
public List<PmgSupplierProductModelDetailsVo> getModelDetails(String id) {
//根据型号id查询型号详情规格指标
LambdaQueryWrapper<PmgSupplierProductModelDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PmgSupplierProductModelDetails::getModelId, id);
List<PmgSupplierProductModelDetailsVo> list = pmgSupplierProductModelDetailsMapper.selectVoList(queryWrapper);
if (CollUtil.isEmpty(list)) {
return new ArrayList<>();
}
return list;
}
@Override
public String addModel(ProductModelViewBo<PmgSupplierProductModelDetailsBo> bo) {
PmgSupplierProductModelBo productModelBo = new PmgSupplierProductModelBo();
BeanUtils.copyProperties(bo, productModelBo);
insertByBo(productModelBo);
String modelId = productModelBo.getId();
List<PmgSupplierProductModelDetailsBo> modelDeatils = bo.getModelDeatils();
for (PmgSupplierProductModelDetailsBo item :modelDeatils
) {
item.setModelId(modelId);
PmgSupplierProductModelDetails modelDetails = MapstructUtils.convert(item, PmgSupplierProductModelDetails.class);
pmgSupplierProductModelDetailsMapper.insert(modelDetails);
}
//保存型号
return modelId;
}
@Override
public String editModel(ProductModelViewBo<PmgSupplierProductModelDetailsBo> bo) {
String id = bo.getId();
//删除原型号指标参数
LambdaQueryWrapper<PmgSupplierProductModelDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PmgSupplierProductModelDetails::getModelId, id);
pmgSupplierProductModelDetailsMapper.delete(queryWrapper);
List<PmgSupplierProductModelDetailsBo> modelDeatils = bo.getModelDeatils();
//给型号指标设置型号id,并保存
for (PmgSupplierProductModelDetailsBo item :modelDeatils
) {
item.setModelId(id);
item.setId(null);
item.setUpdateBy(null);
item.setUpdateTime(null);
PmgSupplierProductModelDetails modelDetails = MapstructUtils.convert(item, PmgSupplierProductModelDetails.class);
modelDetails.setIsTemporary("0");//修改的化,将临时标记改为0,表示非临时
pmgSupplierProductModelDetailsMapper.insert(modelDetails);
}
//保存型号
PmgSupplierProductModelBo productModelBo = new PmgSupplierProductModelBo();
BeanUtils.copyProperties(bo, productModelBo);
updateByBo(productModelBo);
return productModelBo.getId();
}
/**
* 查询供应商产品模型
*
* @param id 主键
* @return 供应商产品模型
*/
@Override
public PmgSupplierProductModelVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商产品模型列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商产品模型分页列表
*/
@Override
public TableDataInfo<PmgSupplierProductModelVo> queryPageList(PmgSupplierProductModelBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgSupplierProductModel> lqw = buildQueryWrapper(bo);
Page<PmgSupplierProductModelVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商产品模型列表
*
* @param bo 查询条件
* @return 供应商产品模型列表
*/
@Override
public List<PmgSupplierProductModelVo> queryList(PmgSupplierProductModelBo bo) {
LambdaQueryWrapper<PmgSupplierProductModel> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgSupplierProductModel> buildQueryWrapper(PmgSupplierProductModelBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgSupplierProductModel> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDescription()), PmgSupplierProductModel::getDescription, bo.getDescription());
lqw.eq(StringUtils.isNotBlank(bo.getProductModelTemplateId()), PmgSupplierProductModel::getProductModelTemplateId, bo.getProductModelTemplateId());
lqw.eq(StringUtils.isNotBlank(bo.getIsTemporary()), PmgSupplierProductModel::getIsTemporary, bo.getIsTemporary());
return lqw;
}
/**
* 新增供应商产品模型
*
* @param bo 供应商产品模型
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgSupplierProductModelBo bo) {
PmgSupplierProductModel add = MapstructUtils.convert(bo, PmgSupplierProductModel.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应商产品模型
*
* @param bo 供应商产品模型
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgSupplierProductModelBo bo) {
PmgSupplierProductModel update = MapstructUtils.convert(bo, PmgSupplierProductModel.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgSupplierProductModel entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商产品模型信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

241
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/PmgSupplierProductsServiceImpl.java

@ -0,0 +1,241 @@
package org.dromara.productManagement.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.elasticsearch.entity.SupplierProductsDTO;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.productManagement.domain.*;
import org.dromara.productManagement.mapper.PmgSupplierProductModelDetailsMapper;
import org.dromara.productManagement.mapper.PmgSupplierProductModelMapper;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.dromara.productManagement.domain.bo.PmgSupplierProductsBo;
import org.dromara.productManagement.domain.vo.PmgSupplierProductsVo;
import org.dromara.productManagement.mapper.PmgSupplierProductsMapper;
import org.dromara.productManagement.service.IPmgSupplierProductsService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商产品管理Service业务层处理
*
* @author Lion Li
* @date 2024-06-28
*/
@RequiredArgsConstructor
@Service
public class PmgSupplierProductsServiceImpl implements IPmgSupplierProductsService {
private final PmgSupplierProductsMapper baseMapper;
private final PmgSupplierProductModelDetailsMapper supplierProductModelDetailsMapper;
private final PmgSupplierProductModelMapper supplierProductModelMapper;
@Autowired
private RestHighLevelClient client;
/**
* 查询供应商产品管理
*
* @param id 主键
* @return 供应商产品管理
*/
@Override
public PmgSupplierProductsVo queryById(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商产品管理列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商产品管理分页列表
*/
@Override
public TableDataInfo<PmgSupplierProductsVo> queryPageList(PmgSupplierProductsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<PmgSupplierProducts> lqw = buildQueryWrapper(bo);
Page<PmgSupplierProductsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
if(StringUtils.isNotBlank(bo.getProductName())){
result=querypagebyes(bo,pageQuery);
}
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商产品管理列表
*
* @param bo 查询条件
* @return 供应商产品管理列表
*/
@Override
public List<PmgSupplierProductsVo> queryList(PmgSupplierProductsBo bo) {
LambdaQueryWrapper<PmgSupplierProducts> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<PmgSupplierProducts> buildQueryWrapper(PmgSupplierProductsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<PmgSupplierProducts> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getSupplierInformationId()), PmgSupplierProducts::getSupplierInformationId, bo.getSupplierInformationId());
lqw.eq(StringUtils.isNotBlank(bo.getProductSpecifications()), PmgSupplierProducts::getProductSpecifications, bo.getProductSpecifications());
lqw.like(StringUtils.isNotBlank(bo.getProductName()), PmgSupplierProducts::getProductName, bo.getProductName());
lqw.like(StringUtils.isNotBlank(bo.getProductIdentity()), PmgSupplierProducts::getProductIdentity, bo.getProductIdentity());
lqw.eq(bo.getProductPrice() != null, PmgSupplierProducts::getProductPrice, bo.getProductPrice());
lqw.like(StringUtils.isNotBlank(bo.getSourceInformation()), PmgSupplierProducts::getSourceInformation, bo.getSourceInformation());
lqw.like(StringUtils.isNotBlank(bo.getRemarks()), PmgSupplierProducts::getRemarks, bo.getRemarks());
lqw.eq(StringUtils.isNotBlank(bo.getImage()), PmgSupplierProducts::getImage, bo.getImage());
lqw.eq(StringUtils.isNotBlank(bo.getBrand()), PmgSupplierProducts::getBrand, bo.getBrand());
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), PmgSupplierProducts::getUnit, bo.getUnit());
lqw.eq(bo.getExTaxPrice() != null, PmgSupplierProducts::getExTaxPrice, bo.getExTaxPrice());
lqw.eq(bo.getTaxrate() != null, PmgSupplierProducts::getTaxrate, bo.getTaxrate());
lqw.eq(StringUtils.isNotBlank(bo.getCategoryId()), PmgSupplierProducts::getCategoryId, bo.getCategoryId());
lqw.eq(StringUtils.isNotBlank(bo.getModelId()), PmgSupplierProducts::getModelId, bo.getModelId());
return lqw;
}
/**
* 新增供应商产品管理
*
* @param bo 供应商产品管理
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(PmgSupplierProductsBo bo) {
PmgSupplierProducts add = MapstructUtils.convert(bo, PmgSupplierProducts.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
String modelId = add.getModelId();
if (StringUtils.isNotBlank(modelId)) {
// 更新型号的is_temporary标记为非临时数据
LambdaUpdateWrapper<PmgSupplierProductModel> modelUpdateWrapper = new LambdaUpdateWrapper<>();
modelUpdateWrapper.eq(PmgSupplierProductModel::getId, modelId);
modelUpdateWrapper.set(PmgSupplierProductModel::getIsTemporary, "0");
supplierProductModelMapper.update(null,modelUpdateWrapper);
// 更新型号规格参数的is_temporary标记为非临时数据
LambdaUpdateWrapper<PmgSupplierProductModelDetails> detailsUpdateWrapper = new LambdaUpdateWrapper<>();
detailsUpdateWrapper.eq(PmgSupplierProductModelDetails::getModelId, modelId);
detailsUpdateWrapper.set(PmgSupplierProductModelDetails::getIsTemporary, "0");
supplierProductModelDetailsMapper.update(null,detailsUpdateWrapper);
}
}
return flag;
}
/**
* 修改供应商产品管理
*
* @param bo 供应商产品管理
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(PmgSupplierProductsBo bo) {
PmgSupplierProducts update = MapstructUtils.convert(bo, PmgSupplierProducts.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(PmgSupplierProducts entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商产品管理信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
baseMapper.selectVoBatchIds(ids).forEach(item -> {
String modelId = item.getModelId();
if (StringUtils.isNotBlank(modelId)) {
LambdaUpdateWrapper<PmgSupplierProductModel> modelUpdateWrapper = new LambdaUpdateWrapper<>(); // 临时数据标记
modelUpdateWrapper.eq(PmgSupplierProductModel::getId, modelId);
supplierProductModelMapper.delete(modelUpdateWrapper);
// 更新型号规格参数的is_temporary标记为临时数据
LambdaUpdateWrapper<PmgSupplierProductModelDetails> detailsUpdateWrapper = new LambdaUpdateWrapper<>();
detailsUpdateWrapper.eq(PmgSupplierProductModelDetails::getModelId, modelId);
supplierProductModelDetailsMapper.delete(detailsUpdateWrapper);
}
});
return baseMapper.deleteBatchIds(ids) > 0;
}
public Page<PmgSupplierProductsVo> querypagebyes(PmgSupplierProductsBo bo, PageQuery pageQuery) {
// 执行查询
Page<PmgSupplierProductsVo> supplierProductsVOPage = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
List<PmgSupplierProductsVo> supplierProductsVOList =new ArrayList<>();
String productName = bo.getProductName();
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
SearchRequest searchRequest = new SearchRequest("pmg_supplier_products");
// //高亮器
HighlightBuilder highlightBuilder = new HighlightBuilder();
highlightBuilder.requireFieldMatch(false)//多字段时,需要设置为false//因为高亮查询默认是对查询字段即description就行高亮,可以关闭字段匹配,这样就可以对查询到的多个字段(前提是有关键词并且改字段可以分词)进行高亮显示
.field("product_name")//若有关键字切可以分词,则可以高亮,写*可以匹配所有字段
.field("product_specifications")//若有关键字切可以分词,则可以高亮,写*可以匹配所有字段
.preTags("<span style=\"color: red;\">")//手动前缀标签
.postTags("</span>");
searchSourceBuilder
.query(QueryBuilders.multiMatchQuery(productName, "product_name", "product_specifications"))
.highlighter(highlightBuilder)
.from(pageQuery.getPageNum()-1) //起始位置:start=(page-1)*size
.size(pageQuery.getPageSize()); //每页显示条数;
searchRequest.source(searchSourceBuilder);
try {
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
// 解析结果
SearchHits hits = response.getHits();
supplierProductsVOPage.setTotal(response.getHits().getTotalHits().value);
SearchHit[] searchHits = hits.getHits();
ObjectMapper mapper = new ObjectMapper();
for (SearchHit hit : searchHits) {
String json =mapper.writeValueAsString(hit.getSourceAsMap());
SupplierProductsDTO supplierProductsDTO = mapper.readValue(json, SupplierProductsDTO.class);
PmgSupplierProductsVo supplierProductsVO = new PmgSupplierProductsVo();
BeanUtils.copyProperties(supplierProductsDTO,supplierProductsVO);
if(hit.getHighlightFields().get("product_name")!=null){
supplierProductsVO.setProductName(hit.getHighlightFields().get("product_name").getFragments()[0].toString());
}
if(hit.getHighlightFields().get("product_specifications")!=null){
supplierProductsVO.setProductSpecifications(hit.getHighlightFields().get("product_specifications").getFragments()[0].toString());
}
supplierProductsVOList.add(supplierProductsVO);
}
supplierProductsVOPage.setRecords(supplierProductsVOList);
return supplierProductsVOPage;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save