Kaynağa Gözat

1,新增benam,mapper,service

Administrator 5 ay önce
ebeveyn
işleme
ebb28eed70
43 değiştirilmiş dosya ile 998 ekleme ve 605 silme
  1. 66 12
      pom.xml
  2. 15 9
      src/main/java/com/zjt/ManagerApplication.java
  3. 3 3
      src/main/java/com/zjt/config/MyWebMvcConfigurerAdapter.java
  4. 0 291
      src/main/java/com/zjt/entity/ProductionHeader.java
  5. 29 0
      src/main/java/com/zjt/entity/ProductionVariety.java
  6. 31 0
      src/main/java/com/zjt/entity/ProductionVarietyAdd.java
  7. 33 0
      src/main/java/com/zjt/entity/ProductionVarietyDetail.java
  8. 31 0
      src/main/java/com/zjt/entity/ProductionVarietyDetailColour.java
  9. 33 0
      src/main/java/com/zjt/entity/ProductionVarietyTd.java
  10. 125 0
      src/main/java/com/zjt/entity/Productionheader.java
  11. 16 0
      src/main/java/com/zjt/mapper/ProductionVarietyAddMapper.java
  12. 16 0
      src/main/java/com/zjt/mapper/ProductionVarietyDetailColourMapper.java
  13. 16 0
      src/main/java/com/zjt/mapper/ProductionVarietyDetailMapper.java
  14. 16 0
      src/main/java/com/zjt/mapper/ProductionVarietyMapper.java
  15. 16 0
      src/main/java/com/zjt/mapper/ProductionVarietyTdMapper.java
  16. 16 0
      src/main/java/com/zjt/mapper/ProductionheaderMapper.java
  17. 16 0
      src/main/java/com/zjt/service/IProductionVarietyAddService.java
  18. 16 0
      src/main/java/com/zjt/service/IProductionVarietyDetailColourService.java
  19. 16 0
      src/main/java/com/zjt/service/IProductionVarietyDetailService.java
  20. 16 0
      src/main/java/com/zjt/service/IProductionVarietyService.java
  21. 16 0
      src/main/java/com/zjt/service/IProductionVarietyTdService.java
  22. 16 0
      src/main/java/com/zjt/service/IProductionheaderService.java
  23. 20 0
      src/main/java/com/zjt/service/impl/ProductionVarietyAddServiceImpl.java
  24. 20 0
      src/main/java/com/zjt/service/impl/ProductionVarietyDetailColourServiceImpl.java
  25. 20 0
      src/main/java/com/zjt/service/impl/ProductionVarietyDetailServiceImpl.java
  26. 20 0
      src/main/java/com/zjt/service/impl/ProductionVarietyServiceImpl.java
  27. 20 0
      src/main/java/com/zjt/service/impl/ProductionVarietyTdServiceImpl.java
  28. 20 0
      src/main/java/com/zjt/service/impl/ProductionheaderServiceImpl.java
  29. 1 1
      src/main/java/com/zjt/web/MenuController.java
  30. 20 0
      src/main/java/com/zjt/web/ProductionVarietyAddController.java
  31. 20 0
      src/main/java/com/zjt/web/ProductionVarietyController.java
  32. 20 0
      src/main/java/com/zjt/web/ProductionVarietyDetailColourController.java
  33. 20 0
      src/main/java/com/zjt/web/ProductionVarietyDetailController.java
  34. 20 0
      src/main/java/com/zjt/web/ProductionVarietyTdController.java
  35. 20 0
      src/main/java/com/zjt/web/ProductionheaderController.java
  36. 165 285
      src/main/java/com/zjt/web/UserController.java
  37. 4 4
      src/main/resources/application-dev.properties
  38. 5 0
      src/main/resources/mapper/ProductionVarietyAddMapper.xml
  39. 5 0
      src/main/resources/mapper/ProductionVarietyDetailColourMapper.xml
  40. 5 0
      src/main/resources/mapper/ProductionVarietyDetailMapper.xml
  41. 5 0
      src/main/resources/mapper/ProductionVarietyMapper.xml
  42. 5 0
      src/main/resources/mapper/ProductionVarietyTdMapper.xml
  43. 5 0
      src/main/resources/mapper/ProductionheaderMapper.xml

+ 66 - 12
pom.xml

@@ -14,8 +14,8 @@
14 14
 	<parent>
15 15
 		<groupId>org.springframework.boot</groupId>
16 16
 		<artifactId>spring-boot-starter-parent</artifactId>
17
-		<version>1.5.10.RELEASE</version>
18
-		<relativePath/> <!-- lookup parent from repository -->
17
+		<version>2.7.0</version> <!-- 使用稳定版本 -->
18
+		<relativePath/>
19 19
 	</parent>
20 20
 
21 21
 	<properties>
@@ -30,13 +30,34 @@
30 30
 			<groupId>org.springframework.boot</groupId>
31 31
 			<artifactId>spring-boot-starter-freemarker</artifactId>
32 32
 		</dependency>
33
-
33
+		<dependency>
34
+			<groupId>javax.validation</groupId>
35
+			<artifactId>validation-api</artifactId>
36
+			<version>2.0.1.Final</version>
37
+		</dependency>
38
+		<dependency>
39
+			<groupId>org.hibernate.validator</groupId>
40
+			<artifactId>hibernate-validator</artifactId>
41
+			<version>6.0.13.Final</version>
42
+		</dependency>
43
+		<dependency>
44
+			<groupId>com.alibaba</groupId>
45
+			<artifactId>druid-spring-boot-starter</artifactId>
46
+			<version>1.2.23</version>
47
+		</dependency>
48
+		<dependency>
49
+			<groupId>org.springframework.boot</groupId>
50
+			<artifactId>spring-boot-starter-jdbc</artifactId>
51
+		</dependency>
34 52
 		<!--springboot测试组件-->
35 53
 		<dependency>
36 54
 			<groupId>org.springframework.boot</groupId>
37 55
 			<artifactId>spring-boot-starter-test</artifactId>
38 56
 		</dependency>
39
-
57
+		<dependency>
58
+			<groupId>org.springframework.boot</groupId>
59
+			<artifactId>spring-boot-starter-web</artifactId>
60
+		</dependency>
40 61
 		<!--springboot热部署组件-->
41 62
 		<dependency>
42 63
 			<groupId>org.springframework.boot</groupId>
@@ -50,14 +71,17 @@
50 71
 			<artifactId>mybatis-spring-boot-starter</artifactId>
51 72
 			<version>1.3.1</version>
52 73
 		</dependency>
53
-
54 74
 		<!--通用mapper-->
55 75
 		<dependency>
56 76
 			<groupId>tk.mybatis</groupId>
57 77
 			<artifactId>mapper-spring-boot-starter</artifactId>
58 78
 			<version>1.1.5</version>
59 79
 		</dependency>
60
-
80
+		<dependency>
81
+			<groupId>org.springdoc</groupId>
82
+			<artifactId>springdoc-openapi-ui</artifactId>
83
+			<version>1.6.14</version>
84
+		</dependency>
61 85
 		<!--pagehelper 分页插件-->
62 86
 		<dependency>
63 87
 			<groupId>com.github.pagehelper</groupId>
@@ -91,8 +115,16 @@
91 115
 			<artifactId>aspectjweaver</artifactId>
92 116
 			<version>1.8.0</version>
93 117
 		</dependency>
94
-
95
-
118
+		<dependency>
119
+			<groupId>com.baomidou</groupId>
120
+			<artifactId>mybatis-plus-boot-starter</artifactId>
121
+			<version>3.5.3.1</version>
122
+		</dependency>
123
+		<dependency>
124
+			<groupId>io.springfox</groupId>
125
+			<artifactId>springfox-swagger2</artifactId>
126
+			<version>2.9.2</version>
127
+		</dependency>
96 128
 		<dependency>
97 129
 			<groupId>org.apache.shiro</groupId>
98 130
 			<artifactId>shiro-core</artifactId>
@@ -109,15 +141,37 @@
109 141
 			<groupId>com.google.code.gson</groupId>
110 142
 			<artifactId>gson</artifactId>
111 143
 		</dependency>
112
-
113
-
114 144
 		<dependency>
115 145
 			<groupId>org.apache.commons</groupId>
116 146
 			<artifactId>commons-lang3</artifactId>
117 147
 			<version>3.4</version>
118 148
 		</dependency>
119
-
120
-
149
+		<dependency>
150
+			<groupId>org.springframework.boot</groupId>
151
+			<artifactId>spring-boot-starter-web</artifactId>
152
+			<exclusions>
153
+				<exclusion>
154
+					<groupId>org.springframework.boot</groupId>
155
+					<artifactId>spring-boot-starter-webflux</artifactId>
156
+				</exclusion>
157
+			</exclusions>
158
+		</dependency>
159
+		<dependency>
160
+			<groupId>org.springframework</groupId>
161
+			<artifactId>spring-webmvc</artifactId>
162
+			<version>5.3.21</version> <!-- 请根据实际情况调整版本 -->
163
+		</dependency>
164
+		<dependency>
165
+			<groupId>junit</groupId>
166
+			<artifactId>junit</artifactId>
167
+			<version>4.13.2</version>
168
+			<scope>test</scope>
169
+		</dependency>
170
+		<dependency>
171
+			<groupId>org.projectlombok</groupId>
172
+			<artifactId>lombok</artifactId>
173
+			<scope>provided</scope>
174
+		</dependency>
121 175
 		<!--部署外部tomcat容器的时候再开启-->
122 176
 		<!--<dependency>
123 177
 			<groupId>org.springframework.boot</groupId>

+ 15 - 9
src/main/java/com/zjt/ManagerApplication.java

@@ -5,18 +5,24 @@ import org.springframework.boot.SpringApplication;
5 5
 import org.springframework.boot.autoconfigure.SpringBootApplication;
6 6
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
7 7
 import org.springframework.boot.builder.SpringApplicationBuilder;
8
-import org.springframework.boot.web.support.SpringBootServletInitializer;
8
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
9 9
 import org.springframework.transaction.annotation.EnableTransactionManagement;
10 10
 
11
-@EnableTransactionManagement  // 启注解事务管理,等同于xml配置方式的
12
-//首先要将spring boot自带的DataSourceAutoConfiguration禁掉,因为它会读取application.properties文件的spring.datasource.*属性并自动配置单数据源。在@SpringBootApplication注解中添加exclude属性即可:
13
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
14
-public class ManagerApplication  extends SpringBootServletInitializer {
11
+@EnableTransactionManagement
12
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class,
13
+		com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure.class,
14
+		org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.class
15
+
16
+})
17
+@MapperScan(basePackages = "com.zjt.mapper")
18
+public class ManagerApplication extends SpringBootServletInitializer {
19
+
20
+	public static void main(String[] args) {
21
+		SpringApplication.run(ManagerApplication.class, args);
22
+	}
23
+
15 24
 	@Override
16 25
 	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
17 26
 		return application.sources(ManagerApplication.class);
18 27
 	}
19
-	public static void main(String[] args) {
20
-		SpringApplication.run(ManagerApplication.class, args);
21
-	}
22
-}
28
+}

+ 3 - 3
src/main/java/com/zjt/config/MyWebMvcConfigurerAdapter.java

@@ -1,11 +1,12 @@
1 1
 package com.zjt.config;
2 2
 
3 3
 import org.springframework.context.annotation.Configuration;
4
+import org.springframework.context.annotation.Configuration;
4 5
 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
5
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
6
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
6 7
 
7 8
 @Configuration
8
-public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
9
+public class MyWebMvcConfigurerAdapter  implements WebMvcConfigurer {
9 10
 
10 11
 
11 12
     /**
@@ -22,7 +23,6 @@ public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
22 23
         registry.addViewController("/error/errordeal").setViewName("error/errordealogin");
23 24
         registry.addViewController("/error/unauthorized").setViewName("error/unauthorized");
24 25
         registry.addViewController("/main").setViewName("main");
25
-        super.addViewControllers(registry);
26 26
     }
27 27
 
28 28
 }

+ 0 - 291
src/main/java/com/zjt/entity/ProductionHeader.java

@@ -1,291 +0,0 @@
1
-package com.zjt.entity;
2
-
3
-import java.io.Serializable;
4
-
5
-/**
6
- * 生产表头Bean类
7
- * 对应图片中的表格字段
8
- */
9
-public class ProductionHeader implements Serializable {
10
-    private static final long serialVersionUID = 1L;
11
-
12
-    // 系列
13
-    private String series;
14
-
15
-    // 商品1
16
-    private String product1;
17
-
18
-    // 产品
19
-    private String product;
20
-
21
-    // 设计
22
-    private String design;
23
-
24
-    // 折射率
25
-    private String refractiveIndex;
26
-
27
-    // 膜层
28
-    private String coating;
29
-
30
-    // 颜色
31
-    private String color;
32
-
33
-    // 属性
34
-    private String attribute;
35
-
36
-    // 光度范围
37
-    private String diopterRange;
38
-
39
-    // 范围说明
40
-    private String rangeDescription;
41
-
42
-    // 售价
43
-    private String retailPrice;
44
-
45
-    // 单眼瞳距
46
-    private String singleEyePupillaryDistance;
47
-
48
-    // 单眼瞳距(右)
49
-    private String singleEyePupillaryDistanceRight;
50
-
51
-    // 单眼瞳距(左)
52
-    private String singleEyePupillaryDistanceLeft;
53
-
54
-    // 镜眼距
55
-    private String lensEdgeDistance;
56
-
57
-    // 前倾角
58
-    private String frontAngle;
59
-
60
-    // 镜架面
61
-    private String frameSurface;
62
-
63
-    // 习惯阅读距离
64
-    private String habitReadingDistance;
65
-
66
-    // 近用瞳距
67
-    private String nearUsePupillaryDistance;
68
-
69
-    // NVB
70
-    private String nvb;
71
-
72
-    // 主视眼
73
-    private String mainVision;
74
-
75
-    // ERCO
76
-    private String ercd;
77
-
78
-    // 年龄
79
-    private String age;
80
-
81
-    // 商品编码
82
-    private String productCode;
83
-
84
-    // 商品名称
85
-    private String productName;
86
-
87
-    // 构造函数
88
-    public ProductionHeader() {
89
-    }
90
-
91
-    // getter和setter方法
92
-    public String getSeries() {
93
-        return series;
94
-    }
95
-
96
-    public void setSeries(String series) {
97
-        this.series = series;
98
-    }
99
-
100
-    public String getProduct1() {
101
-        return product1;
102
-    }
103
-
104
-    public void setProduct1(String product1) {
105
-        this.product1 = product1;
106
-    }
107
-
108
-    public String getProduct() {
109
-        return product;
110
-    }
111
-
112
-    public void setProduct(String product) {
113
-        this.product = product;
114
-    }
115
-
116
-    public String getDesign() {
117
-        return design;
118
-    }
119
-
120
-    public void setDesign(String design) {
121
-        this.design = design;
122
-    }
123
-
124
-    public String getRefractiveIndex() {
125
-        return refractiveIndex;
126
-    }
127
-
128
-    public void setRefractiveIndex(String refractiveIndex) {
129
-        this.refractiveIndex = refractiveIndex;
130
-    }
131
-
132
-    public String getCoating() {
133
-        return coating;
134
-    }
135
-
136
-    public void setCoating(String coating) {
137
-        this.coating = coating;
138
-    }
139
-
140
-    public String getColor() {
141
-        return color;
142
-    }
143
-
144
-    public void setColor(String color) {
145
-        this.color = color;
146
-    }
147
-
148
-    public String getAttribute() {
149
-        return attribute;
150
-    }
151
-
152
-    public void setAttribute(String attribute) {
153
-        this.attribute = attribute;
154
-    }
155
-
156
-    public String getDiopterRange() {
157
-        return diopterRange;
158
-    }
159
-
160
-    public void setDiopterRange(String diopterRange) {
161
-        this.diopterRange = diopterRange;
162
-    }
163
-
164
-    public String getRangeDescription() {
165
-        return rangeDescription;
166
-    }
167
-
168
-    public void setRangeDescription(String rangeDescription) {
169
-        this.rangeDescription = rangeDescription;
170
-    }
171
-
172
-    public String getRetailPrice() {
173
-        return retailPrice;
174
-    }
175
-
176
-    public void setRetailPrice(String retailPrice) {
177
-        this.retailPrice = retailPrice;
178
-    }
179
-
180
-    public String getSingleEyePupillaryDistance() {
181
-        return singleEyePupillaryDistance;
182
-    }
183
-
184
-    public void setSingleEyePupillaryDistance(String singleEyePupillaryDistance) {
185
-        this.singleEyePupillaryDistance = singleEyePupillaryDistance;
186
-    }
187
-
188
-    public String getSingleEyePupillaryDistanceRight() {
189
-        return singleEyePupillaryDistanceRight;
190
-    }
191
-
192
-    public void setSingleEyePupillaryDistanceRight(String singleEyePupillaryDistanceRight) {
193
-        this.singleEyePupillaryDistanceRight = singleEyePupillaryDistanceRight;
194
-    }
195
-
196
-    public String getSingleEyePupillaryDistanceLeft() {
197
-        return singleEyePupillaryDistanceLeft;
198
-    }
199
-
200
-    public void setSingleEyePupillaryDistanceLeft(String singleEyePupillaryDistanceLeft) {
201
-        this.singleEyePupillaryDistanceLeft = singleEyePupillaryDistanceLeft;
202
-    }
203
-
204
-    public String getLensEdgeDistance() {
205
-        return lensEdgeDistance;
206
-    }
207
-
208
-    public void setLensEdgeDistance(String lensEdgeDistance) {
209
-        this.lensEdgeDistance = lensEdgeDistance;
210
-    }
211
-
212
-    public String getFrontAngle() {
213
-        return frontAngle;
214
-    }
215
-
216
-    public void setFrontAngle(String frontAngle) {
217
-        this.frontAngle = frontAngle;
218
-    }
219
-
220
-    public String getFrameSurface() {
221
-        return frameSurface;
222
-    }
223
-
224
-    public void setFrameSurface(String frameSurface) {
225
-        this.frameSurface = frameSurface;
226
-    }
227
-
228
-    public String getHabitReadingDistance() {
229
-        return habitReadingDistance;
230
-    }
231
-
232
-    public void setHabitReadingDistance(String habitReadingDistance) {
233
-        this.habitReadingDistance = habitReadingDistance;
234
-    }
235
-
236
-    public String getNearUsePupillaryDistance() {
237
-        return nearUsePupillaryDistance;
238
-    }
239
-
240
-    public void setNearUsePupillaryDistance(String nearUsePupillaryDistance) {
241
-        this.nearUsePupillaryDistance = nearUsePupillaryDistance;
242
-    }
243
-
244
-    public String getNvb() {
245
-        return nvb;
246
-    }
247
-
248
-    public void setNvb(String nvb) {
249
-        this.nvb = nvb;
250
-    }
251
-
252
-    public String getMainVision() {
253
-        return mainVision;
254
-    }
255
-
256
-    public void setMainVision(String mainVision) {
257
-        this.mainVision = mainVision;
258
-    }
259
-
260
-    public String getErcd() {
261
-        return ercd;
262
-    }
263
-
264
-    public void setErcd(String ercd) {
265
-        this.ercd = ercd;
266
-    }
267
-
268
-    public String getAge() {
269
-        return age;
270
-    }
271
-
272
-    public void setAge(String age) {
273
-        this.age = age;
274
-    }
275
-
276
-    public String getProductCode() {
277
-        return productCode;
278
-    }
279
-
280
-    public void setProductCode(String productCode) {
281
-        this.productCode = productCode;
282
-    }
283
-
284
-    public String getProductName() {
285
-        return productName;
286
-    }
287
-
288
-    public void setProductName(String productName) {
289
-        this.productName = productName;
290
-    }
291
-}

+ 29 - 0
src/main/java/com/zjt/entity/ProductionVariety.java

@@ -0,0 +1,29 @@
1
+package com.zjt.entity;
2
+
3
+import java.io.Serializable;
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 
13
+ * </p>
14
+ *
15
+ * @author xxu
16
+ * @since 2025-09-25
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@ApiModel(value="ProductionVariety对象", description="")
22
+public class ProductionVariety implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    private String variety;
27
+
28
+
29
+}

+ 31 - 0
src/main/java/com/zjt/entity/ProductionVarietyAdd.java

@@ -0,0 +1,31 @@
1
+package com.zjt.entity;
2
+
3
+import java.io.Serializable;
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 
13
+ * </p>
14
+ *
15
+ * @author xxu
16
+ * @since 2025-09-25
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@ApiModel(value="ProductionVarietyAdd对象", description="")
22
+public class ProductionVarietyAdd implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    private Float tdId;
27
+
28
+    private String add;
29
+
30
+
31
+}

+ 33 - 0
src/main/java/com/zjt/entity/ProductionVarietyDetail.java

@@ -0,0 +1,33 @@
1
+package com.zjt.entity;
2
+
3
+import java.io.Serializable;
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 
13
+ * </p>
14
+ *
15
+ * @author xxu
16
+ * @since 2025-09-25
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@ApiModel(value="ProductionVarietyDetail对象", description="")
22
+public class ProductionVarietyDetail implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    private Float varietyId;
27
+
28
+    private String variety;
29
+
30
+    private String varietyDetails;
31
+
32
+
33
+}

+ 31 - 0
src/main/java/com/zjt/entity/ProductionVarietyDetailColour.java

@@ -0,0 +1,31 @@
1
+package com.zjt.entity;
2
+
3
+import java.io.Serializable;
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 
13
+ * </p>
14
+ *
15
+ * @author xxu
16
+ * @since 2025-09-25
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@ApiModel(value="ProductionVarietyDetailColour对象", description="")
22
+public class ProductionVarietyDetailColour implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    private Float varietyDetailsId;
27
+
28
+    private String colour;
29
+
30
+
31
+}

+ 33 - 0
src/main/java/com/zjt/entity/ProductionVarietyTd.java

@@ -0,0 +1,33 @@
1
+package com.zjt.entity;
2
+
3
+import java.io.Serializable;
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 
13
+ * </p>
14
+ *
15
+ * @author xxu
16
+ * @since 2025-09-25
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@ApiModel(value="ProductionVarietyTd对象", description="")
22
+public class ProductionVarietyTd implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    private String variety;
27
+
28
+    private Float varietyId;
29
+
30
+    private Integer td;
31
+
32
+
33
+}

+ 125 - 0
src/main/java/com/zjt/entity/Productionheader.java

@@ -0,0 +1,125 @@
1
+package com.zjt.entity;
2
+
3
+import java.math.BigDecimal;
4
+import java.time.LocalDateTime;
5
+import com.baomidou.mybatisplus.annotation.TableField;
6
+import java.io.Serializable;
7
+import io.swagger.annotations.ApiModel;
8
+import io.swagger.annotations.ApiModelProperty;
9
+import lombok.Data;
10
+import lombok.EqualsAndHashCode;
11
+import lombok.experimental.Accessors;
12
+
13
+/**
14
+ * <p>
15
+ * 
16
+ * </p>
17
+ *
18
+ * @author xxu
19
+ * @since 2025-09-25
20
+ */
21
+@Data
22
+@EqualsAndHashCode(callSuper = false)
23
+@Accessors(chain = true)
24
+@ApiModel(value="Productionheader对象", description="")
25
+public class Productionheader implements Serializable {
26
+
27
+    private static final long serialVersionUID = 1L;
28
+
29
+    @ApiModelProperty(value = "关联订单ID")
30
+    private Long orderId;
31
+
32
+    @ApiModelProperty(value = "关联客户ID")
33
+    private Long customerId;
34
+
35
+    @ApiModelProperty(value = "系列")
36
+    private String series;
37
+
38
+    @ApiModelProperty(value = "商品1")
39
+    private String product1;
40
+
41
+    @ApiModelProperty(value = "产品")
42
+    private String product;
43
+
44
+    @ApiModelProperty(value = "设计")
45
+    private String design;
46
+
47
+    @ApiModelProperty(value = "折射率")
48
+    private String refractiveIndex;
49
+
50
+    @ApiModelProperty(value = "膜层")
51
+    private String coating;
52
+
53
+    @ApiModelProperty(value = "颜色")
54
+    private String color;
55
+
56
+    @ApiModelProperty(value = "属性")
57
+    private String attribute;
58
+
59
+    @ApiModelProperty(value = "光度范围")
60
+    private String diopterRange;
61
+
62
+    @ApiModelProperty(value = "范围说明")
63
+    private String rangeDescription;
64
+
65
+    @ApiModelProperty(value = "售价")
66
+    private BigDecimal retailPrice;
67
+
68
+    @ApiModelProperty(value = "单眼瞳高")
69
+    private String pupillaryHeight;
70
+
71
+    @ApiModelProperty(value = "单眼瞳距(右)")
72
+    private String singleEyePupillaryDistanceRight;
73
+
74
+    @ApiModelProperty(value = "单眼瞳距(左)")
75
+    private String singleEyePupillaryDistanceLeft;
76
+
77
+    @ApiModelProperty(value = "镜眼距")
78
+    private String lensEdgeDistance;
79
+
80
+    @ApiModelProperty(value = "前倾角")
81
+    private String frontAngle;
82
+
83
+    @ApiModelProperty(value = "镜架面")
84
+    private String frameSurface;
85
+
86
+    @ApiModelProperty(value = "习惯阅读距离")
87
+    private String habitReadingDistance;
88
+
89
+    @ApiModelProperty(value = "近用瞳距")
90
+    private String nearUsePupillaryDistance;
91
+
92
+    @ApiModelProperty(value = "NVB")
93
+    private String nvb;
94
+
95
+    @ApiModelProperty(value = "主视眼")
96
+    private String mainVision;
97
+
98
+    @ApiModelProperty(value = "ERCD")
99
+    private String ercd;
100
+
101
+    @ApiModelProperty(value = "年龄")
102
+    private String age;
103
+
104
+    @ApiModelProperty(value = "商品编码")
105
+    private String productCode;
106
+
107
+    @ApiModelProperty(value = "商品名称")
108
+    private String productName;
109
+
110
+    @ApiModelProperty(value = "状态:0-禁用,1-启用")
111
+    @TableField("STATUS")
112
+    private Integer status;
113
+
114
+    private LocalDateTime createTime;
115
+
116
+    private LocalDateTime updateTime;
117
+
118
+    @ApiModelProperty(value = "创建人")
119
+    private String createBy;
120
+
121
+    @ApiModelProperty(value = "更新人")
122
+    private String updateBy;
123
+
124
+
125
+}

+ 16 - 0
src/main/java/com/zjt/mapper/ProductionVarietyAddMapper.java

@@ -0,0 +1,16 @@
1
+package com.zjt.mapper;
2
+
3
+import com.zjt.entity.ProductionVarietyAdd;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ *  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface ProductionVarietyAddMapper extends BaseMapper<ProductionVarietyAdd> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/mapper/ProductionVarietyDetailColourMapper.java

@@ -0,0 +1,16 @@
1
+package com.zjt.mapper;
2
+
3
+import com.zjt.entity.ProductionVarietyDetailColour;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ *  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface ProductionVarietyDetailColourMapper extends BaseMapper<ProductionVarietyDetailColour> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/mapper/ProductionVarietyDetailMapper.java

@@ -0,0 +1,16 @@
1
+package com.zjt.mapper;
2
+
3
+import com.zjt.entity.ProductionVarietyDetail;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ *  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface ProductionVarietyDetailMapper extends BaseMapper<ProductionVarietyDetail> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/mapper/ProductionVarietyMapper.java

@@ -0,0 +1,16 @@
1
+package com.zjt.mapper;
2
+
3
+import com.zjt.entity.ProductionVariety;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ *  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface ProductionVarietyMapper extends BaseMapper<ProductionVariety> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/mapper/ProductionVarietyTdMapper.java

@@ -0,0 +1,16 @@
1
+package com.zjt.mapper;
2
+
3
+import com.zjt.entity.ProductionVarietyTd;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ *  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface ProductionVarietyTdMapper extends BaseMapper<ProductionVarietyTd> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/mapper/ProductionheaderMapper.java

@@ -0,0 +1,16 @@
1
+package com.zjt.mapper;
2
+
3
+import com.zjt.entity.Productionheader;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ *  Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface ProductionheaderMapper extends BaseMapper<Productionheader> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/service/IProductionVarietyAddService.java

@@ -0,0 +1,16 @@
1
+package com.zjt.service;
2
+
3
+import com.zjt.entity.ProductionVarietyAdd;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface IProductionVarietyAddService extends IService<ProductionVarietyAdd> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/service/IProductionVarietyDetailColourService.java

@@ -0,0 +1,16 @@
1
+package com.zjt.service;
2
+
3
+import com.zjt.entity.ProductionVarietyDetailColour;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface IProductionVarietyDetailColourService extends IService<ProductionVarietyDetailColour> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/service/IProductionVarietyDetailService.java

@@ -0,0 +1,16 @@
1
+package com.zjt.service;
2
+
3
+import com.zjt.entity.ProductionVarietyDetail;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface IProductionVarietyDetailService extends IService<ProductionVarietyDetail> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/service/IProductionVarietyService.java

@@ -0,0 +1,16 @@
1
+package com.zjt.service;
2
+
3
+import com.zjt.entity.ProductionVariety;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface IProductionVarietyService extends IService<ProductionVariety> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/service/IProductionVarietyTdService.java

@@ -0,0 +1,16 @@
1
+package com.zjt.service;
2
+
3
+import com.zjt.entity.ProductionVarietyTd;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface IProductionVarietyTdService extends IService<ProductionVarietyTd> {
15
+
16
+}

+ 16 - 0
src/main/java/com/zjt/service/IProductionheaderService.java

@@ -0,0 +1,16 @@
1
+package com.zjt.service;
2
+
3
+import com.zjt.entity.Productionheader;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ *  服务类
9
+ * </p>
10
+ *
11
+ * @author xxu
12
+ * @since 2025-09-25
13
+ */
14
+public interface IProductionheaderService extends IService<Productionheader> {
15
+
16
+}

+ 20 - 0
src/main/java/com/zjt/service/impl/ProductionVarietyAddServiceImpl.java

@@ -0,0 +1,20 @@
1
+package com.zjt.service.impl;
2
+
3
+import com.zjt.entity.ProductionVarietyAdd;
4
+import com.zjt.mapper.ProductionVarietyAddMapper;
5
+import com.zjt.service.IProductionVarietyAddService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author xxu
15
+ * @since 2025-09-25
16
+ */
17
+@Service
18
+public class ProductionVarietyAddServiceImpl extends ServiceImpl<ProductionVarietyAddMapper, ProductionVarietyAdd> implements IProductionVarietyAddService {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/service/impl/ProductionVarietyDetailColourServiceImpl.java

@@ -0,0 +1,20 @@
1
+package com.zjt.service.impl;
2
+
3
+import com.zjt.entity.ProductionVarietyDetailColour;
4
+import com.zjt.mapper.ProductionVarietyDetailColourMapper;
5
+import com.zjt.service.IProductionVarietyDetailColourService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author xxu
15
+ * @since 2025-09-25
16
+ */
17
+@Service
18
+public class ProductionVarietyDetailColourServiceImpl extends ServiceImpl<ProductionVarietyDetailColourMapper, ProductionVarietyDetailColour> implements IProductionVarietyDetailColourService {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/service/impl/ProductionVarietyDetailServiceImpl.java

@@ -0,0 +1,20 @@
1
+package com.zjt.service.impl;
2
+
3
+import com.zjt.entity.ProductionVarietyDetail;
4
+import com.zjt.mapper.ProductionVarietyDetailMapper;
5
+import com.zjt.service.IProductionVarietyDetailService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author xxu
15
+ * @since 2025-09-25
16
+ */
17
+@Service
18
+public class ProductionVarietyDetailServiceImpl extends ServiceImpl<ProductionVarietyDetailMapper, ProductionVarietyDetail> implements IProductionVarietyDetailService {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/service/impl/ProductionVarietyServiceImpl.java

@@ -0,0 +1,20 @@
1
+package com.zjt.service.impl;
2
+
3
+import com.zjt.entity.ProductionVariety;
4
+import com.zjt.mapper.ProductionVarietyMapper;
5
+import com.zjt.service.IProductionVarietyService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author xxu
15
+ * @since 2025-09-25
16
+ */
17
+@Service
18
+public class ProductionVarietyServiceImpl extends ServiceImpl<ProductionVarietyMapper, ProductionVariety> implements IProductionVarietyService {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/service/impl/ProductionVarietyTdServiceImpl.java

@@ -0,0 +1,20 @@
1
+package com.zjt.service.impl;
2
+
3
+import com.zjt.entity.ProductionVarietyTd;
4
+import com.zjt.mapper.ProductionVarietyTdMapper;
5
+import com.zjt.service.IProductionVarietyTdService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author xxu
15
+ * @since 2025-09-25
16
+ */
17
+@Service
18
+public class ProductionVarietyTdServiceImpl extends ServiceImpl<ProductionVarietyTdMapper, ProductionVarietyTd> implements IProductionVarietyTdService {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/service/impl/ProductionheaderServiceImpl.java

@@ -0,0 +1,20 @@
1
+package com.zjt.service.impl;
2
+
3
+import com.zjt.entity.Productionheader;
4
+import com.zjt.mapper.ProductionheaderMapper;
5
+import com.zjt.service.IProductionheaderService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *  服务实现类
12
+ * </p>
13
+ *
14
+ * @author xxu
15
+ * @since 2025-09-25
16
+ */
17
+@Service
18
+public class ProductionheaderServiceImpl extends ServiceImpl<ProductionheaderMapper, Productionheader> implements IProductionheaderService {
19
+
20
+}

+ 1 - 1
src/main/java/com/zjt/web/MenuController.java

@@ -274,7 +274,7 @@ public class MenuController {
274 274
     @ResponseBody
275 275
     @RequestMapping(value = "/deletemenu")
276 276
     @RequiresPermissions(value = {"菜单管理"})
277
-    public Map<String, Object> deletemenu(HttpSession session,Tmenu tmenu) {
277
+    public Map<String, Object> deletemenu(HttpSession session, Tmenu tmenu) {
278 278
         LinkedHashMap<String, Object> resultmap = new LinkedHashMap<String, Object>();
279 279
         try {
280 280
             if(tmenu.getId()!=null&&!tmenu.getId().equals(0)){

+ 20 - 0
src/main/java/com/zjt/web/ProductionVarietyAddController.java

@@ -0,0 +1,20 @@
1
+package com.zjt.web;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ *  前端控制器
11
+ * </p>
12
+ *
13
+ * @author xxu
14
+ * @since 2025-09-25
15
+ */
16
+@RestController
17
+@RequestMapping("/entity/production-variety-add")
18
+public class ProductionVarietyAddController {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/web/ProductionVarietyController.java

@@ -0,0 +1,20 @@
1
+package com.zjt.web;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ *  前端控制器
11
+ * </p>
12
+ *
13
+ * @author xxu
14
+ * @since 2025-09-25
15
+ */
16
+@RestController
17
+@RequestMapping("/entity/production-variety")
18
+public class ProductionVarietyController {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/web/ProductionVarietyDetailColourController.java

@@ -0,0 +1,20 @@
1
+package com.zjt.web;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ *  前端控制器
11
+ * </p>
12
+ *
13
+ * @author xxu
14
+ * @since 2025-09-25
15
+ */
16
+@RestController
17
+@RequestMapping("/entity/production-variety-detail-colour")
18
+public class ProductionVarietyDetailColourController {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/web/ProductionVarietyDetailController.java

@@ -0,0 +1,20 @@
1
+package com.zjt.web;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ *  前端控制器
11
+ * </p>
12
+ *
13
+ * @author xxu
14
+ * @since 2025-09-25
15
+ */
16
+@RestController
17
+@RequestMapping("/entity/production-variety-detail")
18
+public class ProductionVarietyDetailController {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/web/ProductionVarietyTdController.java

@@ -0,0 +1,20 @@
1
+package com.zjt.web;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ *  前端控制器
11
+ * </p>
12
+ *
13
+ * @author xxu
14
+ * @since 2025-09-25
15
+ */
16
+@RestController
17
+@RequestMapping("/entity/production-variety-td")
18
+public class ProductionVarietyTdController {
19
+
20
+}

+ 20 - 0
src/main/java/com/zjt/web/ProductionheaderController.java

@@ -0,0 +1,20 @@
1
+package com.zjt.web;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ *  前端控制器
11
+ * </p>
12
+ *
13
+ * @author xxu
14
+ * @since 2025-09-25
15
+ */
16
+@RestController
17
+@RequestMapping("/entity/productionheader")
18
+public class ProductionheaderController {
19
+
20
+}

+ 165 - 285
src/main/java/com/zjt/web/UserController.java

@@ -1,8 +1,6 @@
1 1
 package com.zjt.web;
2 2
 
3 3
 import com.alibaba.fastjson.JSON;
4
-import com.alibaba.fastjson.JSONArray;
5
-import com.alibaba.fastjson.JSONObject;
6 4
 import com.google.gson.JsonArray;
7 5
 import com.google.gson.JsonObject;
8 6
 import com.zjt.entity.*;
@@ -19,12 +17,11 @@ import org.springframework.ui.Model;
19 17
 import org.springframework.validation.BindingResult;
20 18
 import org.springframework.web.bind.annotation.*;
21 19
 import tk.mybatis.mapper.entity.Example;
20
+import javax.servlet.http.HttpSession;
22 21
 
23 22
 import javax.annotation.Resource;
24 23
 import javax.servlet.http.HttpSession;
25 24
 import javax.validation.Valid;
26
-import javax.validation.constraints.Size;
27
-import java.net.URLEncoder;
28 25
 import java.text.SimpleDateFormat;
29 26
 import java.util.Date;
30 27
 import java.util.HashMap;
@@ -34,249 +31,188 @@ import java.util.function.Consumer;
34 31
 import java.util.function.Predicate;
35 32
 import java.util.stream.Collectors;
36 33
 
37
-import static org.apache.commons.lang3.StringUtils.length;
38
-
39
-/**
40
-* @Description: 当前登录用户控制器
41
-* @Date: Created in 2018/2/8 19:28
42
-* @param 
43
-*/
44 34
 @Controller
45 35
 @RequestMapping("/user")
46 36
 public class UserController {
47 37
 
38
+	private static final String ADMIN_ROLE = "admin";
39
+	private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
40
+	private static final String ID_PREFIX = "S";
41
+
48 42
 	@Resource
49
-	private com.zjt.service.MaterialType MaterialType;
43
+	private MaterialType materialType;
50 44
 
51 45
 	@Resource
52 46
 	private TroleService troleService;
53
-	
47
+
54 48
 	@Resource
55 49
 	private TuserService tuserService;
56
-	
50
+
57 51
 	@Resource
58 52
 	private TmenuService tmenuService;
59 53
 
60
-	/*@Resource
61
-	private LogService logService;*/
62 54
 	@RequestMapping("list")
63
-	public String select(String id,String storeCode, String createtime,String receive, HttpSession session, Model model){
64
-		Tuser users= (Tuser) session.getAttribute("currentUser");
55
+	public String select(String id, String storeCode, String createtime, String receive, Model model, HttpSession session) {
56
+		Tuser users = (Tuser) session.getAttribute("currentUser");
65 57
 		List<cgmaterial> collect1;
66
-		String id1="";
67
-		if(!"".equals(id)){
68
-			id1=id.substring(1);
58
+		String id1 = "";
59
+
60
+		if (StringUtils.isNotEmpty(id)) {
61
+			id1 = id.substring(1);
69 62
 		}
70
-		if(!"".equals(createtime)){
63
+
64
+		SimpleDateFormat sdf1 = new SimpleDateFormat(DATE_FORMAT);
65
+		if (StringUtils.isNotEmpty(createtime)) {
71 66
 			String[] split1 = createtime.split(" - ");
72
-			String strDateFormat1 = "yyyy-MM-dd HH:mm:ss";
73
-			SimpleDateFormat sdf1 = new SimpleDateFormat(strDateFormat1);
74
-			if(!"".equals(storeCode)){
75
-				if("admin".equals(users.getTrueName())){
76
-					collect1=MaterialType.selectDataBy(id1,storeCode,split1[0],split1[1],receive);
77
-				}else{
78
-					collect1=MaterialType.selectDataBy(id1,users.getUserName(),split1[0],split1[1],receive);
67
+			if (StringUtils.isNotEmpty(storeCode)) {
68
+				if (ADMIN_ROLE.equals(users.getTrueName())) {
69
+					collect1 = materialType.selectDataBy(id1, storeCode, split1[0], split1[1], receive);
70
+				} else {
71
+					collect1 = materialType.selectDataBy(id1, users.getUserName(), split1[0], split1[1], receive);
79 72
 				}
80
-			}else{
81
-				if("admin".equals(users.getTrueName())){
82
-					collect1=MaterialType.selectDataBy(id1,"",split1[0],split1[1],receive);
83
-				}else{
84
-					collect1=MaterialType.selectDataBy(id1,users.getUserName(),split1[0],split1[1],receive);
73
+			} else {
74
+				if (ADMIN_ROLE.equals(users.getTrueName())) {
75
+					collect1 = materialType.selectDataBy(id1, "", split1[0], split1[1], receive);
76
+				} else {
77
+					collect1 = materialType.selectDataBy(id1, users.getUserName(), split1[0], split1[1], receive);
85 78
 				}
86 79
 			}
87
-		}else{
88
-			if(!"".equals(storeCode)){
89
-				if("admin".equals(users.getTrueName())){
90
-					collect1=MaterialType.selectDataBy(id1,storeCode,"","",receive);
91
-				}else{
92
-					collect1=MaterialType.selectDataBy(id1,users.getUserName(),"","",receive);
80
+		} else {
81
+			if (StringUtils.isNotEmpty(storeCode)) {
82
+				if (ADMIN_ROLE.equals(users.getTrueName())) {
83
+					collect1 = materialType.selectDataBy(id1, storeCode, "", "", receive);
84
+				} else {
85
+					collect1 = materialType.selectDataBy(id1, users.getUserName(), "", "", receive);
93 86
 				}
94
-			}else{
95
-				if("admin".equals(users.getTrueName())){
96
-					collect1=MaterialType.selectDataBy(id1,"","","",receive);
97
-				}else {
98
-					collect1 = MaterialType.selectDataBy(id1, users.getUserName(), "", "", receive);
87
+			} else {
88
+				if (ADMIN_ROLE.equals(users.getTrueName())) {
89
+					collect1 = materialType.selectDataBy(id1, "", "", "", receive);
90
+				} else {
91
+					collect1 = materialType.selectDataBy(id1, users.getUserName(), "", "", receive);
99 92
 				}
100 93
 			}
101 94
 		}
102
-		model.addAttribute("listcg",collect1);
95
+		model.addAttribute("listcg", collect1);
103 96
 
104
-		//List<cgmaterial> collect1 = MaterialType.selectDataBy(id,storeCode,split1[0],split1[1],receive);
105
-
106
-		Predicate<cgmaterial> predicate = a->{
107
-			if(!"admin".equals(users.getTrueName())){
108
-				if(a.getUsername().equals(users.getTrueName())){
109
-					return true;
110
-				}else{
111
-					return false;
112
-				}
113
-			}else {
114
-			return true;
97
+		Predicate<cgmaterial> predicate = a -> {
98
+			if (!ADMIN_ROLE.equals(users.getTrueName())) {
99
+				return a.getUsername().equals(users.getTrueName());
115 100
 			}
101
+			return true;
116 102
 		};
117
-		Predicate<cgmaterial> predicate2=a->{
118
-			if(createtime.length()>0){
103
+
104
+		Predicate<cgmaterial> predicate2 = a -> {
105
+			if (StringUtils.isNotEmpty(createtime)) {
119 106
 				String[] split = createtime.split(" - ");
120
-				String strDateFormat = "yyyy-MM-dd HH:mm:ss";
121
-				SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
122
-				if(sdf.format(a.getCreatetime()).compareTo(split[0])>0&&sdf.format(a.getCreatetime()).compareTo(split[1])<0){
123
-					return true;
124
-				}else{
125
-					return false;
126
-				}
127
-			}else{
128
-				return true;
107
+				SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
108
+				String createTimeStr = sdf.format(a.getCreatetime());
109
+				return createTimeStr.compareTo(split[0]) > 0 && createTimeStr.compareTo(split[1]) < 0;
129 110
 			}
111
+			return true;
130 112
 		};
131
-/*		Predicate<cgmaterial> predicate3=a->{
132
-		if(receive.length()>0){
133
-			if(a.getLy().equals(receive)){
134
-				return true;
135
-			}else{
136
-				return false;
137
-			}
138
-		}else {
139
-				return true;
140
-			}
141 113
 
142
-		};*/
143
-		Predicate<cgmaterial> predicate4=a->{
144
-			if(storeCode.length()>0){
145
-				if(a.getStore().equals(storeCode)){
146
-					return true;
147
-				}else{
148
-					return false;
149
-				}
150
-			}else {
151
-				return true;
152
-			}
153
-		};
154
-		Predicate<cgmaterial> predicate5=a->{
155
-			if(id.length()>0){
156
-				String replace = id.replace(",", "");
157
-				if(("S"+a.getId()).equals(replace)){
158
-					return true;
159
-				}else{
160
-					return false;
161
-				}
162
-			}else {
163
-				return true;
164
-			}
165
-		};
114
+		Predicate<cgmaterial> predicate4 = a -> StringUtils.isEmpty(storeCode) || a.getStore().equals(storeCode);
115
+		Predicate<cgmaterial> predicate5 = a -> StringUtils.isEmpty(id) || (ID_PREFIX + a.getId()).equals(id.replace(",", ""));
166 116
 
167
-/*		List<cgmaterial> collect = MaterialType.selectData().stream()
117
+		// 合并所有过滤条件
118
+		List<cgmaterial> collect = collect1.stream()
168 119
 				.filter(predicate)
169 120
 				.filter(predicate2)
170
-				.filter(predicate3)
171 121
 				.filter(predicate4)
172 122
 				.filter(predicate5)
173
-				.collect(Collectors.toList());*/
123
+				.collect(Collectors.toList());
174 124
 
175 125
 		return "mypackage/selectcg";
176 126
 	}
177 127
 
178 128
 	@RequestMapping("input")
179
-	public String input(){
129
+	public String input() {
180 130
 		return "mypackage/input";
181 131
 	}
182 132
 
183 133
 	@RequestMapping("test")
184
-	public String test(){
134
+	public String test() {
185 135
 		return "mypackage/test";
186 136
 	}
187
-		@RequestMapping("insert")
188
-		public String insert(@RequestParam("list")String userList,HttpSession session){
189
-			//List<requestDate> requestDates = JSON.parseArray(userList, requestDate.class);
190
-			List<cgmaterial> cgmaterial = JSON.parseArray(userList, cgmaterial.class);
191
-			Tuser user= (Tuser) session.getAttribute("currentUser");
192
-			SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
193
-			String s=user.getId()+""+df.format(new Date());
194
-			Consumer<cgmaterial> consumer= a->MaterialType.insertCg(a);
195
-			Predicate<cgmaterial> predicate=a->{
196
-				if(a.getMaterialcode()!= null&&a.getWz()!=null&&a.getLy()!=null){
197
-				return true;
198
-			}else{
199
-				return false;
200
-				}
201
-			};
202
-
203
-			cgmaterial.stream().filter(a->a.getMaterialcode()!= null&&a.getWz()!=null&&a.getLy()!=null).map(
204
-					a->{
205
-						a.setId(Long.parseLong(s));
206
-						a.setUsername(user.getTrueName());
207
-						a.setCreatetime(new Date());
208
-						a.setStore(user.getUserName());
137
+
138
+	@RequestMapping("insert")
139
+	public String insert(@RequestParam("list") String userList, HttpSession session) {
140
+		List<cgmaterial> cgmaterials = JSON.parseArray(userList, cgmaterial.class);
141
+		Tuser user = (Tuser) session.getAttribute("currentUser");
142
+		SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
143
+		String s = user.getId() + "" + df.format(new Date());
144
+
145
+		Consumer<cgmaterial> consumer = materialType::insertCg;
146
+
147
+		cgmaterials.stream()
148
+				.filter(a -> a.getMaterialcode() != null && a.getWz() != null && a.getLy() != null)
149
+				.map(a -> {
150
+					a.setId(Long.parseLong(s));
151
+					a.setUsername(user.getTrueName());
152
+					a.setCreatetime(new Date());
153
+					a.setStore(user.getUserName());
209 154
 					return a;
210
-					}
211
-			).collect(Collectors.toList()).forEach(consumer);
212
-			return "mypackage/test";
155
+				})
156
+				.forEach(consumer);
157
+
158
+		return "mypackage/test";
159
+	}
160
+
161
+	@ResponseBody
162
+	@PostMapping("/login")
163
+	public Map<String, Object> login(String imageCode, @Valid Tuser user, BindingResult bindingResult, HttpSession session) {
164
+		Map<String, Object> map = new HashMap<>();
165
+		if (StringUtils.isEmpty(imageCode)) {
166
+			map.put("success", false);
167
+			map.put("errorInfo", "请输入验证码!");
168
+			return map;
169
+		}
170
+		if (!session.getAttribute("checkcode").equals(imageCode)) {
171
+			map.put("success", false);
172
+			map.put("errorInfo", "验证码输入错误!");
173
+			return map;
213 174
 		}
175
+		if (bindingResult.hasErrors()) {
176
+			map.put("success", false);
177
+			map.put("errorInfo", bindingResult.getFieldError().getDefaultMessage());
178
+			return map;
179
+		}
180
+
181
+		Subject subject = SecurityUtils.getSubject();
182
+		UsernamePasswordToken token = new UsernamePasswordToken(user.getUserName(), user.getPassword());
183
+		try {
184
+			subject.login(token);
185
+			if (!subject.isAuthenticated()) {
186
+				map.put("success", false);
187
+				map.put("errorInfo", "认证失败!");
188
+				return map;
189
+			}
214 190
 
215
-	
216
-	/**
217
-     * 用户登录请求
218
-     * @param user
219
-     * @return
220
-     */
221
-    @ResponseBody
222
-    @PostMapping("/login")
223
-    public Map<String,Object> login(String imageCode, @Valid Tuser user, BindingResult bindingResult, HttpSession session){
224
-    	Map<String,Object> map=new HashMap<String,Object>();
225
-    	if(StringUtils.isEmpty(imageCode)){
226
-    		map.put("success", false);
227
-    		map.put("errorInfo", "请输入验证码!");
228
-    		return map;
229
-    	}
230
-    	if(!session.getAttribute("checkcode").equals(imageCode)){
231
-    		map.put("success", false);
232
-    		map.put("errorInfo", "验证码输入错误!");
233
-    		return map;
234
-    	}
235
-    	if(bindingResult.hasErrors()){
236
-    		map.put("success", false);
237
-    		map.put("errorInfo", bindingResult.getFieldError().getDefaultMessage());
238
-    		return map;
239
-    	}
240
-		Subject subject=SecurityUtils.getSubject();
241
-		UsernamePasswordToken token=new UsernamePasswordToken(user.getUserName(), user.getPassword());
242
-		try{
243
-			subject.login(token); // 登录认证
244
-			String userName=(String) SecurityUtils.getSubject().getPrincipal();
245
-			//Tuser currentUser=tuserService.findByUserName(userName);
246
-			Example tuserExample=new Example(Tuser.class);
247
-			tuserExample.or().andEqualTo("userName",userName);
248
-			Tuser currentUser=tuserService.selectByExample(tuserExample).get(0);
191
+			String userName = (String) SecurityUtils.getSubject().getPrincipal();
192
+			Example tuserExample = new Example(Tuser.class);
193
+			tuserExample.or().andEqualTo("userName", userName);
194
+			Tuser currentUser = tuserService.selectByExample(tuserExample).get(0);
249 195
 			session.setAttribute("currentUser", currentUser);
250
-			//List<Trole> roleList=troleService.findByUserId(currentUser.getId());
251
-			List<Trole> roleList=troleService.selectRolesByUserId(currentUser.getId());
196
+
197
+			List<Trole> roleList = troleService.selectRolesByUserId(currentUser.getId());
252 198
 			map.put("roleList", roleList);
253 199
 			map.put("roleSize", roleList.size());
254 200
 			map.put("success", true);
255
-			//logService.save(new Log(Log.LOGIN_ACTION,"用户登录")); // 写入日志
256 201
 			return map;
257
-		}catch(Exception e){
202
+		} catch (Exception e) {
258 203
 			e.printStackTrace();
259 204
 			map.put("success", false);
260 205
 			map.put("errorInfo", "用户名或者密码错误!");
261 206
 			return map;
262 207
 		}
263
-    }
264
-
265
-
208
+	}
266 209
 
267
-	/**
268
-	 * 保存角色信息
269
-	 * @param roleId
270
-	 * @param session
271
-	 * @return
272
-	 * @throws Exception
273
-	 */
274 210
 	@ResponseBody
275 211
 	@PostMapping("/saveRole")
276
-	public Map<String,Object> saveRole(Integer roleId,HttpSession session)throws Exception{
277
-		Map<String,Object> map=new HashMap<String,Object>();
278
-		Trole currentRole=troleService.selectByKey(roleId);
279
-		session.setAttribute("currentRole", currentRole); // 保存当前角色信息
212
+	public Map<String, Object> saveRole(Integer roleId, HttpSession session) {
213
+		Map<String, Object> map = new HashMap<>();
214
+		Trole currentRole = troleService.selectByKey(roleId);
215
+		session.setAttribute("currentRole", currentRole);
280 216
 
281 217
 		putTmenuOneClassListIntoSession(session);
282 218
 
@@ -284,138 +220,82 @@ public class UserController {
284 220
 		return map;
285 221
 	}
286 222
 
287
-
288
-	/**
289
-	 * 安全退出
290
-	 *
291
-	 * @return
292
-	 * @throws Exception
293
-	 */
294 223
 	@GetMapping("/logout")
295
-	public String logout() throws Exception {
296
-//		logService.save(new Log(Log.LOGOUT_ACTION,"用户注销"));
224
+	public String logout() {
297 225
 		SecurityUtils.getSubject().logout();
298 226
 		return "redirect:/tologin";
299 227
 	}
300 228
 
301
-
302
-	/**
303
-	 * 加载权限菜单
304
-	 * @param session
305
-	 * @return
306
-	 * @throws Exception
307
-	 * 这里传入的parentId是1
308
-	 */
309 229
 	@ResponseBody
310 230
 	@GetMapping("/loadMenuInfo")
311
-	public String loadMenuInfo(HttpSession session, Integer parentId)throws Exception{
312
-
231
+	public String loadMenuInfo(HttpSession session, Integer parentId) {
313 232
 		putTmenuOneClassListIntoSession(session);
314 233
 
315
-		Trole currentRole=(Trole) session.getAttribute("currentRole");
316
-		//根据当前用户的角色id和父节点id查询所有菜单及子集json
317
-		String json=getAllMenuByParentId(parentId,currentRole.getId()).toString();
318
-		//System.out.println(json);
234
+		Trole currentRole = (Trole) session.getAttribute("currentRole");
235
+		String json = getAllMenuByParentId(parentId, currentRole.getId()).toString();
319 236
 		return json;
320 237
 	}
321 238
 
322
-	/**
323
-	 * 获取根频道所有菜单信息
324
-	 * @param parentId
325
-	 * @param roleId
326
-	 * @return
327
-	 */
328
-	private JsonObject getAllMenuByParentId(Integer parentId,Integer roleId){
329
-		JsonObject resultObject=new JsonObject();
330
-		JsonArray jsonArray=this.getMenuByParentId(parentId, roleId);//得到所有一级菜单
331
-		for(int i=0;i<jsonArray.size();i++){
332
-			JsonObject jsonObject=(JsonObject) jsonArray.get(i);
333
-			//判断该节点下时候还有子节点
334
-			Example example=new Example(Tmenu.class);
335
-			example.or().andEqualTo("pId",jsonObject.get("id").getAsString());
336
-			//if("true".equals(jsonObject.get("spread").getAsString())){
337
-			if (tmenuService.selectCountByExample(example)==0) {
239
+	private JsonObject getAllMenuByParentId(Integer parentId, Integer roleId) {
240
+		JsonObject resultObject = new JsonObject();
241
+		JsonArray jsonArray = getMenuByParentId(parentId, roleId);
242
+
243
+		for (int i = 0; i < jsonArray.size(); i++) {
244
+			JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
245
+			Example example = new Example(Tmenu.class);
246
+			example.or().andEqualTo("pId", jsonObject.get("id").getAsString());
247
+
248
+			if (tmenuService.selectCountByExample(example) == 0) {
338 249
 				continue;
339
-			}else{
340
-				//由于后台模板的规定,一级菜单以title最为json的key
341
-				resultObject.add(jsonObject.get("title").getAsString(), getAllMenuJsonArrayByParentId(jsonObject.get("id").getAsInt(),roleId));
250
+			} else {
251
+				resultObject.add(jsonObject.get("title").getAsString(), getAllMenuJsonArrayByParentId(jsonObject.get("id").getAsInt(), roleId));
342 252
 			}
343 253
 		}
344 254
 		return resultObject;
345 255
 	}
346 256
 
257
+	private JsonArray getAllMenuJsonArrayByParentId(Integer parentId, Integer roleId) {
258
+		JsonArray jsonArray = getMenuByParentId(parentId, roleId);
347 259
 
260
+		for (int i = 0; i < jsonArray.size(); i++) {
261
+			JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
262
+			Example example = new Example(Tmenu.class);
263
+			example.or().andEqualTo("pId", jsonObject.get("id").getAsString());
348 264
 
349
-	//获取根频道下子频道菜单列表集合
350
-	private JsonArray getAllMenuJsonArrayByParentId(Integer parentId,Integer roleId){
351
-		JsonArray jsonArray=this.getMenuByParentId(parentId, roleId);
352
-		for(int i=0;i<jsonArray.size();i++){
353
-			JsonObject jsonObject=(JsonObject) jsonArray.get(i);
354
-			//判断该节点下是否还有子节点
355
-			Example example=new Example(Tmenu.class);
356
-			example.or().andEqualTo("pId",jsonObject.get("id").getAsString());
357
-			//if("true".equals(jsonObject.get("spread").getAsString())){
358
-			if (tmenuService.selectCountByExample(example)==0) {
265
+			if (tmenuService.selectCountByExample(example) == 0) {
359 266
 				continue;
360
-			}else{
361
-				//二级或三级菜单
362
-				jsonObject.add("children", getAllMenuJsonArrayByParentId(jsonObject.get("id").getAsInt(),roleId));
267
+			} else {
268
+				jsonObject.add("children", getAllMenuJsonArrayByParentId(jsonObject.get("id").getAsInt(), roleId));
363 269
 			}
364 270
 		}
365 271
 		return jsonArray;
366 272
 	}
367 273
 
368
-
369
-
370
-
371
-	/**
372
-	 * 根据父节点和用户角色id查询菜单
373
-	 * @param parentId
374
-	 * @param roleId
375
-	 * @return
376
-	 */
377
-	private JsonArray getMenuByParentId(Integer parentId,Integer roleId){
378
-		//List<Menu> menuList=menuService.findByParentIdAndRoleId(parentId, roleId);
379
-		HashMap<String,Object> paraMap=new HashMap<String,Object>();
380
-		paraMap.put("pid",parentId);
381
-		paraMap.put("roleid",roleId);
382
-		List<Tmenu> menuList=tmenuService.selectByParentIdAndRoleId(paraMap);
383
-		JsonArray jsonArray=new JsonArray();
384
-		for(Tmenu menu:menuList){
385
-			JsonObject jsonObject=new JsonObject();
386
-			jsonObject.addProperty("id", menu.getId()); // 节点id
387
-			jsonObject.addProperty("title", menu.getName()); // 节点名称
388
-			jsonObject.addProperty("spread", false); // 不展开
274
+	private JsonArray getMenuByParentId(Integer parentId, Integer roleId) {
275
+		HashMap<String, Object> paraMap = new HashMap<>();
276
+		paraMap.put("pid", parentId);
277
+		paraMap.put("roleid", roleId);
278
+		List<Tmenu> menuList = tmenuService.selectByParentIdAndRoleId(paraMap);
279
+
280
+		JsonArray jsonArray = new JsonArray();
281
+		for (Tmenu menu : menuList) {
282
+			JsonObject jsonObject = new JsonObject();
283
+			jsonObject.addProperty("id", menu.getId());
284
+			jsonObject.addProperty("title", menu.getName());
285
+			jsonObject.addProperty("spread", false);
389 286
 			jsonObject.addProperty("icon", menu.getIcon());
390
-			if(StringUtils.isNotEmpty(menu.getUrl())){
391
-				jsonObject.addProperty("href", menu.getUrl()); // 菜单请求地址
287
+			if (StringUtils.isNotEmpty(menu.getUrl())) {
288
+				jsonObject.addProperty("href", menu.getUrl());
392 289
 			}
393 290
 			jsonArray.add(jsonObject);
394
-
395 291
 		}
396 292
 		return jsonArray;
397 293
 	}
398 294
 
399
-
400
-
401
-
402
-public void putTmenuOneClassListIntoSession(HttpSession session){
403
-	//用来在welcome.ftl中获取主菜单列表
404
-	Example example=new Example(Tmenu.class);
405
-	example.or().andEqualTo("pId",1);
406
-	List<Tmenu> tmenuOneClassList=tmenuService.selectByExample(example);
407
-	session.setAttribute("tmenuOneClassList", tmenuOneClassList);
408
-}
409
-
410
-
411
-
412
-
413
-
414
-
415
-
416
-
417
-
418
-
419
-
420
-    
295
+	public void putTmenuOneClassListIntoSession(HttpSession session) {
296
+		Example example = new Example(Tmenu.class);
297
+		example.or().andEqualTo("pId", 1);
298
+		List<Tmenu> tmenuOneClassList = tmenuService.selectByExample(example);
299
+		session.setAttribute("tmenuOneClassList", tmenuOneClassList);
300
+	}
421 301
 }

+ 4 - 4
src/main/resources/application-dev.properties

@@ -18,7 +18,7 @@ spring.datasource.validationQuery=SELECT 1 FROM DUAL
18 18
 spring.datasource.testWhileIdle=true
19 19
 spring.datasource.testOnBorrow=false
20 20
 spring.datasource.testOnReturn=false
21
-
21
+spring.main.allow-bean-definition-overriding=true
22 22
 spring.datasource.poolPreparedStatements=true
23 23
 spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
24 24
 
@@ -64,10 +64,10 @@ spring.freemarker.request-context-attribute=request
64 64
 spring.freemarker.suffix=.ftl
65 65
 spring.freemarker.template-loader-path=classpath:/templates/ 
66 66
 #spring.freemarker.view-names= #whitelistofviewnamesthatcanberesolved
67
-
67
+logging.level.org.springframework.boot.autoconfigure=INFO
68 68
 #spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.upload-path}
69
-spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
70
-
69
+spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
70
+spring.main.allow-circular-references: true
71 71
 spring.freemarker.settings.auto_import=common/common.ftl as com
72 72
 spring.freemarker.settings.datetime_format=yyyy-MM-dd
73 73
 spring.freemarker.settings.classic_compatible=true

+ 5 - 0
src/main/resources/mapper/ProductionVarietyAddMapper.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.zjt.mapper.ProductionVarietyAddMapper">
4
+
5
+</mapper>

+ 5 - 0
src/main/resources/mapper/ProductionVarietyDetailColourMapper.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.zjt.mapper.ProductionVarietyDetailColourMapper">
4
+
5
+</mapper>

+ 5 - 0
src/main/resources/mapper/ProductionVarietyDetailMapper.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.zjt.mapper.ProductionVarietyDetailMapper">
4
+
5
+</mapper>

+ 5 - 0
src/main/resources/mapper/ProductionVarietyMapper.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.zjt.mapper.ProductionVarietyMapper">
4
+
5
+</mapper>

+ 5 - 0
src/main/resources/mapper/ProductionVarietyTdMapper.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.zjt.mapper.ProductionVarietyTdMapper">
4
+
5
+</mapper>

+ 5 - 0
src/main/resources/mapper/ProductionheaderMapper.xml

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.zjt.mapper.ProductionheaderMapper">
4
+
5
+</mapper>