Compare commits
2 Commits
8b3ace4d1b
...
1df397f821
| Author | SHA1 | Date | |
|---|---|---|---|
| 1df397f821 | |||
| e04a4a0b99 |
@@ -124,6 +124,11 @@
|
||||
<artifactId>klp-aps</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.klp</groupId>
|
||||
<artifactId>klp-cost</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
20
klp-cost/pom.xml
Normal file
20
klp-cost/pom.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.klp</groupId>
|
||||
<artifactId>klp-oa</artifactId>
|
||||
<version>0.8.3</version>
|
||||
</parent>
|
||||
<artifactId>klp-cost</artifactId>
|
||||
<name>Archetype - klp-cost</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.klp</groupId>
|
||||
<artifactId>klp-common</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.cost.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.cost.domain.vo.CostItemVo;
|
||||
import com.klp.cost.domain.bo.CostItemBo;
|
||||
import com.klp.cost.service.ICostItemService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 成本项目配置
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cost/item")
|
||||
public class CostItemController extends BaseController {
|
||||
|
||||
private final ICostItemService iCostItemService;
|
||||
|
||||
/**
|
||||
* 查询成本项目配置列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostItemVo> list(CostItemBo bo, PageQuery pageQuery) {
|
||||
return iCostItemService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出成本项目配置列表
|
||||
*/
|
||||
@Log(title = "成本项目配置", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostItemBo bo, HttpServletResponse response) {
|
||||
List<CostItemVo> list = iCostItemService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "成本项目配置", CostItemVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取成本项目配置详细信息
|
||||
*
|
||||
* @param itemId 主键
|
||||
*/
|
||||
@GetMapping("/{itemId}")
|
||||
public R<CostItemVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long itemId) {
|
||||
return R.ok(iCostItemService.queryById(itemId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增成本项目配置
|
||||
*/
|
||||
@Log(title = "成本项目配置", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CostItemBo bo) {
|
||||
return toAjax(iCostItemService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改成本项目配置
|
||||
*/
|
||||
@Log(title = "成本项目配置", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CostItemBo bo) {
|
||||
return toAjax(iCostItemService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除成本项目配置
|
||||
*
|
||||
* @param itemIds 主键串
|
||||
*/
|
||||
@Log(title = "成本项目配置", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{itemIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] itemIds) {
|
||||
return toAjax(iCostItemService.deleteWithValidByIds(Arrays.asList(itemIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.klp.cost.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.cost.domain.vo.CostPriceVo;
|
||||
import com.klp.cost.domain.bo.CostPriceBo;
|
||||
import com.klp.cost.service.ICostPriceService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 成本单价历史
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cost/price")
|
||||
public class CostPriceController extends BaseController {
|
||||
|
||||
private final ICostPriceService iCostPriceService;
|
||||
|
||||
/**
|
||||
* 查询成本单价历史列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostPriceVo> list(CostPriceBo bo, PageQuery pageQuery) {
|
||||
return iCostPriceService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出成本单价历史列表
|
||||
*/
|
||||
@Log(title = "成本单价历史", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostPriceBo bo, HttpServletResponse response) {
|
||||
List<CostPriceVo> list = iCostPriceService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "成本单价历史", CostPriceVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取成本单价历史详细信息
|
||||
*
|
||||
* @param priceId 主键
|
||||
*/
|
||||
@GetMapping("/{priceId}")
|
||||
public R<CostPriceVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long priceId) {
|
||||
return R.ok(iCostPriceService.queryById(priceId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增成本单价历史
|
||||
*/
|
||||
@Log(title = "成本单价历史", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CostPriceBo bo) {
|
||||
return toAjax(iCostPriceService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改成本单价历史
|
||||
*/
|
||||
@Log(title = "成本单价历史", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CostPriceBo bo) {
|
||||
return toAjax(iCostPriceService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除成本单价历史
|
||||
*
|
||||
* @param priceIds 主键串
|
||||
*/
|
||||
@Log(title = "成本单价历史", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{priceIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] priceIds) {
|
||||
return toAjax(iCostPriceService.deleteWithValidByIds(Arrays.asList(priceIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.cost.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.cost.domain.vo.CostProdDetailVo;
|
||||
import com.klp.cost.domain.bo.CostProdDetailBo;
|
||||
import com.klp.cost.service.ICostProdDetailService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 生产成本明细
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cost/prodDetail")
|
||||
public class CostProdDetailController extends BaseController {
|
||||
|
||||
private final ICostProdDetailService iCostProdDetailService;
|
||||
|
||||
/**
|
||||
* 查询生产成本明细列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostProdDetailVo> list(CostProdDetailBo bo, PageQuery pageQuery) {
|
||||
return iCostProdDetailService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出生产成本明细列表
|
||||
*/
|
||||
@Log(title = "生产成本明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostProdDetailBo bo, HttpServletResponse response) {
|
||||
List<CostProdDetailVo> list = iCostProdDetailService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "生产成本明细", CostProdDetailVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生产成本明细详细信息
|
||||
*
|
||||
* @param detailId 主键
|
||||
*/
|
||||
@GetMapping("/{detailId}")
|
||||
public R<CostProdDetailVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long detailId) {
|
||||
return R.ok(iCostProdDetailService.queryById(detailId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增生产成本明细
|
||||
*/
|
||||
@Log(title = "生产成本明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CostProdDetailBo bo) {
|
||||
return toAjax(iCostProdDetailService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改生产成本明细
|
||||
*/
|
||||
@Log(title = "生产成本明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CostProdDetailBo bo) {
|
||||
return toAjax(iCostProdDetailService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除生产成本明细
|
||||
*
|
||||
* @param detailIds 主键串
|
||||
*/
|
||||
@Log(title = "生产成本明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{detailIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] detailIds) {
|
||||
return toAjax(iCostProdDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.cost.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.cost.domain.vo.CostProdMetricVo;
|
||||
import com.klp.cost.domain.bo.CostProdMetricBo;
|
||||
import com.klp.cost.service.ICostProdMetricService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 生产指标明细
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cost/prodMetric")
|
||||
public class CostProdMetricController extends BaseController {
|
||||
|
||||
private final ICostProdMetricService iCostProdMetricService;
|
||||
|
||||
/**
|
||||
* 查询生产指标明细列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostProdMetricVo> list(CostProdMetricBo bo, PageQuery pageQuery) {
|
||||
return iCostProdMetricService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出生产指标明细列表
|
||||
*/
|
||||
@Log(title = "生产指标明细", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostProdMetricBo bo, HttpServletResponse response) {
|
||||
List<CostProdMetricVo> list = iCostProdMetricService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "生产指标明细", CostProdMetricVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生产指标明细详细信息
|
||||
*
|
||||
* @param metricId 主键
|
||||
*/
|
||||
@GetMapping("/{metricId}")
|
||||
public R<CostProdMetricVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long metricId) {
|
||||
return R.ok(iCostProdMetricService.queryById(metricId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增生产指标明细
|
||||
*/
|
||||
@Log(title = "生产指标明细", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CostProdMetricBo bo) {
|
||||
return toAjax(iCostProdMetricService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改生产指标明细
|
||||
*/
|
||||
@Log(title = "生产指标明细", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CostProdMetricBo bo) {
|
||||
return toAjax(iCostProdMetricService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除生产指标明细
|
||||
*
|
||||
* @param metricIds 主键串
|
||||
*/
|
||||
@Log(title = "生产指标明细", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{metricIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] metricIds) {
|
||||
return toAjax(iCostProdMetricService.deleteWithValidByIds(Arrays.asList(metricIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.cost.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.cost.domain.vo.CostProdReportVo;
|
||||
import com.klp.cost.domain.bo.CostProdReportBo;
|
||||
import com.klp.cost.service.ICostProdReportService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 生产月报
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cost/prodReport")
|
||||
public class CostProdReportController extends BaseController {
|
||||
|
||||
private final ICostProdReportService iCostProdReportService;
|
||||
|
||||
/**
|
||||
* 查询生产月报列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<CostProdReportVo> list(CostProdReportBo bo, PageQuery pageQuery) {
|
||||
return iCostProdReportService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出生产月报列表
|
||||
*/
|
||||
@Log(title = "生产月报", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(CostProdReportBo bo, HttpServletResponse response) {
|
||||
List<CostProdReportVo> list = iCostProdReportService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "生产月报", CostProdReportVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取生产月报详细信息
|
||||
*
|
||||
* @param reportId 主键
|
||||
*/
|
||||
@GetMapping("/{reportId}")
|
||||
public R<CostProdReportVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long reportId) {
|
||||
return R.ok(iCostProdReportService.queryById(reportId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增生产月报
|
||||
*/
|
||||
@Log(title = "生产月报", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody CostProdReportBo bo) {
|
||||
return toAjax(iCostProdReportService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改生产月报
|
||||
*/
|
||||
@Log(title = "生产月报", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CostProdReportBo bo) {
|
||||
return toAjax(iCostProdReportService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除生产月报
|
||||
*
|
||||
* @param reportIds 主键串
|
||||
*/
|
||||
@Log(title = "生产月报", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{reportIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] reportIds) {
|
||||
return toAjax(iCostProdReportService.deleteWithValidByIds(Arrays.asList(reportIds), true));
|
||||
}
|
||||
}
|
||||
53
klp-cost/src/main/java/com/klp/cost/domain/CostItem.java
Normal file
53
klp-cost/src/main/java/com/klp/cost/domain/CostItem.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package com.klp.cost.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
* 成本项目配置对象 cost_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_item")
|
||||
public class CostItem extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "item_id")
|
||||
private Long itemId;
|
||||
/**
|
||||
* 成本项目编码
|
||||
*/
|
||||
private String itemCode;
|
||||
/**
|
||||
* 成本项目名称
|
||||
*/
|
||||
private String itemName;
|
||||
/**
|
||||
* 成本分类 原料/能耗/辅料/设备/人工
|
||||
*/
|
||||
private String category;
|
||||
/**
|
||||
* 计量单位
|
||||
*/
|
||||
private String unit;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0=正常 2=删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
55
klp-cost/src/main/java/com/klp/cost/domain/CostPrice.java
Normal file
55
klp-cost/src/main/java/com/klp/cost/domain/CostPrice.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package com.klp.cost.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 成本单价历史对象 cost_price
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_price")
|
||||
public class CostPrice extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "price_id")
|
||||
private Long priceId;
|
||||
/**
|
||||
* 成本项目ID
|
||||
*/
|
||||
private Long itemId;
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0=正常 2=删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.klp.cost.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 生产成本明细对象 cost_prod_detail
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_prod_detail")
|
||||
public class CostProdDetail extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "detail_id")
|
||||
private Long detailId;
|
||||
/**
|
||||
* 生产月报ID
|
||||
*/
|
||||
private Long reportId;
|
||||
/**
|
||||
* 班次 1=甲班 2=乙班
|
||||
*/
|
||||
private String shift;
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date detailDate;
|
||||
/**
|
||||
* 成本项目ID
|
||||
*/
|
||||
private Long itemId;
|
||||
/**
|
||||
* 消耗用量
|
||||
*/
|
||||
private BigDecimal quantity;
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
private BigDecimal unitPrice;
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0=正常 2=删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.klp.cost.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 生产指标明细对象 cost_prod_metric
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_prod_metric")
|
||||
public class CostProdMetric extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "metric_id")
|
||||
private Long metricId;
|
||||
/**
|
||||
* 生产日报ID
|
||||
*/
|
||||
private Long reportId;
|
||||
/**
|
||||
* 指标编码
|
||||
*/
|
||||
private String metricCode;
|
||||
/**
|
||||
* 指标名称
|
||||
*/
|
||||
private String metricName;
|
||||
/**
|
||||
* 指标计算公式(如:output_weight/input_weight*100)
|
||||
*/
|
||||
private String metricFormula;
|
||||
/**
|
||||
* 指标计算结果值
|
||||
*/
|
||||
private BigDecimal metricValue;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0=正常 2=删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.klp.cost.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 生产月报对象 cost_prod_report
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("cost_prod_report")
|
||||
public class CostProdReport extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "report_id")
|
||||
private Long reportId;
|
||||
/**
|
||||
* 报表标题
|
||||
*/
|
||||
private String reportTitle;
|
||||
/**
|
||||
* 报表日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date reportDate;
|
||||
/**
|
||||
* 产线类型 acid=酸轧 galvanized=镀锌
|
||||
*/
|
||||
private String lineType;
|
||||
/**
|
||||
* 投入量 单位:吨
|
||||
*/
|
||||
private BigDecimal inputWeight;
|
||||
/**
|
||||
* 产出量 单位:吨
|
||||
*/
|
||||
private BigDecimal outputWeight;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标识 0=正常 2=删除
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.klp.cost.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
|
||||
/**
|
||||
* 成本项目配置业务对象 cost_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CostItemBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 成本项目编码
|
||||
*/
|
||||
private String itemCode;
|
||||
|
||||
/**
|
||||
* 成本项目名称
|
||||
*/
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 成本分类 原料/能耗/辅料/设备/人工
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 计量单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.klp.cost.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 成本单价历史业务对象 cost_price
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CostPriceBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long priceId;
|
||||
|
||||
/**
|
||||
* 成本项目ID
|
||||
*/
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date effectiveDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.klp.cost.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 生产成本明细业务对象 cost_prod_detail
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CostProdDetailBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long detailId;
|
||||
|
||||
/**
|
||||
* 生产月报ID
|
||||
*/
|
||||
private Long reportId;
|
||||
|
||||
/**
|
||||
* 班次 1=甲班 2=乙班
|
||||
*/
|
||||
private String shift;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date detailDate;
|
||||
|
||||
/**
|
||||
* 成本项目ID
|
||||
*/
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 消耗用量
|
||||
*/
|
||||
private BigDecimal quantity;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.klp.cost.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 生产指标明细业务对象 cost_prod_metric
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CostProdMetricBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long metricId;
|
||||
|
||||
/**
|
||||
* 生产日报ID
|
||||
*/
|
||||
private Long reportId;
|
||||
|
||||
/**
|
||||
* 指标编码
|
||||
*/
|
||||
private String metricCode;
|
||||
|
||||
/**
|
||||
* 指标名称
|
||||
*/
|
||||
private String metricName;
|
||||
|
||||
/**
|
||||
* 指标计算公式(如:output_weight/input_weight*100)
|
||||
*/
|
||||
private String metricFormula;
|
||||
|
||||
/**
|
||||
* 指标计算结果值
|
||||
*/
|
||||
private BigDecimal metricValue;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.klp.cost.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 生产月报业务对象 cost_prod_report
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CostProdReportBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long reportId;
|
||||
|
||||
/**
|
||||
* 报表标题
|
||||
*/
|
||||
private String reportTitle;
|
||||
|
||||
/**
|
||||
* 报表日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date reportDate;
|
||||
|
||||
/**
|
||||
* 产线类型 acid=酸轧 galvanized=镀锌
|
||||
*/
|
||||
private String lineType;
|
||||
|
||||
/**
|
||||
* 投入量 单位:吨
|
||||
*/
|
||||
private BigDecimal inputWeight;
|
||||
|
||||
/**
|
||||
* 产出量 单位:吨
|
||||
*/
|
||||
private BigDecimal outputWeight;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.klp.cost.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 成本项目配置视图对象 cost_item
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CostItemVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 成本项目编码
|
||||
*/
|
||||
@ExcelProperty(value = "成本项目编码")
|
||||
private String itemCode;
|
||||
|
||||
/**
|
||||
* 成本项目名称
|
||||
*/
|
||||
@ExcelProperty(value = "成本项目名称")
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 成本分类 原料/能耗/辅料/设备/人工
|
||||
*/
|
||||
@ExcelProperty(value = "成本分类 原料/能耗/辅料/设备/人工")
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 计量单位
|
||||
*/
|
||||
@ExcelProperty(value = "计量单位")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.klp.cost.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 成本单价历史视图对象 cost_price
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CostPriceVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long priceId;
|
||||
|
||||
/**
|
||||
* 成本项目ID
|
||||
*/
|
||||
@ExcelProperty(value = "成本项目ID")
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@ExcelProperty(value = "单价")
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 生效日期
|
||||
*/
|
||||
@ExcelProperty(value = "生效日期")
|
||||
private Date effectiveDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.klp.cost.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 生产成本明细视图对象 cost_prod_detail
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CostProdDetailVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long detailId;
|
||||
|
||||
/**
|
||||
* 生产月报ID
|
||||
*/
|
||||
@ExcelProperty(value = "生产月报ID")
|
||||
private Long reportId;
|
||||
|
||||
/**
|
||||
* 班次 1=甲班 2=乙班
|
||||
*/
|
||||
@ExcelProperty(value = "班次 1=甲班 2=乙班")
|
||||
private String shift;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@ExcelProperty(value = "日期")
|
||||
private Date detailDate;
|
||||
|
||||
/**
|
||||
* 成本项目ID
|
||||
*/
|
||||
@ExcelProperty(value = "成本项目ID")
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 消耗用量
|
||||
*/
|
||||
@ExcelProperty(value = "消耗用量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@ExcelProperty(value = "单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
@ExcelProperty(value = "总金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.klp.cost.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 生产指标明细视图对象 cost_prod_metric
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CostProdMetricVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long metricId;
|
||||
|
||||
/**
|
||||
* 生产日报ID
|
||||
*/
|
||||
@ExcelProperty(value = "生产日报ID")
|
||||
private Long reportId;
|
||||
|
||||
/**
|
||||
* 指标编码
|
||||
*/
|
||||
@ExcelProperty(value = "指标编码")
|
||||
private String metricCode;
|
||||
|
||||
/**
|
||||
* 指标名称
|
||||
*/
|
||||
@ExcelProperty(value = "指标名称")
|
||||
private String metricName;
|
||||
|
||||
/**
|
||||
* 指标计算公式(如:output_weight/input_weight*100)
|
||||
*/
|
||||
@ExcelProperty(value = "指标计算公式", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:output_weight/input_weight*100")
|
||||
private String metricFormula;
|
||||
|
||||
/**
|
||||
* 指标计算结果值
|
||||
*/
|
||||
@ExcelProperty(value = "指标计算结果值")
|
||||
private BigDecimal metricValue;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.klp.cost.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 生产月报视图对象 cost_prod_report
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class CostProdReportVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long reportId;
|
||||
|
||||
/**
|
||||
* 报表标题
|
||||
*/
|
||||
@ExcelProperty(value = "报表标题")
|
||||
private String reportTitle;
|
||||
|
||||
/**
|
||||
* 报表日期
|
||||
*/
|
||||
@ExcelProperty(value = "报表日期")
|
||||
private Date reportDate;
|
||||
|
||||
/**
|
||||
* 产线类型 acid=酸轧 galvanized=镀锌
|
||||
*/
|
||||
@ExcelProperty(value = "产线类型 acid=酸轧 galvanized=镀锌")
|
||||
private String lineType;
|
||||
|
||||
/**
|
||||
* 投入量 单位:吨
|
||||
*/
|
||||
@ExcelProperty(value = "投入量 单位:吨")
|
||||
private BigDecimal inputWeight;
|
||||
|
||||
/**
|
||||
* 产出量 单位:吨
|
||||
*/
|
||||
@ExcelProperty(value = "产出量 单位:吨")
|
||||
private BigDecimal outputWeight;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.cost.mapper;
|
||||
|
||||
import com.klp.cost.domain.CostItem;
|
||||
import com.klp.cost.domain.vo.CostItemVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 成本项目配置Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface CostItemMapper extends BaseMapperPlus<CostItemMapper, CostItem, CostItemVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.cost.mapper;
|
||||
|
||||
import com.klp.cost.domain.CostPrice;
|
||||
import com.klp.cost.domain.vo.CostPriceVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 成本单价历史Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface CostPriceMapper extends BaseMapperPlus<CostPriceMapper, CostPrice, CostPriceVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.cost.mapper;
|
||||
|
||||
import com.klp.cost.domain.CostProdDetail;
|
||||
import com.klp.cost.domain.vo.CostProdDetailVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 生产成本明细Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface CostProdDetailMapper extends BaseMapperPlus<CostProdDetailMapper, CostProdDetail, CostProdDetailVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.cost.mapper;
|
||||
|
||||
import com.klp.cost.domain.CostProdMetric;
|
||||
import com.klp.cost.domain.vo.CostProdMetricVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 生产指标明细Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface CostProdMetricMapper extends BaseMapperPlus<CostProdMetricMapper, CostProdMetric, CostProdMetricVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.cost.mapper;
|
||||
|
||||
import com.klp.cost.domain.CostProdReport;
|
||||
import com.klp.cost.domain.vo.CostProdReportVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 生产月报Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface CostProdReportMapper extends BaseMapperPlus<CostProdReportMapper, CostProdReport, CostProdReportVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.cost.service;
|
||||
|
||||
import com.klp.cost.domain.CostItem;
|
||||
import com.klp.cost.domain.vo.CostItemVo;
|
||||
import com.klp.cost.domain.bo.CostItemBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 成本项目配置Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface ICostItemService {
|
||||
|
||||
/**
|
||||
* 查询成本项目配置
|
||||
*/
|
||||
CostItemVo queryById(Long itemId);
|
||||
|
||||
/**
|
||||
* 查询成本项目配置列表
|
||||
*/
|
||||
TableDataInfo<CostItemVo> queryPageList(CostItemBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询成本项目配置列表
|
||||
*/
|
||||
List<CostItemVo> queryList(CostItemBo bo);
|
||||
|
||||
/**
|
||||
* 新增成本项目配置
|
||||
*/
|
||||
Boolean insertByBo(CostItemBo bo);
|
||||
|
||||
/**
|
||||
* 修改成本项目配置
|
||||
*/
|
||||
Boolean updateByBo(CostItemBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除成本项目配置信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.cost.service;
|
||||
|
||||
import com.klp.cost.domain.CostPrice;
|
||||
import com.klp.cost.domain.vo.CostPriceVo;
|
||||
import com.klp.cost.domain.bo.CostPriceBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 成本单价历史Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface ICostPriceService {
|
||||
|
||||
/**
|
||||
* 查询成本单价历史
|
||||
*/
|
||||
CostPriceVo queryById(Long priceId);
|
||||
|
||||
/**
|
||||
* 查询成本单价历史列表
|
||||
*/
|
||||
TableDataInfo<CostPriceVo> queryPageList(CostPriceBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询成本单价历史列表
|
||||
*/
|
||||
List<CostPriceVo> queryList(CostPriceBo bo);
|
||||
|
||||
/**
|
||||
* 新增成本单价历史
|
||||
*/
|
||||
Boolean insertByBo(CostPriceBo bo);
|
||||
|
||||
/**
|
||||
* 修改成本单价历史
|
||||
*/
|
||||
Boolean updateByBo(CostPriceBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除成本单价历史信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.cost.service;
|
||||
|
||||
import com.klp.cost.domain.CostProdDetail;
|
||||
import com.klp.cost.domain.vo.CostProdDetailVo;
|
||||
import com.klp.cost.domain.bo.CostProdDetailBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生产成本明细Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface ICostProdDetailService {
|
||||
|
||||
/**
|
||||
* 查询生产成本明细
|
||||
*/
|
||||
CostProdDetailVo queryById(Long detailId);
|
||||
|
||||
/**
|
||||
* 查询生产成本明细列表
|
||||
*/
|
||||
TableDataInfo<CostProdDetailVo> queryPageList(CostProdDetailBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询生产成本明细列表
|
||||
*/
|
||||
List<CostProdDetailVo> queryList(CostProdDetailBo bo);
|
||||
|
||||
/**
|
||||
* 新增生产成本明细
|
||||
*/
|
||||
Boolean insertByBo(CostProdDetailBo bo);
|
||||
|
||||
/**
|
||||
* 修改生产成本明细
|
||||
*/
|
||||
Boolean updateByBo(CostProdDetailBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除生产成本明细信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.cost.service;
|
||||
|
||||
import com.klp.cost.domain.CostProdMetric;
|
||||
import com.klp.cost.domain.vo.CostProdMetricVo;
|
||||
import com.klp.cost.domain.bo.CostProdMetricBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生产指标明细Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface ICostProdMetricService {
|
||||
|
||||
/**
|
||||
* 查询生产指标明细
|
||||
*/
|
||||
CostProdMetricVo queryById(Long metricId);
|
||||
|
||||
/**
|
||||
* 查询生产指标明细列表
|
||||
*/
|
||||
TableDataInfo<CostProdMetricVo> queryPageList(CostProdMetricBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询生产指标明细列表
|
||||
*/
|
||||
List<CostProdMetricVo> queryList(CostProdMetricBo bo);
|
||||
|
||||
/**
|
||||
* 新增生产指标明细
|
||||
*/
|
||||
Boolean insertByBo(CostProdMetricBo bo);
|
||||
|
||||
/**
|
||||
* 修改生产指标明细
|
||||
*/
|
||||
Boolean updateByBo(CostProdMetricBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除生产指标明细信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.cost.service;
|
||||
|
||||
import com.klp.cost.domain.CostProdReport;
|
||||
import com.klp.cost.domain.vo.CostProdReportVo;
|
||||
import com.klp.cost.domain.bo.CostProdReportBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生产月报Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
public interface ICostProdReportService {
|
||||
|
||||
/**
|
||||
* 查询生产月报
|
||||
*/
|
||||
CostProdReportVo queryById(Long reportId);
|
||||
|
||||
/**
|
||||
* 查询生产月报列表
|
||||
*/
|
||||
TableDataInfo<CostProdReportVo> queryPageList(CostProdReportBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询生产月报列表
|
||||
*/
|
||||
List<CostProdReportVo> queryList(CostProdReportBo bo);
|
||||
|
||||
/**
|
||||
* 新增生产月报
|
||||
*/
|
||||
Boolean insertByBo(CostProdReportBo bo);
|
||||
|
||||
/**
|
||||
* 修改生产月报
|
||||
*/
|
||||
Boolean updateByBo(CostProdReportBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除生产月报信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
package com.klp.cost.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.cost.domain.bo.CostItemBo;
|
||||
import com.klp.cost.domain.vo.CostItemVo;
|
||||
import com.klp.cost.domain.CostItem;
|
||||
import com.klp.cost.mapper.CostItemMapper;
|
||||
import com.klp.cost.service.ICostItemService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 成本项目配置Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CostItemServiceImpl implements ICostItemService {
|
||||
|
||||
private final CostItemMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询成本项目配置
|
||||
*/
|
||||
@Override
|
||||
public CostItemVo queryById(Long itemId){
|
||||
return baseMapper.selectVoById(itemId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询成本项目配置列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<CostItemVo> queryPageList(CostItemBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostItem> lqw = buildQueryWrapper(bo);
|
||||
Page<CostItemVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询成本项目配置列表
|
||||
*/
|
||||
@Override
|
||||
public List<CostItemVo> queryList(CostItemBo bo) {
|
||||
LambdaQueryWrapper<CostItem> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<CostItem> buildQueryWrapper(CostItemBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CostItem> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getItemCode()), CostItem::getItemCode, bo.getItemCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getItemName()), CostItem::getItemName, bo.getItemName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCategory()), CostItem::getCategory, bo.getCategory());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), CostItem::getUnit, bo.getUnit());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增成本项目配置
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(CostItemBo bo) {
|
||||
CostItem add = BeanUtil.toBean(bo, CostItem.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setItemId(add.getItemId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改成本项目配置
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CostItemBo bo) {
|
||||
CostItem update = BeanUtil.toBean(bo, CostItem.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostItem entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除成本项目配置
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.klp.cost.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.cost.domain.bo.CostPriceBo;
|
||||
import com.klp.cost.domain.vo.CostPriceVo;
|
||||
import com.klp.cost.domain.CostPrice;
|
||||
import com.klp.cost.mapper.CostPriceMapper;
|
||||
import com.klp.cost.service.ICostPriceService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 成本单价历史Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CostPriceServiceImpl implements ICostPriceService {
|
||||
|
||||
private final CostPriceMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询成本单价历史
|
||||
*/
|
||||
@Override
|
||||
public CostPriceVo queryById(Long priceId){
|
||||
return baseMapper.selectVoById(priceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询成本单价历史列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<CostPriceVo> queryPageList(CostPriceBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostPrice> lqw = buildQueryWrapper(bo);
|
||||
Page<CostPriceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询成本单价历史列表
|
||||
*/
|
||||
@Override
|
||||
public List<CostPriceVo> queryList(CostPriceBo bo) {
|
||||
LambdaQueryWrapper<CostPrice> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<CostPrice> buildQueryWrapper(CostPriceBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CostPrice> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getItemId() != null, CostPrice::getItemId, bo.getItemId());
|
||||
lqw.eq(bo.getPrice() != null, CostPrice::getPrice, bo.getPrice());
|
||||
lqw.eq(bo.getEffectiveDate() != null, CostPrice::getEffectiveDate, bo.getEffectiveDate());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增成本单价历史
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(CostPriceBo bo) {
|
||||
CostPrice add = BeanUtil.toBean(bo, CostPrice.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setPriceId(add.getPriceId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改成本单价历史
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CostPriceBo bo) {
|
||||
CostPrice update = BeanUtil.toBean(bo, CostPrice.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostPrice entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除成本单价历史
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.klp.cost.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.cost.domain.bo.CostProdDetailBo;
|
||||
import com.klp.cost.domain.vo.CostProdDetailVo;
|
||||
import com.klp.cost.domain.CostProdDetail;
|
||||
import com.klp.cost.mapper.CostProdDetailMapper;
|
||||
import com.klp.cost.service.ICostProdDetailService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 生产成本明细Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CostProdDetailServiceImpl implements ICostProdDetailService {
|
||||
|
||||
private final CostProdDetailMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询生产成本明细
|
||||
*/
|
||||
@Override
|
||||
public CostProdDetailVo queryById(Long detailId){
|
||||
return baseMapper.selectVoById(detailId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产成本明细列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<CostProdDetailVo> queryPageList(CostProdDetailBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostProdDetail> lqw = buildQueryWrapper(bo);
|
||||
Page<CostProdDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产成本明细列表
|
||||
*/
|
||||
@Override
|
||||
public List<CostProdDetailVo> queryList(CostProdDetailBo bo) {
|
||||
LambdaQueryWrapper<CostProdDetail> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<CostProdDetail> buildQueryWrapper(CostProdDetailBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CostProdDetail> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getReportId() != null, CostProdDetail::getReportId, bo.getReportId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getShift()), CostProdDetail::getShift, bo.getShift());
|
||||
lqw.eq(bo.getDetailDate() != null, CostProdDetail::getDetailDate, bo.getDetailDate());
|
||||
lqw.eq(bo.getItemId() != null, CostProdDetail::getItemId, bo.getItemId());
|
||||
lqw.eq(bo.getQuantity() != null, CostProdDetail::getQuantity, bo.getQuantity());
|
||||
lqw.eq(bo.getUnitPrice() != null, CostProdDetail::getUnitPrice, bo.getUnitPrice());
|
||||
lqw.eq(bo.getAmount() != null, CostProdDetail::getAmount, bo.getAmount());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增生产成本明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(CostProdDetailBo bo) {
|
||||
CostProdDetail add = BeanUtil.toBean(bo, CostProdDetail.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setDetailId(add.getDetailId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改生产成本明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CostProdDetailBo bo) {
|
||||
CostProdDetail update = BeanUtil.toBean(bo, CostProdDetail.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostProdDetail entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除生产成本明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.klp.cost.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.cost.domain.bo.CostProdMetricBo;
|
||||
import com.klp.cost.domain.vo.CostProdMetricVo;
|
||||
import com.klp.cost.domain.CostProdMetric;
|
||||
import com.klp.cost.mapper.CostProdMetricMapper;
|
||||
import com.klp.cost.service.ICostProdMetricService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 生产指标明细Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CostProdMetricServiceImpl implements ICostProdMetricService {
|
||||
|
||||
private final CostProdMetricMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询生产指标明细
|
||||
*/
|
||||
@Override
|
||||
public CostProdMetricVo queryById(Long metricId){
|
||||
return baseMapper.selectVoById(metricId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产指标明细列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<CostProdMetricVo> queryPageList(CostProdMetricBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostProdMetric> lqw = buildQueryWrapper(bo);
|
||||
Page<CostProdMetricVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产指标明细列表
|
||||
*/
|
||||
@Override
|
||||
public List<CostProdMetricVo> queryList(CostProdMetricBo bo) {
|
||||
LambdaQueryWrapper<CostProdMetric> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<CostProdMetric> buildQueryWrapper(CostProdMetricBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CostProdMetric> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getReportId() != null, CostProdMetric::getReportId, bo.getReportId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getMetricCode()), CostProdMetric::getMetricCode, bo.getMetricCode());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getMetricName()), CostProdMetric::getMetricName, bo.getMetricName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getMetricFormula()), CostProdMetric::getMetricFormula, bo.getMetricFormula());
|
||||
lqw.eq(bo.getMetricValue() != null, CostProdMetric::getMetricValue, bo.getMetricValue());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增生产指标明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(CostProdMetricBo bo) {
|
||||
CostProdMetric add = BeanUtil.toBean(bo, CostProdMetric.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setMetricId(add.getMetricId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改生产指标明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CostProdMetricBo bo) {
|
||||
CostProdMetric update = BeanUtil.toBean(bo, CostProdMetric.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostProdMetric entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除生产指标明细
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.klp.cost.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.cost.domain.bo.CostProdReportBo;
|
||||
import com.klp.cost.domain.vo.CostProdReportVo;
|
||||
import com.klp.cost.domain.CostProdReport;
|
||||
import com.klp.cost.mapper.CostProdReportMapper;
|
||||
import com.klp.cost.service.ICostProdReportService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 生产月报Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2026-05-25
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CostProdReportServiceImpl implements ICostProdReportService {
|
||||
|
||||
private final CostProdReportMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询生产月报
|
||||
*/
|
||||
@Override
|
||||
public CostProdReportVo queryById(Long reportId){
|
||||
return baseMapper.selectVoById(reportId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产月报列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<CostProdReportVo> queryPageList(CostProdReportBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<CostProdReport> lqw = buildQueryWrapper(bo);
|
||||
Page<CostProdReportVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询生产月报列表
|
||||
*/
|
||||
@Override
|
||||
public List<CostProdReportVo> queryList(CostProdReportBo bo) {
|
||||
LambdaQueryWrapper<CostProdReport> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<CostProdReport> buildQueryWrapper(CostProdReportBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<CostProdReport> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getReportTitle()), CostProdReport::getReportTitle, bo.getReportTitle());
|
||||
lqw.eq(bo.getReportDate() != null, CostProdReport::getReportDate, bo.getReportDate());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLineType()), CostProdReport::getLineType, bo.getLineType());
|
||||
lqw.eq(bo.getInputWeight() != null, CostProdReport::getInputWeight, bo.getInputWeight());
|
||||
lqw.eq(bo.getOutputWeight() != null, CostProdReport::getOutputWeight, bo.getOutputWeight());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增生产月报
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(CostProdReportBo bo) {
|
||||
CostProdReport add = BeanUtil.toBean(bo, CostProdReport.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setReportId(add.getReportId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改生产月报
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CostProdReportBo bo) {
|
||||
CostProdReport update = BeanUtil.toBean(bo, CostProdReport.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(CostProdReport entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除生产月报
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
22
klp-cost/src/main/resources/mapper/cost/CostItemMapper.xml
Normal file
22
klp-cost/src/main/resources/mapper/cost/CostItemMapper.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.cost.mapper.CostItemMapper">
|
||||
|
||||
<resultMap type="com.klp.cost.domain.CostItem" id="CostItemResult">
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="itemCode" column="item_code"/>
|
||||
<result property="itemName" column="item_name"/>
|
||||
<result property="category" column="category"/>
|
||||
<result property="unit" column="unit"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
21
klp-cost/src/main/resources/mapper/cost/CostPriceMapper.xml
Normal file
21
klp-cost/src/main/resources/mapper/cost/CostPriceMapper.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.cost.mapper.CostPriceMapper">
|
||||
|
||||
<resultMap type="com.klp.cost.domain.CostPrice" id="CostPriceResult">
|
||||
<result property="priceId" column="price_id"/>
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="effectiveDate" column="effective_date"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.cost.mapper.CostProdDetailMapper">
|
||||
|
||||
<resultMap type="com.klp.cost.domain.CostProdDetail" id="CostProdDetailResult">
|
||||
<result property="detailId" column="detail_id"/>
|
||||
<result property="reportId" column="report_id"/>
|
||||
<result property="shift" column="shift"/>
|
||||
<result property="detailDate" column="detail_date"/>
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="quantity" column="quantity"/>
|
||||
<result property="unitPrice" column="unit_price"/>
|
||||
<result property="amount" column="amount"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.cost.mapper.CostProdMetricMapper">
|
||||
|
||||
<resultMap type="com.klp.cost.domain.CostProdMetric" id="CostProdMetricResult">
|
||||
<result property="metricId" column="metric_id"/>
|
||||
<result property="reportId" column="report_id"/>
|
||||
<result property="metricCode" column="metric_code"/>
|
||||
<result property="metricName" column="metric_name"/>
|
||||
<result property="metricFormula" column="metric_formula"/>
|
||||
<result property="metricValue" column="metric_value"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.klp.cost.mapper.CostProdReportMapper">
|
||||
|
||||
<resultMap type="com.klp.cost.domain.CostProdReport" id="CostProdReportResult">
|
||||
<result property="reportId" column="report_id"/>
|
||||
<result property="reportTitle" column="report_title"/>
|
||||
<result property="reportDate" column="report_date"/>
|
||||
<result property="lineType" column="line_type"/>
|
||||
<result property="inputWeight" column="input_weight"/>
|
||||
<result property="outputWeight" column="output_weight"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
6
pom.xml
6
pom.xml
@@ -405,6 +405,11 @@
|
||||
<artifactId>klp-aps</artifactId>
|
||||
<version>${klp-flowable-plus.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.klp</groupId>
|
||||
<artifactId>klp-cost</artifactId>
|
||||
<version>${klp-flowable-plus.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -431,6 +436,7 @@
|
||||
<module>klp-crm</module>
|
||||
<module>klp-da</module>
|
||||
<module>klp-aps</module>
|
||||
<module>klp-cost</module>
|
||||
</modules>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user