18792927508 2 лет назад
Родитель
Сommit
e0e15d5b81
35 измененных файлов: 1774 добавлений и 38 удалений
  1. 4
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/constants/Constants.java
  2. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialBomController.java
  3. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialProcessHoursController.java
  4. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostPurchasePriceController.java
  5. 56
    1
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardController.java
  6. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardDetailController.java
  7. 7
    3
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardVersionController.java
  8. 377
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialBom.java
  9. 174
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialProcessHours.java
  10. 2
    2
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPartMissingInfo.java
  11. 215
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPurchasePrice.java
  12. 2
    2
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandard.java
  13. 255
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardDetail.java
  14. 2
    8
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardVersion.java
  15. 1
    1
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/HourRate.java
  16. 63
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/enums/StandardStageEnum.java
  17. 18
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialBomMapper.java
  18. 18
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialProcessHoursMapper.java
  19. 18
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostPurchasePriceMapper.java
  20. 18
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java
  21. 52
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialBomMapper.xml
  22. 30
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialProcessHoursMapper.xml
  23. 37
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostPurchasePriceMapper.xml
  24. 42
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml
  25. 16
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialBomService.java
  26. 16
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialProcessHoursService.java
  27. 16
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostPurchasePriceService.java
  28. 16
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostStandardDetailService.java
  29. 11
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/ICostStandardVersionService.java
  30. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialBomServiceImpl.java
  31. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialProcessHoursServiceImpl.java
  32. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostPurchasePriceServiceImpl.java
  33. 20
    0
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardDetailServiceImpl.java
  34. 141
    14
      qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardVersionServiceImpl.java
  35. 7
    7
      qomo-kn-cost-manage/src/test/java/com/zzsmart/qomo/kn/cost/manage/ApplicationTests.java

+ 4
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/constants/Constants.java Просмотреть файл

@@ -41,4 +41,8 @@ public interface Constants {
41 41
             "期间费用",
42 42
             "期间费用率",
43 43
             "净利率");
44
+    /**
45
+     * 下划线
46
+     */
47
+    String UNDER_LINE = "_";
44 48
 }

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialBomController.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.controller;
2
+
3
+
4
+import org.springframework.web.bind.annotation.RequestMapping;
5
+
6
+import org.springframework.web.bind.annotation.RestController;
7
+
8
+/**
9
+ * <p>
10
+ * 物料bom 前端控制器
11
+ * </p>
12
+ *
13
+ * @author  
14
+ * @since 2024-06-19
15
+ */
16
+@RestController
17
+@RequestMapping("/cost-material-bom")
18
+public class CostMaterialBomController {
19
+
20
+}

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialProcessHoursController.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.controller;
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  
14
+ * @since 2024-06-19
15
+ */
16
+@RestController
17
+@RequestMapping("/cost-material-process-hours")
18
+public class CostMaterialProcessHoursController {
19
+
20
+}

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostPurchasePriceController.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.controller;
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  
14
+ * @since 2024-06-19
15
+ */
16
+@RestController
17
+@RequestMapping("/cost-purchase-price")
18
+public class CostPurchasePriceController {
19
+
20
+}

+ 56
- 1
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardController.java Просмотреть файл

@@ -1,5 +1,8 @@
1 1
 package com.zzsmart.qomo.kn.cost.manage.controller;
2 2
 
3
+import java.io.InputStream;
4
+import java.net.URL;
5
+import java.net.URLEncoder;
3 6
 import java.util.Arrays;
4 7
 import java.util.List;
5 8
 import java.util.Map;
@@ -13,6 +16,9 @@ import javax.servlet.http.HttpServletResponse;
13 16
 import com.zzsmart.qomo.kn.cost.manage.entity.CostStandard;
14 17
 import com.zzsmart.qomo.kn.cost.manage.service.ICostStandardService;
15 18
 import com.zzsmart.qomo.kn.cost.manage.vo.CostStandardVO;
19
+import org.apache.poi.ss.usermodel.*;
20
+import org.apache.poi.ss.util.CellRangeAddressList;
21
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
16 22
 import org.jeecg.common.api.vo.Result;
17 23
 import org.jeecg.common.system.query.QueryGenerator;
18 24
 import org.jeecg.common.util.oConvertUtils;
@@ -23,6 +29,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
23 29
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
24 30
 import lombok.extern.slf4j.Slf4j;
25 31
 
32
+import org.jeecg.modules.system.entity.SysUser;
26 33
 import org.jeecgframework.poi.excel.ExcelImportUtil;
27 34
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
28 35
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -167,7 +174,7 @@ public class CostStandardController extends JeecgController<CostStandard, ICostS
167 174
     }
168 175
 
169 176
     /**
170
-      * 通过excel导入数据
177
+      * 通过excel导入数据并进行批量计算
171 178
     *
172 179
     * @param request
173 180
     * @param response
@@ -179,4 +186,52 @@ public class CostStandardController extends JeecgController<CostStandard, ICostS
179 186
         return super.importExcel(request, response, CostStandard.class);
180 187
     }
181 188
 
189
+	 @GetMapping("/download/excel-template")
190
+	 public void downloadExcel(HttpServletResponse response) throws IOException {
191
+		 // 创建工作簿
192
+		 Workbook workbook = new XSSFWorkbook();
193
+		 Sheet sheet = workbook.createSheet("生变成版本号导入模板");
194
+
195
+		 // 创建表头行
196
+		 Row headerRow = sheet.createRow(0);
197
+		 // 设置字体
198
+		 Font headerFont = workbook.createFont();
199
+		 headerFont.setBold(true); // 设置字体为加粗
200
+		// headerFont.setFontHeightInPoints((short) 14); // 设置字体大小
201
+
202
+		 CellStyle headerCellStyle = workbook.createCellStyle();
203
+		 headerCellStyle.setFont(headerFont);
204
+		 Cell firstCell = headerRow.createCell(0);
205
+		 firstCell.setCellStyle(headerCellStyle);
206
+		 firstCell.setCellValue("物料号");
207
+		 Cell secondCell = headerRow.createCell(1);
208
+		 secondCell.setCellStyle(headerCellStyle);
209
+		 secondCell.setCellValue("图号");
210
+		 Cell thirdCell = headerRow.createCell(2);
211
+		 thirdCell.setCellStyle(headerCellStyle);
212
+		 thirdCell.setCellValue("项目阶段");
213
+
214
+		 // 设置下拉列表数据
215
+		 DataValidationHelper validationHelper = sheet.getDataValidationHelper();
216
+		 DataValidationConstraint constraint = validationHelper.createExplicitListConstraint(
217
+				 new String[]{"初始","首批","量产"}); // 下拉列表的选项
218
+
219
+		 // 应用下拉列表到第三列(索引为2)
220
+		 CellRangeAddressList addressList = new CellRangeAddressList(1, 65535, 2, 2); // 从第二行开始到第101行,第三列
221
+		 DataValidation validation = validationHelper.createValidation(constraint, addressList);
222
+		 sheet.addValidationData(validation);
223
+
224
+
225
+
226
+		 // 设置响应头
227
+		 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
228
+		 response.setHeader("Content-Disposition", "attachment; filename=example-template.xlsx");
229
+
230
+		 // 将工作簿写入输出流
231
+		 workbook.write(response.getOutputStream());
232
+		 workbook.close();
233
+
234
+		 response.flushBuffer();
235
+	 }
236
+
182 237
 }

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardDetailController.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.controller;
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 cost_purchase_price
14
+ * @since 2024-06-19
15
+ */
16
+@RestController
17
+@RequestMapping("/cost-standard-detail")
18
+public class CostStandardDetailController {
19
+
20
+}

+ 7
- 3
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardVersionController.java Просмотреть файл

@@ -87,8 +87,12 @@ public class CostStandardVersionController extends JeecgController<CostStandardV
87 87
 //	@RequiresPermissions(":cost_standard_version:add")
88 88
 	@PostMapping(value = "/add")
89 89
 	public Result<String> add(@RequestBody CostStandardVersion costStandardVersion) {
90
-		costStandardVersionService.save(costStandardVersion);
91
-		return Result.OK("添加成功!");
90
+		boolean save = costStandardVersionService.save(costStandardVersion);
91
+		if(save){
92
+			return Result.OK("添加成功!");
93
+		}else {
94
+			return Result.OK("添加失败!");
95
+		}
92 96
 	}
93 97
 	
94 98
 	/**
@@ -175,7 +179,7 @@ public class CostStandardVersionController extends JeecgController<CostStandardV
175 179
 //    @RequiresPermissions(":cost_standard_version:importExcel")
176 180
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
177 181
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
178
-        return super.importExcel(request, response, CostStandardVersion.class);
182
+        return this.costStandardVersionService.importExcel(request, response, CostStandardVersion.class);
179 183
     }
180 184
 
181 185
 }

+ 377
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialBom.java Просмотреть файл

@@ -0,0 +1,377 @@
1
+package com.zzsmart.qomo.kn.cost.manage.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+
8
+import java.io.Serializable;
9
+import java.math.BigDecimal;
10
+import java.time.LocalDateTime;
11
+
12
+import io.swagger.annotations.ApiModel;
13
+import io.swagger.annotations.ApiModelProperty;
14
+import lombok.EqualsAndHashCode;
15
+import lombok.Getter;
16
+import lombok.Setter;
17
+import lombok.experimental.Accessors;
18
+
19
+/**
20
+ * <p>
21
+ * 物料bom
22
+ * </p>
23
+ *
24
+ * @author
25
+ * @since 2024-06-19
26
+ */
27
+@Getter
28
+@Setter
29
+@Accessors(chain = true)
30
+@TableName("cost_material_bom")
31
+@ApiModel(value = "cost_material_bom对象", description = "cost_material_bom")
32
+public class CostMaterialBom implements Serializable {
33
+
34
+    private static final long serialVersionUID = 1L;
35
+
36
+    /**
37
+     * id
38
+     */
39
+    @ApiModelProperty(value = "id")
40
+    @TableId(value = "id", type = IdType.AUTO)
41
+    private String id;
42
+
43
+    /**
44
+     * 物料编码
45
+     */
46
+    @ApiModelProperty(value = "物料编码")
47
+    @TableField("material_code")
48
+    private String materialCode;
49
+
50
+    /**
51
+     * 物料名称
52
+     */
53
+    @ApiModelProperty(value = "物料名称")
54
+    @TableField("material_name")
55
+    private String materialName;
56
+
57
+    /**
58
+     * 父级物料编码
59
+     */
60
+    @ApiModelProperty(value = "父级物料编码")
61
+    @TableField("parent_material_code")
62
+    private String parentMaterialCode;
63
+
64
+    /**
65
+     * 级别
66
+     */
67
+    @ApiModelProperty(value = "级别")
68
+    @TableField("level")
69
+    private String level;
70
+
71
+    /**
72
+     * 排序
73
+     */
74
+    @ApiModelProperty(value = "排序")
75
+    @TableField("sort")
76
+    private Integer sort;
77
+
78
+    /**
79
+     * 计量单位
80
+     */
81
+    @ApiModelProperty(value = "计量单位")
82
+    @TableField("unit")
83
+    private String unit;
84
+
85
+    /**
86
+     * 数量
87
+     */
88
+    @ApiModelProperty(value = "id")
89
+    @TableField("数量")
90
+    private Integer number;
91
+
92
+    /**
93
+     * 人工工时(分钟)
94
+     */
95
+    @ApiModelProperty(value = "人工工时(分钟)")
96
+    @TableField("labor_hours")
97
+    private BigDecimal laborHours;
98
+
99
+    /**
100
+     * 设备工时
101
+     */
102
+    @ApiModelProperty(value = "设备工时")
103
+    @TableField("device_hours")
104
+    private BigDecimal deviceHours;
105
+
106
+    /**
107
+     * 借用物料编码
108
+     */
109
+    @ApiModelProperty(value = "借用物料编码")
110
+    @TableField("borrow_material_code")
111
+    private String borrowMaterialCode;
112
+
113
+    /**
114
+     * 参考物料编码
115
+     */
116
+    @ApiModelProperty(value = "参考物料编码")
117
+    @TableField("refer_material_code")
118
+    private String referMaterialCode;
119
+
120
+    /**
121
+     * 采购类型
122
+     */
123
+
124
+    @ApiModelProperty(value = "采购类型")
125
+    @TableField("purchase_type")
126
+    private String purchaseType;
127
+
128
+    /**
129
+     * 特殊采购类型
130
+     */
131
+
132
+    @ApiModelProperty(value = "特殊采购类型")
133
+    @TableField("special_purchase_type")
134
+    private String specialPurchaseType;
135
+
136
+    /**
137
+     * 说明
138
+     */
139
+    @ApiModelProperty(value = "说明")
140
+    @TableField("explanation")
141
+    private String explanation;
142
+
143
+    /**
144
+     * 单位数量
145
+     */
146
+    @ApiModelProperty(value = "单位数量")
147
+    @TableField("quantity")
148
+    private BigDecimal quantity;
149
+
150
+    /**
151
+     * 重量(g)
152
+     */
153
+    @ApiModelProperty(value = "重量(g)")
154
+    @TableField("weight")
155
+    private String weight;
156
+
157
+    /**
158
+     * 材料/牌号
159
+     */
160
+    @ApiModelProperty(value = "材料/牌号")
161
+    @TableField("material_and_brand")
162
+    private String materialAndBrand;
163
+
164
+    /**
165
+     * 表面处理,材料
166
+     */
167
+    @ApiModelProperty(value = "表面处理,材料")
168
+    @TableField("surface_material")
169
+    private String surfaceMaterial;
170
+
171
+    /**
172
+     * 厚度(mm)
173
+     */
174
+    @ApiModelProperty(value = "厚度(mm)")
175
+    @TableField("surface_thickness")
176
+    private String surfaceThickness;
177
+
178
+    /**
179
+     * 表面积(mm²)
180
+     */
181
+    @ApiModelProperty(value = "表面积(mm²)")
182
+    @TableField("surface_area")
183
+    private String surfaceArea;
184
+
185
+    /**
186
+     * 长(mm)
187
+     */
188
+    @ApiModelProperty(value = "长(mm)")
189
+    @TableField("length")
190
+    private String length;
191
+
192
+    /**
193
+     * 宽(mm)
194
+     */
195
+    @ApiModelProperty(value = "宽(mm)")
196
+    @TableField("width")
197
+    private String width;
198
+
199
+    /**
200
+     * 高(mm)
201
+     */
202
+    @ApiModelProperty(value = "高(mm)")
203
+    @TableField("height")
204
+    private String height;
205
+
206
+    /**
207
+     * 图示/图档/文档 文件ID
208
+     */
209
+    @ApiModelProperty(value = "图示/图档/文档 文件ID")
210
+    @TableField("figure_file_id")
211
+    private Long figureFileId;
212
+
213
+    /**
214
+     * 是否新模具(0否 1是)
215
+     */
216
+    @ApiModelProperty(value = "是否新模具(0否 1是)")
217
+    @TableField("new_tooling")
218
+    private Boolean newTooling;
219
+
220
+    /**
221
+     * 成型方式(枚举)
222
+     */
223
+    @ApiModelProperty(value = "成型方式(枚举)")
224
+    @TableField("shaping_method")
225
+    private String shapingMethod;
226
+
227
+    /**
228
+     * 作业内容
229
+     */
230
+    @ApiModelProperty(value = "作业内容")
231
+    @TableField("work_content")
232
+    private String workContent;
233
+
234
+    /**
235
+     * 加工地点
236
+     */
237
+    @ApiModelProperty(value = "加工地点")
238
+    @TableField("process_location")
239
+    private String processLocation;
240
+
241
+    /**
242
+     * 成本中心
243
+     */
244
+    @ApiModelProperty(value = "成本中心")
245
+    @TableField("cost_center")
246
+    private String costCenter;
247
+
248
+    /**
249
+     * 单价(未税)
250
+     */
251
+    @ApiModelProperty(value = "单价(未税)")
252
+    @TableField("unit_price")
253
+    private BigDecimal unitPrice;
254
+
255
+    /**
256
+     * 总价(未税)
257
+     */
258
+    @ApiModelProperty(value = "总价(未税)")
259
+    @TableField("total_price")
260
+    private BigDecimal totalPrice;
261
+
262
+    /**
263
+     * 模具费(未税)
264
+     */
265
+    @ApiModelProperty(value = "模具费(未税)")
266
+    @TableField("mould_price")
267
+    private BigDecimal mouldPrice;
268
+
269
+    /**
270
+     * 创建人
271
+     */
272
+    @TableField("create_by")
273
+    private String createBy;
274
+
275
+    /**
276
+     * 创建时间
277
+     */
278
+    @TableField("create_time")
279
+    private LocalDateTime createTime;
280
+
281
+    /**
282
+     * 修改人
283
+     */
284
+    @TableField("update_by")
285
+    private String updateBy;
286
+
287
+    /**
288
+     * 修改时间
289
+     */
290
+    @TableField("update_time")
291
+    private LocalDateTime updateTime;
292
+
293
+    /**
294
+     * 备注(特殊技术信息)
295
+     */
296
+    @ApiModelProperty(value = "备注(特殊技术信息)")
297
+    @TableField("remark")
298
+    private String remark;
299
+
300
+
301
+    public static final String ID = "id";
302
+
303
+    public static final String MATERIAL_CODE = "material_code";
304
+
305
+    public static final String MATERIAL_NAME = "material_name";
306
+
307
+    public static final String PARENT_MATERIAL_CODE = "parent_material_code";
308
+
309
+    public static final String LEVEL = "level";
310
+
311
+    public static final String SORT = "sort";
312
+
313
+    public static final String UNIT = "unit";
314
+
315
+    public static final String NUMBER = "number";
316
+
317
+    public static final String LABOR_HOURS = "labor_hours";
318
+
319
+    public static final String DEVICE_HOURS = "device_hours";
320
+
321
+    public static final String BORROW_MATERIAL_CODE = "borrow_material_code";
322
+
323
+    public static final String REFER_MATERIAL_CODE = "refer_material_code";
324
+
325
+    public static final String PURCHASE_TYPE = "purchase_type";
326
+
327
+    public static final String SPECIAL_PURCHASE_TYPE = "special_purchase_type";
328
+
329
+    public static final String EXPLANATION = "explanation";
330
+
331
+    public static final String QUANTITY = "quantity";
332
+
333
+    public static final String WEIGHT = "weight";
334
+
335
+    public static final String MATERIAL_AND_BRAND = "material_and_brand";
336
+
337
+    public static final String SURFACE_MATERIAL = "surface_material";
338
+
339
+    public static final String SURFACE_THICKNESS = "surface_thickness";
340
+
341
+    public static final String SURFACE_AREA = "surface_area";
342
+
343
+    public static final String LENGTH = "length";
344
+
345
+    public static final String WIDTH = "width";
346
+
347
+    public static final String HEIGHT = "height";
348
+
349
+    public static final String FIGURE_FILE_ID = "figure_file_id";
350
+
351
+    public static final String NEW_TOOLING = "new_tooling";
352
+
353
+    public static final String SHAPING_METHOD = "shaping_method";
354
+
355
+    public static final String WORK_CONTENT = "work_content";
356
+
357
+    public static final String PROCESS_LOCATION = "process_location";
358
+
359
+    public static final String COST_CENTER = "cost_center";
360
+
361
+    public static final String UNIT_PRICE = "unit_price";
362
+
363
+    public static final String TOTAL_PRICE = "total_price";
364
+
365
+    public static final String MOULD_PRICE = "mould_price";
366
+
367
+    public static final String CREATE_BY = "create_by";
368
+
369
+    public static final String CREATE_TIME = "create_time";
370
+
371
+    public static final String UPDATE_BY = "update_by";
372
+
373
+    public static final String UPDATE_TIME = "update_time";
374
+
375
+    public static final String REMARK = "remark";
376
+
377
+}

+ 174
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialProcessHours.java Просмотреть файл

@@ -0,0 +1,174 @@
1
+package com.zzsmart.qomo.kn.cost.manage.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+
8
+import java.io.Serializable;
9
+import java.math.BigDecimal;
10
+import java.time.LocalDateTime;
11
+
12
+import io.swagger.annotations.ApiModelProperty;
13
+import lombok.Getter;
14
+import lombok.Setter;
15
+import lombok.experimental.Accessors;
16
+
17
+/**
18
+ * <p>
19
+ * 物料工时工序表
20
+ * </p>
21
+ *
22
+ * @author
23
+ * @since 2024-06-19
24
+ */
25
+@Getter
26
+@Setter
27
+@Accessors(chain = true)
28
+@TableName("cost_material_process_hours")
29
+public class CostMaterialProcessHours implements Serializable {
30
+
31
+    private static final long serialVersionUID = 1L;
32
+
33
+    /**
34
+     * 主键
35
+     */
36
+    @ApiModelProperty(value = "id")
37
+    @TableId(value = "id", type = IdType.AUTO)
38
+    private String id;
39
+
40
+    /**
41
+     * 物料编码
42
+     */
43
+    @ApiModelProperty(value = "物料编码")
44
+    @TableField("material_code")
45
+    private String materialCode;
46
+
47
+    /**
48
+     * 物料名称
49
+     */
50
+    @ApiModelProperty(value = "物料名称")
51
+    @TableField("material_name")
52
+    private String materialName;
53
+
54
+    /**
55
+     * 层级
56
+     */
57
+    @ApiModelProperty(value = "层级")
58
+    @TableField("level")
59
+    private String level;
60
+
61
+    /**
62
+     * 数量
63
+     */
64
+    @ApiModelProperty(value = "数量")
65
+    @TableField("quantity")
66
+    private BigDecimal quantity;
67
+
68
+    /**
69
+     * 采购类型
70
+     */
71
+    @ApiModelProperty(value = "采购类型")
72
+    @TableField("purchase_type")
73
+    private String purchaseType;
74
+
75
+    /**
76
+     * 工序
77
+     */
78
+    @ApiModelProperty(value = "工序")
79
+    @TableField("work_process")
80
+    private String workProcess;
81
+
82
+    /**
83
+     * 描述
84
+     */
85
+    @ApiModelProperty(value = "描述")
86
+    @TableField("described")
87
+    private String described;
88
+
89
+    /**
90
+     * 人工工时
91
+     */
92
+    @ApiModelProperty(value = "人工工时")
93
+    @TableField("labor_hours")
94
+    private BigDecimal laborHours;
95
+
96
+    /**
97
+     * 设备工时
98
+     */
99
+    @ApiModelProperty(value = "设备工时")
100
+    @TableField("device_hours")
101
+    private BigDecimal deviceHours;
102
+
103
+    /**
104
+     * 工作中心
105
+     */
106
+    @ApiModelProperty(value = "工作中心")
107
+    @TableField("work_center")
108
+    private String workCenter;
109
+
110
+    /**
111
+     * 创建人
112
+     */
113
+    @TableField("create_by")
114
+    private String createBy;
115
+
116
+    /**
117
+     * 创建时间
118
+     */
119
+    @TableField("create_time")
120
+    private LocalDateTime createTime;
121
+
122
+    /**
123
+     * 修改人
124
+     */
125
+    @TableField("update_by")
126
+    private String updateBy;
127
+
128
+    /**
129
+     * 修改时间
130
+     */
131
+    @TableField("update_time")
132
+    private LocalDateTime updateTime;
133
+
134
+    /**
135
+     * 备注
136
+     */
137
+    @ApiModelProperty(value = "备注")
138
+    @TableField("remark")
139
+    private String remark;
140
+
141
+
142
+    public static final String ID = "id";
143
+
144
+    public static final String MATERIAL_CODE = "material_code";
145
+
146
+    public static final String MATERIAL_NAME = "material_name";
147
+
148
+    public static final String LEVEL = "level";
149
+
150
+    public static final String QUANTITY = "quantity";
151
+
152
+    public static final String PURCHASE_TYPE = "purchase_type";
153
+
154
+    public static final String WORK_PROCESS = "work_process";
155
+
156
+    public static final String DESCRIBED = "described";
157
+
158
+    public static final String LABOR_HOURS = "labor_hours";
159
+
160
+    public static final String DEVICE_HOURS = "device_hours";
161
+
162
+    public static final String WORK_CENTER = "work_center";
163
+
164
+    public static final String CREATE_BY = "create_by";
165
+
166
+    public static final String CREATE_TIME = "create_time";
167
+
168
+    public static final String UPDATE_BY = "update_by";
169
+
170
+    public static final String UPDATE_TIME = "update_time";
171
+
172
+    public static final String REMARK = "remark";
173
+
174
+}

+ 2
- 2
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPartMissingInfo.java Просмотреть файл

@@ -35,11 +35,11 @@ public class CostPartMissingInfo implements Serializable {
35 35
 	/**id*/
36 36
 	@TableId(type = IdType.ASSIGN_ID)
37 37
     @ApiModelProperty(value = "id")
38
-    private Integer id;
38
+    private String id;
39 39
 	/**标准成本表主键id*/
40 40
 	@Excel(name = "标准成本表主键id", width = 15)
41 41
     @ApiModelProperty(value = "标准成本表主键id")
42
-    private Integer costStandardId;
42
+    private String costStandardId;
43 43
 	/**物料号*/
44 44
 	@Excel(name = "物料号", width = 15)
45 45
     @ApiModelProperty(value = "物料号")

+ 215
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPurchasePrice.java Просмотреть файл

@@ -0,0 +1,215 @@
1
+package com.zzsmart.qomo.kn.cost.manage.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import java.io.Serializable;
8
+import java.math.BigDecimal;
9
+import java.time.LocalDateTime;
10
+import lombok.Getter;
11
+import lombok.Setter;
12
+import lombok.experimental.Accessors;
13
+
14
+/**
15
+ * <p>
16
+ * 物料采购单价
17
+ * </p>
18
+ *
19
+ * @author  
20
+ * @since 2024-06-19
21
+ */
22
+@Getter
23
+@Setter
24
+@Accessors(chain = true)
25
+@TableName("cost_purchase_price")
26
+public class CostPurchasePrice implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * 主键
32
+     */
33
+    @TableId(value = "id", type = IdType.AUTO)
34
+    private String id;
35
+
36
+    /**
37
+     * 物料编码
38
+     */
39
+    @TableField("material_code")
40
+    private String materialCode;
41
+
42
+    /**
43
+     * 物料名称
44
+     */
45
+    @TableField("material_name")
46
+    private String materialName;
47
+
48
+    /**
49
+     * 规格型号
50
+     */
51
+    @TableField("specification")
52
+    private String specification;
53
+
54
+    /**
55
+     * 采购类型
56
+     */
57
+    @TableField("purchase_type")
58
+    private String purchaseType;
59
+
60
+    /**
61
+     * 供应商代码
62
+     */
63
+    @TableField("supplier_code")
64
+    private String supplierCode;
65
+
66
+    /**
67
+     * 供应商名称
68
+     */
69
+    @TableField("supplier_name")
70
+    private String supplierName;
71
+
72
+    /**
73
+     * 采购价时间
74
+     */
75
+    @TableField("purchase_price_time")
76
+    private LocalDateTime purchasePriceTime;
77
+
78
+    /**
79
+     * 采购价合计
80
+     */
81
+    @TableField("purchase_price_sum")
82
+    private BigDecimal purchasePriceSum;
83
+
84
+    /**
85
+     * 最低采购单价
86
+     */
87
+    @TableField("min_purchase_price")
88
+    private BigDecimal minPurchasePrice;
89
+
90
+    /**
91
+     * 最新采购单价
92
+     */
93
+    @TableField("last_purchase_price")
94
+    private BigDecimal lastPurchasePrice;
95
+
96
+    /**
97
+     * 平均采购价
98
+     */
99
+    @TableField("purchase_price_avg")
100
+    private BigDecimal purchasePriceAvg;
101
+
102
+    /**
103
+     * 直接材料费
104
+     */
105
+    @TableField("direct_material_cost")
106
+    private BigDecimal directMaterialCost;
107
+
108
+    /**
109
+     * 工艺加工费用
110
+     */
111
+    @TableField("process_cost")
112
+    private BigDecimal processCost;
113
+
114
+    /**
115
+     * 运输费用
116
+     */
117
+    @TableField("transport_cost")
118
+    private BigDecimal transportCost;
119
+
120
+    /**
121
+     * 模具费用
122
+     */
123
+    @TableField("mould_cost")
124
+    private BigDecimal mouldCost;
125
+
126
+    /**
127
+     * 其他费用
128
+     */
129
+    @TableField("orther_cost")
130
+    private BigDecimal ortherCost;
131
+
132
+    /**
133
+     * 税率
134
+     */
135
+    @TableField("tax_tate")
136
+    private BigDecimal taxTate;
137
+
138
+    /**
139
+     * 创建人
140
+     */
141
+    @TableField("create_by")
142
+    private String createBy;
143
+
144
+    /**
145
+     * 创建时间
146
+     */
147
+    @TableField("create_time")
148
+    private LocalDateTime createTime;
149
+
150
+    /**
151
+     * 修改人
152
+     */
153
+    @TableField("update_by")
154
+    private String updateBy;
155
+
156
+    /**
157
+     * 修改时间
158
+     */
159
+    @TableField("update_time")
160
+    private LocalDateTime updateTime;
161
+
162
+    /**
163
+     * 备注
164
+     */
165
+    @TableField("remark")
166
+    private String remark;
167
+
168
+
169
+    public static final String ID = "id";
170
+
171
+    public static final String MATERIAL_CODE = "material_code";
172
+
173
+    public static final String MATERIAL_NAME = "material_name";
174
+
175
+    public static final String SPECIFICATION = "specification";
176
+
177
+    public static final String PURCHASE_TYPE = "purchase_type";
178
+
179
+    public static final String SUPPLIER_CODE = "supplier_code";
180
+
181
+    public static final String SUPPLIER_NAME = "supplier_name";
182
+
183
+    public static final String PURCHASE_PRICE_TIME = "purchase_price_time";
184
+
185
+    public static final String PURCHASE_PRICE_SUM = "purchase_price_sum";
186
+
187
+    public static final String MIN_PURCHASE_PRICE = "min_purchase_price";
188
+
189
+    public static final String LAST_PURCHASE_PRICE = "last_purchase_price";
190
+
191
+    public static final String PURCHASE_PRICE_AVG = "purchase_price_avg";
192
+
193
+    public static final String DIRECT_MATERIAL_COST = "direct_material_cost";
194
+
195
+    public static final String PROCESS_COST = "process_cost";
196
+
197
+    public static final String TRANSPORT_COST = "transport_cost";
198
+
199
+    public static final String MOULD_COST = "mould_cost";
200
+
201
+    public static final String ORTHER_COST = "orther_cost";
202
+
203
+    public static final String TAX_TATE = "tax_tate";
204
+
205
+    public static final String CREATE_BY = "create_by";
206
+
207
+    public static final String CREATE_TIME = "create_time";
208
+
209
+    public static final String UPDATE_BY = "update_by";
210
+
211
+    public static final String UPDATE_TIME = "update_time";
212
+
213
+    public static final String REMARK = "remark";
214
+
215
+}

+ 2
- 2
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandard.java Просмотреть файл

@@ -35,7 +35,7 @@ public class CostStandard implements Serializable {
35 35
 	/**id*/
36 36
 	@TableId(type = IdType.ASSIGN_ID)
37 37
     @ApiModelProperty(value = "id")
38
-    private Integer id;
38
+    private String id;
39 39
 	/**物料号*/
40 40
 	@Excel(name = "物料号", width = 15)
41 41
     @ApiModelProperty(value = "物料号")
@@ -44,7 +44,7 @@ public class CostStandard implements Serializable {
44 44
     /**版本号ID*/
45 45
     @Excel(name = "版本号ID", width = 15)
46 46
     @ApiModelProperty(value = "版本号ID")
47
-    private Integer versionNumberId;
47
+    private String versionNumberId;
48 48
 
49 49
 	/**bom材料费*/
50 50
 	@Excel(name = "bom材料费", width = 15)

+ 255
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardDetail.java Просмотреть файл

@@ -0,0 +1,255 @@
1
+package com.zzsmart.qomo.kn.cost.manage.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import com.baomidou.mybatisplus.annotation.TableName;
7
+import java.io.Serializable;
8
+import java.math.BigDecimal;
9
+import java.time.LocalDateTime;
10
+import lombok.Getter;
11
+import lombok.Setter;
12
+import lombok.experimental.Accessors;
13
+
14
+/**
15
+ * <p>
16
+ * 标准成本明细表
17
+ * </p>
18
+ *
19
+ * @author cost_purchase_price
20
+ * @since 2024-06-19
21
+ */
22
+@Getter
23
+@Setter
24
+@Accessors(chain = true)
25
+@TableName("cost_standard_detail")
26
+public class CostStandardDetail implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    /**
31
+     * id
32
+     */
33
+    @TableId(value = "id", type = IdType.AUTO)
34
+    private String id;
35
+
36
+    /**
37
+     * 子物料号,关联kn_new_sap_mara表matnr字段
38
+     */
39
+    @TableField("material_number")
40
+    private String materialNumber;
41
+
42
+    /**
43
+     * 版本号id
44
+     */
45
+    @TableField("version_number_id")
46
+    private String versionNumberId;
47
+
48
+    /**
49
+     * 层级
50
+     */
51
+    @TableField("level")
52
+    private String level;
53
+
54
+    /**
55
+     * 图号
56
+     */
57
+    @TableField("figure_number")
58
+    private String figureNumber;
59
+
60
+    /**
61
+     * 用量
62
+     */
63
+    @TableField("dosage")
64
+    private String dosage;
65
+
66
+    /**
67
+     * 单位
68
+     */
69
+    @TableField("unit")
70
+    private String unit;
71
+
72
+    /**
73
+     * 规格
74
+     */
75
+    @TableField("specification")
76
+    private String specification;
77
+
78
+    /**
79
+     * bom材料费
80
+     */
81
+    @TableField("bom_cost")
82
+    private BigDecimal bomCost;
83
+
84
+    /**
85
+     * 包装费
86
+     */
87
+    @TableField("packing_cost")
88
+    private BigDecimal packingCost;
89
+
90
+    /**
91
+     * 本阶辅料费
92
+     */
93
+    @TableField("auxiliary_cost")
94
+    private BigDecimal auxiliaryCost;
95
+
96
+    /**
97
+     * 本阶人工费
98
+     */
99
+    @TableField("labor_cost")
100
+    private BigDecimal laborCost;
101
+
102
+    /**
103
+     * 机器折旧费
104
+     */
105
+    @TableField("euip_depreciation_cost")
106
+    private BigDecimal euipDepreciationCost;
107
+
108
+    /**
109
+     * 机物料消耗费
110
+     */
111
+    @TableField("equip_consume_cost")
112
+    private BigDecimal equipConsumeCost;
113
+
114
+    /**
115
+     * 水电费
116
+     */
117
+    @TableField("hydroelectricity_cost")
118
+    private BigDecimal hydroelectricityCost;
119
+
120
+    /**
121
+     * 其他制造费
122
+     */
123
+    @TableField("other_cost")
124
+    private BigDecimal otherCost;
125
+
126
+    /**
127
+     * 物流费
128
+     */
129
+    @TableField("trail_cost")
130
+    private BigDecimal trailCost;
131
+
132
+    /**
133
+     * 制造成本
134
+     */
135
+    @TableField("manufacture_cost")
136
+    private BigDecimal manufactureCost;
137
+
138
+    /**
139
+     * 累计人工费
140
+     */
141
+    @TableField("total_labor_cost")
142
+    private BigDecimal totalLaborCost;
143
+
144
+    /**
145
+     * 累计机器消耗费
146
+     */
147
+    @TableField("total_equip_consume_cost")
148
+    private BigDecimal totalEquipConsumeCost;
149
+
150
+    /**
151
+     * 累计机器折旧费
152
+     */
153
+    @TableField("total_euip_depreciation_cost")
154
+    private BigDecimal totalEuipDepreciationCost;
155
+
156
+    /**
157
+     * 累计水电费
158
+     */
159
+    @TableField("total_hydroelectricity_cost")
160
+    private BigDecimal totalHydroelectricityCost;
161
+
162
+    /**
163
+     * 累计其它费用
164
+     */
165
+    @TableField("total_other_cost")
166
+    private BigDecimal totalOtherCost;
167
+
168
+    /**
169
+     * 创建人
170
+     */
171
+    @TableField("create_by")
172
+    private String createBy;
173
+
174
+    /**
175
+     * 创建日期
176
+     */
177
+    @TableField("create_time")
178
+    private LocalDateTime createTime;
179
+
180
+    /**
181
+     * 修改人
182
+     */
183
+    @TableField("update_by")
184
+    private String updateBy;
185
+
186
+    /**
187
+     * 修改日期
188
+     */
189
+    @TableField("update_time")
190
+    private LocalDateTime updateTime;
191
+
192
+    /**
193
+     * 备注
194
+     */
195
+    @TableField("remark")
196
+    private String remark;
197
+
198
+
199
+    public static final String ID = "id";
200
+
201
+    public static final String MATERIAL_NUMBER = "material_number";
202
+
203
+    public static final String VERSION_NUMBER_ID = "version_number_id";
204
+
205
+    public static final String LEVEL = "level";
206
+
207
+    public static final String FIGURE_NUMBER = "figure_number";
208
+
209
+    public static final String DOSAGE = "dosage";
210
+
211
+    public static final String UNIT = "unit";
212
+
213
+    public static final String SPECIFICATION = "specification";
214
+
215
+    public static final String BOM_COST = "bom_cost";
216
+
217
+    public static final String PACKING_COST = "packing_cost";
218
+
219
+    public static final String AUXILIARY_COST = "auxiliary_cost";
220
+
221
+    public static final String LABOR_COST = "labor_cost";
222
+
223
+    public static final String EUIP_DEPRECIATION_COST = "euip_depreciation_cost";
224
+
225
+    public static final String EQUIP_CONSUME_COST = "equip_consume_cost";
226
+
227
+    public static final String HYDROELECTRICITY_COST = "hydroelectricity_cost";
228
+
229
+    public static final String OTHER_COST = "other_cost";
230
+
231
+    public static final String TRAIL_COST = "trail_cost";
232
+
233
+    public static final String MANUFACTURE_COST = "manufacture_cost";
234
+
235
+    public static final String TOTAL_LABOR_COST = "total_labor_cost";
236
+
237
+    public static final String TOTAL_EQUIP_CONSUME_COST = "total_equip_consume_cost";
238
+
239
+    public static final String TOTAL_EUIP_DEPRECIATION_COST = "total_euip_depreciation_cost";
240
+
241
+    public static final String TOTAL_HYDROELECTRICITY_COST = "total_hydroelectricity_cost";
242
+
243
+    public static final String TOTAL_OTHER_COST = "total_other_cost";
244
+
245
+    public static final String CREATE_BY = "create_by";
246
+
247
+    public static final String CREATE_TIME = "create_time";
248
+
249
+    public static final String UPDATE_BY = "update_by";
250
+
251
+    public static final String UPDATE_TIME = "update_time";
252
+
253
+    public static final String REMARK = "remark";
254
+
255
+}

+ 2
- 8
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardVersion.java Просмотреть файл

@@ -35,9 +35,10 @@ public class CostStandardVersion implements Serializable {
35 35
 	/**id*/
36 36
 	@TableId(type = IdType.ASSIGN_ID)
37 37
     @ApiModelProperty(value = "id")
38
-    private Integer id;
38
+    private String id;
39 39
 
40 40
 	/**图号*/
41
+    @Excel(name = "图号", width = 15)
41 42
     @ApiModelProperty(value = "图号")
42 43
     private String figureNumber;
43 44
 	/**阶段,A-初始,B-首批,C-量产*/
@@ -49,15 +50,12 @@ public class CostStandardVersion implements Serializable {
49 50
     @ApiModelProperty(value = "物料号")
50 51
     private String materialNumber;
51 52
 	/**版本号*/
52
-	@Excel(name = "版本号", width = 15)
53 53
     @ApiModelProperty(value = "版本号")
54 54
     private String versionNumber;
55 55
 	/**版本状态*/
56
-	@Excel(name = "版本状态", width = 15)
57 56
     @ApiModelProperty(value = "版本状态")
58 57
     private String versionStatus;
59 58
 	/**创建人*/
60
-	@Excel(name = "创建人", width = 15)
61 59
     @ApiModelProperty(value = "创建人")
62 60
     private String createBy;
63 61
 	/**创建时间*/
@@ -66,21 +64,17 @@ public class CostStandardVersion implements Serializable {
66 64
     @ApiModelProperty(value = "创建时间")
67 65
     private Date createTime;
68 66
 	/**修改人*/
69
-	@Excel(name = "修改人", width = 15)
70 67
     @ApiModelProperty(value = "修改人")
71 68
     private String updateBy;
72 69
 	/**修改时间*/
73
-	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
74 70
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
75 71
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
76 72
     @ApiModelProperty(value = "修改时间")
77 73
     private Date updateTime;
78 74
 	/**备注*/
79
-	@Excel(name = "备注", width = 15)
80 75
     @ApiModelProperty(value = "备注")
81 76
     private String remark;
82 77
     /**年份*/
83
-    @Excel(name = "年份", width = 15)
84 78
     @ApiModelProperty(value = "年份")
85 79
     private String versionYear;
86 80
 }

+ 1
- 1
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/HourRate.java Просмотреть файл

@@ -23,7 +23,7 @@ import lombok.experimental.Accessors;
23 23
  * @Version: V1.0
24 24
  */
25 25
 @Data
26
-@TableName("hour_rate")
26
+@TableName("cost_hour_rate")
27 27
 @Accessors(chain = true)
28 28
 @EqualsAndHashCode(callSuper = false)
29 29
 @ApiModel(value="hour_rate对象", description="hour_rate")

+ 63
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/enums/StandardStageEnum.java Просмотреть файл

@@ -0,0 +1,63 @@
1
+package com.zzsmart.qomo.kn.cost.manage.enums;
2
+
3
+/**
4
+ * @Classname StandardStageEnum
5
+ * @Description 阶段枚举
6
+ * @Version 1.0.0
7
+ * @Date 2024/6/18 9:51
8
+ * @Created wangqiong
9
+ */
10
+public enum StandardStageEnum {
11
+    INIT("A", "初始"),
12
+    FIRST_BATCH("B", "首批"),
13
+    MASS_PRODUCTION("C", "量产"),
14
+
15
+
16
+    ;
17
+
18
+    private final String code;
19
+    private final String text;
20
+
21
+    StandardStageEnum(String code, String text)
22
+    {
23
+        this.code = code;
24
+        this.text = text;
25
+    }
26
+
27
+    public String getCode()
28
+    {
29
+        return code;
30
+    }
31
+
32
+    public String getText()
33
+    {
34
+        return text;
35
+    }
36
+    /**
37
+     * 根据code获取text
38
+     * @param codeNo
39
+     * @return
40
+     */
41
+    public static String getTextByCode(String codeNo){
42
+        for (StandardStageEnum value : StandardStageEnum.values()) {
43
+            if (value.getCode().equals(codeNo)){
44
+                return value.getText();
45
+            }
46
+        }
47
+        return codeNo.toString();
48
+    }
49
+
50
+    /**
51
+     * 根据text获取code
52
+     * @param textStr
53
+     * @return
54
+     */
55
+    public static String getCodeByText(String textStr){
56
+        for (StandardStageEnum value : StandardStageEnum.values()) {
57
+            if (value.getText().equals(textStr)){
58
+                return value.getText();
59
+            }
60
+        }
61
+        return textStr;
62
+    }
63
+}

+ 18
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialBomMapper.java Просмотреть файл

@@ -0,0 +1,18 @@
1
+package com.zzsmart.qomo.kn.cost.manage.mapper;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 物料bom Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author  
13
+ * @since 2024-06-19
14
+ */
15
+@Mapper
16
+public interface CostMaterialBomMapper extends BaseMapper<CostMaterialBom> {
17
+
18
+}

+ 18
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialProcessHoursMapper.java Просмотреть файл

@@ -0,0 +1,18 @@
1
+package com.zzsmart.qomo.kn.cost.manage.mapper;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 物料工时工序表 Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author  
13
+ * @since 2024-06-19
14
+ */
15
+@Mapper
16
+public interface CostMaterialProcessHoursMapper extends BaseMapper<CostMaterialProcessHours> {
17
+
18
+}

+ 18
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostPurchasePriceMapper.java Просмотреть файл

@@ -0,0 +1,18 @@
1
+package com.zzsmart.qomo.kn.cost.manage.mapper;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 物料采购单价 Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author  
13
+ * @since 2024-06-19
14
+ */
15
+@Mapper
16
+public interface CostPurchasePriceMapper extends BaseMapper<CostPurchasePrice> {
17
+
18
+}

+ 18
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java Просмотреть файл

@@ -0,0 +1,18 @@
1
+package com.zzsmart.qomo.kn.cost.manage.mapper;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 标准成本明细表 Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author cost_purchase_price
13
+ * @since 2024-06-19
14
+ */
15
+@Mapper
16
+public interface CostStandardDetailMapper extends BaseMapper<CostStandardDetail> {
17
+
18
+}

+ 52
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialBomMapper.xml Просмотреть файл

@@ -0,0 +1,52 @@
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.zzsmart.qomo.kn.cost.manage.mapper.CostMaterialBomMapper">
4
+
5
+    <!-- 通用查询映射结果 -->
6
+    <resultMap id="BaseResultMap" type="com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom">
7
+        <id column="id" property="id" />
8
+        <result column="material_code" property="materialCode" />
9
+        <result column="material_name" property="materialName" />
10
+        <result column="parent_material_code" property="parentMaterialCode" />
11
+        <result column="level" property="level" />
12
+        <result column="sort" property="sort" />
13
+        <result column="unit" property="unit" />
14
+        <result column="number" property="number" />
15
+        <result column="labor_hours" property="laborHours" />
16
+        <result column="device_hours" property="deviceHours" />
17
+        <result column="borrow_material_code" property="borrowMaterialCode" />
18
+        <result column="refer_material_code" property="referMaterialCode" />
19
+        <result column="purchase_type" property="purchaseType" />
20
+        <result column="special_purchase_type" property="specialPurchaseType" />
21
+        <result column="explanation" property="explanation" />
22
+        <result column="quantity" property="quantity" />
23
+        <result column="weight" property="weight" />
24
+        <result column="material_and_brand" property="materialAndBrand" />
25
+        <result column="surface_material" property="surfaceMaterial" />
26
+        <result column="surface_thickness" property="surfaceThickness" />
27
+        <result column="surface_area" property="surfaceArea" />
28
+        <result column="length" property="length" />
29
+        <result column="width" property="width" />
30
+        <result column="height" property="height" />
31
+        <result column="figure_file_id" property="figureFileId" />
32
+        <result column="new_tooling" property="newTooling" />
33
+        <result column="shaping_method" property="shapingMethod" />
34
+        <result column="work_content" property="workContent" />
35
+        <result column="process_location" property="processLocation" />
36
+        <result column="cost_center" property="costCenter" />
37
+        <result column="unit_price" property="unitPrice" />
38
+        <result column="total_price" property="totalPrice" />
39
+        <result column="mould_price" property="mouldPrice" />
40
+        <result column="create_by" property="createBy" />
41
+        <result column="create_time" property="createTime" />
42
+        <result column="update_by" property="updateBy" />
43
+        <result column="update_time" property="updateTime" />
44
+        <result column="remark" property="remark" />
45
+    </resultMap>
46
+
47
+    <!-- 通用查询结果列 -->
48
+    <sql id="Base_Column_List">
49
+        id, material_code, material_name, parent_material_code, level, sort, unit, number, labor_hours, device_hours, borrow_material_code, refer_material_code, purchase_type, special_purchase_type, explanation, quantity, weight, material_and_brand, surface_material, surface_thickness, surface_area, length, width, height, figure_file_id, new_tooling, shaping_method, work_content, process_location, cost_center, unit_price, total_price, mould_price, create_by, create_time, update_by, update_time, remark
50
+    </sql>
51
+
52
+</mapper>

+ 30
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialProcessHoursMapper.xml Просмотреть файл

@@ -0,0 +1,30 @@
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.zzsmart.qomo.kn.cost.manage.mapper.CostMaterialProcessHoursMapper">
4
+
5
+    <!-- 通用查询映射结果 -->
6
+    <resultMap id="BaseResultMap" type="com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours">
7
+        <id column="id" property="id" />
8
+        <result column="material_code" property="materialCode" />
9
+        <result column="material_name" property="materialName" />
10
+        <result column="level" property="level" />
11
+        <result column="quantity" property="quantity" />
12
+        <result column="purchase_type" property="purchaseType" />
13
+        <result column="work_process" property="workProcess" />
14
+        <result column="described" property="described" />
15
+        <result column="labor_hours" property="laborHours" />
16
+        <result column="device_hours" property="deviceHours" />
17
+        <result column="work_center" property="workCenter" />
18
+        <result column="create_by" property="createBy" />
19
+        <result column="create_time" property="createTime" />
20
+        <result column="update_by" property="updateBy" />
21
+        <result column="update_time" property="updateTime" />
22
+        <result column="remark" property="remark" />
23
+    </resultMap>
24
+
25
+    <!-- 通用查询结果列 -->
26
+    <sql id="Base_Column_List">
27
+        id, material_code, material_name, level, quantity, purchase_type, work_process, described, labor_hours, device_hours, work_center, create_by, create_time, update_by, update_time, remark
28
+    </sql>
29
+
30
+</mapper>

+ 37
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostPurchasePriceMapper.xml Просмотреть файл

@@ -0,0 +1,37 @@
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.zzsmart.qomo.kn.cost.manage.mapper.CostPurchasePriceMapper">
4
+
5
+    <!-- 通用查询映射结果 -->
6
+    <resultMap id="BaseResultMap" type="com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice">
7
+        <id column="id" property="id" />
8
+        <result column="material_code" property="materialCode" />
9
+        <result column="material_name" property="materialName" />
10
+        <result column="specification" property="specification" />
11
+        <result column="purchase_type" property="purchaseType" />
12
+        <result column="supplier_code" property="supplierCode" />
13
+        <result column="supplier_name" property="supplierName" />
14
+        <result column="purchase_price_time" property="purchasePriceTime" />
15
+        <result column="purchase_price_sum" property="purchasePriceSum" />
16
+        <result column="min_purchase_price" property="minPurchasePrice" />
17
+        <result column="last_purchase_price" property="lastPurchasePrice" />
18
+        <result column="purchase_price_avg" property="purchasePriceAvg" />
19
+        <result column="direct_material_cost" property="directMaterialCost" />
20
+        <result column="process_cost" property="processCost" />
21
+        <result column="transport_cost" property="transportCost" />
22
+        <result column="mould_cost" property="mouldCost" />
23
+        <result column="orther_cost" property="ortherCost" />
24
+        <result column="tax_tate" property="taxTate" />
25
+        <result column="create_by" property="createBy" />
26
+        <result column="create_time" property="createTime" />
27
+        <result column="update_by" property="updateBy" />
28
+        <result column="update_time" property="updateTime" />
29
+        <result column="remark" property="remark" />
30
+    </resultMap>
31
+
32
+    <!-- 通用查询结果列 -->
33
+    <sql id="Base_Column_List">
34
+        id, material_code, material_name, specification, purchase_type, supplier_code, supplier_name, purchase_price_time, purchase_price_sum, min_purchase_price, last_purchase_price, purchase_price_avg, direct_material_cost, process_cost, transport_cost, mould_cost, orther_cost, tax_tate, create_by, create_time, update_by, update_time, remark
35
+    </sql>
36
+
37
+</mapper>

+ 42
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml Просмотреть файл

@@ -0,0 +1,42 @@
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.zzsmart.qomo.kn.cost.manage.mapper.CostStandardDetailMapper">
4
+
5
+    <!-- 通用查询映射结果 -->
6
+    <resultMap id="BaseResultMap" type="com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail">
7
+        <id column="id" property="id" />
8
+        <result column="material_number" property="materialNumber" />
9
+        <result column="version_number_id" property="versionNumberId" />
10
+        <result column="level" property="level" />
11
+        <result column="figure_number" property="figureNumber" />
12
+        <result column="dosage" property="dosage" />
13
+        <result column="unit" property="unit" />
14
+        <result column="specification" property="specification" />
15
+        <result column="bom_cost" property="bomCost" />
16
+        <result column="packing_cost" property="packingCost" />
17
+        <result column="auxiliary_cost" property="auxiliaryCost" />
18
+        <result column="labor_cost" property="laborCost" />
19
+        <result column="euip_depreciation_cost" property="euipDepreciationCost" />
20
+        <result column="equip_consume_cost" property="equipConsumeCost" />
21
+        <result column="hydroelectricity_cost" property="hydroelectricityCost" />
22
+        <result column="other_cost" property="otherCost" />
23
+        <result column="trail_cost" property="trailCost" />
24
+        <result column="manufacture_cost" property="manufactureCost" />
25
+        <result column="total_labor_cost" property="totalLaborCost" />
26
+        <result column="total_equip_consume_cost" property="totalEquipConsumeCost" />
27
+        <result column="total_euip_depreciation_cost" property="totalEuipDepreciationCost" />
28
+        <result column="total_hydroelectricity_cost" property="totalHydroelectricityCost" />
29
+        <result column="total_other_cost" property="totalOtherCost" />
30
+        <result column="create_by" property="createBy" />
31
+        <result column="create_time" property="createTime" />
32
+        <result column="update_by" property="updateBy" />
33
+        <result column="update_time" property="updateTime" />
34
+        <result column="remark" property="remark" />
35
+    </resultMap>
36
+
37
+    <!-- 通用查询结果列 -->
38
+    <sql id="Base_Column_List">
39
+        id, material_number, version_number_id, level, figure_number, dosage, unit, specification, bom_cost, packing_cost, auxiliary_cost, labor_cost, euip_depreciation_cost, equip_consume_cost, hydroelectricity_cost, other_cost, trail_cost, manufacture_cost, total_labor_cost, total_equip_consume_cost, total_euip_depreciation_cost, total_hydroelectricity_cost, total_other_cost, create_by, create_time, update_by, update_time, remark
40
+    </sql>
41
+
42
+</mapper>

+ 16
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialBomService.java Просмотреть файл

@@ -0,0 +1,16 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 物料bom 服务类
9
+ * </p>
10
+ *
11
+ * @author  
12
+ * @since 2024-06-19
13
+ */
14
+public interface CostMaterialBomService extends IService<CostMaterialBom> {
15
+
16
+}

+ 16
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialProcessHoursService.java Просмотреть файл

@@ -0,0 +1,16 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 物料工时工序表 服务类
9
+ * </p>
10
+ *
11
+ * @author  
12
+ * @since 2024-06-19
13
+ */
14
+public interface CostMaterialProcessHoursService extends IService<CostMaterialProcessHours> {
15
+
16
+}

+ 16
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostPurchasePriceService.java Просмотреть файл

@@ -0,0 +1,16 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 物料采购单价 服务类
9
+ * </p>
10
+ *
11
+ * @author  
12
+ * @since 2024-06-19
13
+ */
14
+public interface CostPurchasePriceService extends IService<CostPurchasePrice> {
15
+
16
+}

+ 16
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostStandardDetailService.java Просмотреть файл

@@ -0,0 +1,16 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail;
4
+import com.baomidou.mybatisplus.extension.service.IService;
5
+
6
+/**
7
+ * <p>
8
+ * 标准成本明细表 服务类
9
+ * </p>
10
+ *
11
+ * @author cost_purchase_price
12
+ * @since 2024-06-19
13
+ */
14
+public interface CostStandardDetailService extends IService<CostStandardDetail> {
15
+
16
+}

+ 11
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/ICostStandardVersionService.java Просмотреть файл

@@ -3,7 +3,10 @@ package com.zzsmart.qomo.kn.cost.manage.service;
3 3
 
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5 5
 import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardVersion;
6
+import org.jeecg.common.api.vo.Result;
6 7
 
8
+import javax.servlet.http.HttpServletRequest;
9
+import javax.servlet.http.HttpServletResponse;
7 10
 
8 11
 
9 12
 /**
@@ -13,5 +16,13 @@ import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardVersion;
13 16
  * @Version: V1.0
14 17
  */
15 18
 public interface ICostStandardVersionService extends IService<CostStandardVersion> {
19
+    /**
20
+     * excel导入
21
+     * @param request
22
+     * @param response
23
+     * @param costStandardVersionClass
24
+     * @return
25
+     */
26
+    Result<?> importExcel(HttpServletRequest request, HttpServletResponse response, Class<CostStandardVersion> costStandardVersionClass);
16 27
 
17 28
 }

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialBomServiceImpl.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service.impl;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom;
4
+import com.zzsmart.qomo.kn.cost.manage.mapper.CostMaterialBomMapper;
5
+import com.zzsmart.qomo.kn.cost.manage.service.CostMaterialBomService;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ * 物料bom 服务实现类
12
+ * </p>
13
+ *
14
+ * @author  
15
+ * @since 2024-06-19
16
+ */
17
+@Service
18
+public class CostMaterialBomServiceImpl extends ServiceImpl<CostMaterialBomMapper, CostMaterialBom> implements CostMaterialBomService {
19
+
20
+}

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialProcessHoursServiceImpl.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service.impl;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours;
4
+import com.zzsmart.qomo.kn.cost.manage.mapper.CostMaterialProcessHoursMapper;
5
+import com.zzsmart.qomo.kn.cost.manage.service.CostMaterialProcessHoursService;
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  
15
+ * @since 2024-06-19
16
+ */
17
+@Service
18
+public class CostMaterialProcessHoursServiceImpl extends ServiceImpl<CostMaterialProcessHoursMapper, CostMaterialProcessHours> implements CostMaterialProcessHoursService {
19
+
20
+}

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostPurchasePriceServiceImpl.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service.impl;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice;
4
+import com.zzsmart.qomo.kn.cost.manage.mapper.CostPurchasePriceMapper;
5
+import com.zzsmart.qomo.kn.cost.manage.service.CostPurchasePriceService;
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  
15
+ * @since 2024-06-19
16
+ */
17
+@Service
18
+public class CostPurchasePriceServiceImpl extends ServiceImpl<CostPurchasePriceMapper, CostPurchasePrice> implements CostPurchasePriceService {
19
+
20
+}

+ 20
- 0
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardDetailServiceImpl.java Просмотреть файл

@@ -0,0 +1,20 @@
1
+package com.zzsmart.qomo.kn.cost.manage.service.impl;
2
+
3
+import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail;
4
+import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardDetailMapper;
5
+import com.zzsmart.qomo.kn.cost.manage.service.CostStandardDetailService;
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 cost_purchase_price
15
+ * @since 2024-06-19
16
+ */
17
+@Service
18
+public class CostStandardDetailServiceImpl extends ServiceImpl<CostStandardDetailMapper, CostStandardDetail> implements CostStandardDetailService {
19
+
20
+}

+ 141
- 14
qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardVersionServiceImpl.java Просмотреть файл

@@ -1,50 +1,75 @@
1 1
 package com.zzsmart.qomo.kn.cost.manage.service.impl;
2 2
 
3 3
 
4
-
4
+import cn.hutool.core.collection.CollectionUtil;
5
+import cn.hutool.core.util.StrUtil;
6
+import com.zzsmart.qomo.kn.cost.manage.constants.Constants;
5 7
 import com.zzsmart.qomo.kn.cost.manage.entity.CostStandard;
6 8
 import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardVersion;
9
+import com.zzsmart.qomo.kn.cost.manage.enums.StandardStageEnum;
7 10
 import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardMapper;
8 11
 import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardVersionMapper;
9 12
 import com.zzsmart.qomo.kn.cost.manage.service.ICostStandardVersionService;
10 13
 
11 14
 import org.apache.shiro.SecurityUtils;
15
+import org.jeecg.common.api.vo.Result;
16
+import org.jeecg.common.exception.JeecgBootException;
17
+import org.jeecg.common.system.base.controller.JeecgController;
12 18
 import org.jeecg.common.system.vo.LoginUser;
19
+import org.jeecgframework.poi.excel.ExcelImportUtil;
20
+import org.jeecgframework.poi.excel.entity.ImportParams;
21
+import org.slf4j.Logger;
22
+import org.slf4j.LoggerFactory;
13 23
 import org.springframework.beans.factory.annotation.Autowired;
14 24
 import org.springframework.stereotype.Service;
15 25
 
16 26
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
17 27
 import org.springframework.transaction.annotation.Transactional;
28
+import org.springframework.web.multipart.MultipartFile;
29
+import org.springframework.web.multipart.MultipartHttpServletRequest;
18 30
 
31
+import javax.servlet.http.HttpServletRequest;
32
+import javax.servlet.http.HttpServletResponse;
33
+import java.io.IOException;
34
+import java.text.SimpleDateFormat;
35
+import java.time.ZoneId;
19 36
 import java.util.Date;
37
+import java.util.Iterator;
38
+import java.util.List;
39
+import java.util.Map;
20 40
 
21 41
 
22 42
 /**
23 43
  * @Description: 标准成本-版本号
24 44
  * @Author: wangqiong
25
- * @Date:   2024-06-13
45
+ * @Date: 2024-06-13
26 46
  * @Version: V1.0
27 47
  */
28 48
 @Service
29 49
 public class CostStandardVersionServiceImpl extends ServiceImpl<CostStandardVersionMapper, CostStandardVersion> implements ICostStandardVersionService {
30 50
     @Autowired
31 51
     private CostStandardMapper costStandardMapper;
32
-    @Transactional
52
+    @Autowired
53
+    private ICostStandardVersionService costStandardVersionService;
54
+    private static final Logger log = LoggerFactory.getLogger(CostStandardVersionServiceImpl.class);
55
+
56
+    @Transactional(rollbackFor = Exception.class)
33 57
     @Override
34 58
     public boolean save(CostStandardVersion costStandardVersion) {
59
+        // todo 查物料表看是否存在改物料,没有抛异常
35 60
         LoginUser sysUser = null;
36 61
         try {
37 62
             sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
38 63
         } catch (Exception ignored) {
39 64
 
40 65
         }
41
-        if(sysUser!=null){
66
+        if (sysUser != null) {
42 67
             costStandardVersion.setCreateBy(sysUser.getUsername());
43 68
         }
44 69
         // 保存版本号表
45 70
         boolean save = super.save(costStandardVersion);
46
-        // todo 标准成本计算,并且设置字段对应值(计算时版本状态为枚举,比如计算中,计算终止,计算出错,已完成)
47
-        CostStandard standard= standardCalculate(costStandardVersion);
71
+        // todo 标准成本计算
72
+        CostStandard standard = standardCalculate(costStandardVersion);
48 73
 //        standard.setMaterialNumber(costStandardVersion.getMaterialNumber());
49 74
 //        standard.setVersionNumberId(costStandardVersion.getId());
50 75
 //        if(sysUser!=null){
@@ -56,16 +81,25 @@ public class CostStandardVersionServiceImpl extends ServiceImpl<CostStandardVers
56 81
         return save;
57 82
     }
58 83
 
84
+
59 85
     /**
60 86
      * 标准成本计算
87
+     *
61 88
      * @param costStandardVersion 版本号
62 89
      * @return
63 90
      */
64 91
     private CostStandard standardCalculate(CostStandardVersion costStandardVersion) {
92
+        // 计算逻辑,生成版本号输入的物料号是根节点物料号,
93
+        // 1,根据根节点物料号查找物料表kn_new_sap_mara
94
+
95
+        // 2,去bom表找出对应下的所有层级物料cost_material_bom
96
+
97
+        // 3,根据物料去工时工序表找出对应工序,工序表中包含所计算的工时,cost_material_process_hours
98
+        // 4,查小时费率表,找到对应工时费率cost_hour_rate
99
+        // 5,查采购单价表,找到对应采购单价cost_purchase_price
100
+        // 5,计算每层级的物料标准成本,存到标准成本明细表cost_standard_detail
65 101
         CostStandard standard = new CostStandard();
66
-        // todo 1,查工序
67
-        // 2, 查时间
68
-        // 3,查费率
102
+
69 103
         // 4,计算bom费用,BOM表清单物料用量*采购单价
70 104
         // 5,计算包装费
71 105
         // 6,计算辅料费
@@ -75,13 +109,106 @@ public class CostStandardVersionServiceImpl extends ServiceImpl<CostStandardVers
75 109
         // 10,计算水电费,燃动力工时*费率
76 110
         // 11,计算其他制造费,其他工时*费率
77 111
         // 12,计算物流费,物流费用=(机器折旧+机物料消耗+水电费+其他制费)*10.16%
78
-        // 13,计算制造成本,前面所有费用汇总(即bom费+包装费+辅料费+人工费+机器折旧费+机物料消耗费+水电费+其他制造费+物流费)
79
-        // 14,计算工装费
80
-        // 15,计算检具费
81
-        // 16,计算模具费
82
-        // 17,计算测试费
112
+        // 13,计算制造成本,前面所有费用汇总(即人工费+机器折旧费+机物料消耗费+水电费+其他制造费+物流费)
83 113
         // 18,计算总成本
84 114
 
85 115
         return standard;
86 116
     }
117
+
118
+
119
+
120
+    /**
121
+     * excel导入
122
+     *
123
+     * @param request
124
+     * @param response
125
+     * @param clazz
126
+     * @return
127
+     */
128
+    @Transactional(rollbackFor = Exception.class)
129
+    @Override
130
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response, Class<CostStandardVersion> clazz) {
131
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
132
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
133
+        Iterator iterator = fileMap.entrySet().iterator();
134
+        if (iterator.hasNext()) {
135
+            Map.Entry<String, MultipartFile> entity = (Map.Entry) iterator.next();
136
+            MultipartFile file = (MultipartFile) entity.getValue();
137
+            ImportParams params = new ImportParams();
138
+            params.setTitleRows(2);
139
+            params.setHeadRows(1);
140
+            params.setNeedSave(true);
141
+            try {
142
+                List<CostStandardVersion> list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params);
143
+                if (CollectionUtil.isEmpty(list)) {
144
+                    log.error("无可导入的数据!");
145
+                    return Result.error("无可导入的数据!");
146
+                }
147
+                int successNum = 0;
148
+                int failureNum = 0;
149
+                //   StringBuilder successMsg = new StringBuilder();
150
+                StringBuilder failureMsg = new StringBuilder();
151
+                long start = System.currentTimeMillis();
152
+                // 校验并组装list
153
+                for (int i = 0; i < list.size(); i++) {
154
+                    CostStandardVersion standardVersion = list.get(i);
155
+                    // 校验物料号是否为空
156
+                    if (StrUtil.isEmpty(standardVersion.getMaterialNumber())) {
157
+                        failureNum++;
158
+                        failureMsg.append("<br/>第 " + (i + 2) + " 行【物料号】字段不能为空:");
159
+                        continue;
160
+                    }
161
+                    if (StrUtil.isNotEmpty(standardVersion.getStage())) {
162
+                        standardVersion.setStage(StandardStageEnum.getCodeByText(standardVersion.getStage()));
163
+                    }
164
+                    // 创建日期
165
+                    Date createDate = new Date();
166
+                    standardVersion.setCreateTime(createDate);
167
+                    String dateStr = new SimpleDateFormat("yyyyMMddHHmmss").format(createDate);
168
+                    // 生成版本号,版本号=图号_阶段_创建日期(格式:yyyyMMddHHmmss)
169
+                    standardVersion.setVersionNumber(standardVersion.getFigureNumber()+ Constants.UNDER_LINE +standardVersion.getStage()+Constants.UNDER_LINE+dateStr);
170
+                    // 设置年份
171
+                    standardVersion.setVersionYear(String.valueOf(createDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().getYear()));
172
+                    // 调用保存方法
173
+                    try {
174
+                        costStandardVersionService.save(standardVersion);
175
+                    } catch (Exception e) {
176
+                        failureNum++;
177
+                        String msg = "<br/>第 " + (i + 2) + " 行数据导入失败;";
178
+                        failureMsg.append(msg);
179
+                        log.error(msg, e);
180
+                    }
181
+                    successNum++;
182
+                }
183
+                //   costStandardVersionService.saveBatch(list);
184
+                log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
185
+                String returnMsg = "文件导入成功!数据行数:" + successNum;
186
+                if (failureNum > 0) {
187
+                    returnMsg += "<br/>失败数据行数:" + failureNum + ",失败信息如下:<br/>" + failureMsg.toString();
188
+                }
189
+                return Result.ok(returnMsg);
190
+            } catch (Exception exception) {
191
+                String msg = exception.getMessage();
192
+                log.error(msg, exception);
193
+                Result result;
194
+                String duplicateEntry = "Duplicate entry";
195
+                if (msg != null && msg.contains(duplicateEntry)) {
196
+                    result = Result.error("文件导入失败:有重复数据!");
197
+                    return result;
198
+                } else {
199
+                    result = Result.error("文件导入失败:" + exception.getMessage());
200
+                    return result;
201
+                }
202
+            } finally {
203
+                try {
204
+                    file.getInputStream().close();
205
+                } catch (IOException var23) {
206
+                    var23.printStackTrace();
207
+                }
208
+            }
209
+        } else {
210
+            return Result.error("文件导入失败!");
211
+        }
212
+
213
+    }
87 214
 }

+ 7
- 7
qomo-kn-cost-manage/src/test/java/com/zzsmart/qomo/kn/cost/manage/ApplicationTests.java Просмотреть файл

@@ -21,7 +21,7 @@ public class ApplicationTests {
21 21
      */
22 22
     @Test
23 23
     public  void Generation(){
24
-        FastAutoGenerator.create("jdbc:mysql://121.40.189.20:3306/"+"costmanage"+"?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai","root","YMzc157#")
24
+        FastAutoGenerator.create("jdbc:mysql://121.40.189.20:3306/"+"knne"+"?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai","root","YMzc157#")
25 25
                 .globalConfig(builder -> {
26 26
                     builder.author(" ")
27 27
                             .fileOverride()//是否覆盖
@@ -42,7 +42,7 @@ public class ApplicationTests {
42 42
                             .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml"));
43 43
                 })
44 44
                 .strategyConfig(builder -> {
45
-                    builder.addInclude("authority")// todo 设置需要生成的表名
45
+                    builder.addInclude("cost_material_bom")// todo 设置需要生成的表名
46 46
                             //.addTablePrefix("sys_")//设置表前缀过滤
47 47
                             .entityBuilder()
48 48
                             .enableLombok()
@@ -66,11 +66,11 @@ public class ApplicationTests {
66 66
                             .enableRestStyle();
67 67
                 })
68 68
                 // 使用Freemarker引擎模板,默认的是Velocity引擎模板
69
-                .templateConfig(builder -> {
70
-                    builder.disable(TemplateType.CONTROLLER)
71
-                            .disable(TemplateType.SERVICE)
72
-                            .disable(TemplateType.SERVICEIMPL);
73
-                })
69
+//                .templateConfig(builder -> {
70
+//                    builder.disable(TemplateType.CONTROLLER)
71
+//                            .disable(TemplateType.SERVICE)
72
+//                            .disable(TemplateType.SERVICEIMPL);
73
+//                })
74 74
                 .templateEngine(new FreemarkerTemplateEngine())
75 75
                 .execute();
76 76