From e0e15d5b8191bbfa4eb33920a1904049fdd8e188 Mon Sep 17 00:00:00 2001 From: 18792927508 <1322446236@qq.com> Date: Wed, 19 Jun 2024 10:08:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kn/cost/manage/constants/Constants.java | 4 + .../controller/CostMaterialBomController.java | 20 + .../CostMaterialProcessHoursController.java | 20 + .../CostPurchasePriceController.java | 20 + .../controller/CostStandardController.java | 57 ++- .../CostStandardDetailController.java | 20 + .../CostStandardVersionController.java | 10 +- .../cost/manage/entity/CostMaterialBom.java | 377 ++++++++++++++++++ .../entity/CostMaterialProcessHours.java | 174 ++++++++ .../manage/entity/CostPartMissingInfo.java | 4 +- .../cost/manage/entity/CostPurchasePrice.java | 215 ++++++++++ .../kn/cost/manage/entity/CostStandard.java | 4 +- .../manage/entity/CostStandardDetail.java | 255 ++++++++++++ .../manage/entity/CostStandardVersion.java | 10 +- .../qomo/kn/cost/manage/entity/HourRate.java | 2 +- .../cost/manage/enums/StandardStageEnum.java | 63 +++ .../manage/mapper/CostMaterialBomMapper.java | 18 + .../CostMaterialProcessHoursMapper.java | 18 + .../mapper/CostPurchasePriceMapper.java | 18 + .../mapper/CostStandardDetailMapper.java | 18 + .../mapper/xml/CostMaterialBomMapper.xml | 52 +++ .../xml/CostMaterialProcessHoursMapper.xml | 30 ++ .../mapper/xml/CostPurchasePriceMapper.xml | 37 ++ .../mapper/xml/CostStandardDetailMapper.xml | 42 ++ .../service/CostMaterialBomService.java | 16 + .../CostMaterialProcessHoursService.java | 16 + .../service/CostPurchasePriceService.java | 16 + .../service/CostStandardDetailService.java | 16 + .../service/ICostStandardVersionService.java | 11 + .../impl/CostMaterialBomServiceImpl.java | 20 + .../CostMaterialProcessHoursServiceImpl.java | 20 + .../impl/CostPurchasePriceServiceImpl.java | 20 + .../impl/CostStandardDetailServiceImpl.java | 20 + .../impl/CostStandardVersionServiceImpl.java | 155 ++++++- .../qomo/kn/cost/manage/ApplicationTests.java | 14 +- 35 files changed, 1774 insertions(+), 38 deletions(-) create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialBomController.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialProcessHoursController.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostPurchasePriceController.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardDetailController.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialBom.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialProcessHours.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPurchasePrice.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardDetail.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/enums/StandardStageEnum.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialBomMapper.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialProcessHoursMapper.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostPurchasePriceMapper.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialBomMapper.xml create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialProcessHoursMapper.xml create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostPurchasePriceMapper.xml create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialBomService.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialProcessHoursService.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostPurchasePriceService.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostStandardDetailService.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialBomServiceImpl.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialProcessHoursServiceImpl.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostPurchasePriceServiceImpl.java create mode 100644 qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardDetailServiceImpl.java diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/constants/Constants.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/constants/Constants.java index 9041db6..2c84d40 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/constants/Constants.java +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/constants/Constants.java @@ -41,4 +41,8 @@ public interface Constants { "期间费用", "期间费用率", "净利率"); + /** + * 下划线 + */ + String UNDER_LINE = "_"; } diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialBomController.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialBomController.java new file mode 100644 index 0000000..aded9ae --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialBomController.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 物料bom 前端控制器 + *

+ * + * @author + * @since 2024-06-19 + */ +@RestController +@RequestMapping("/cost-material-bom") +public class CostMaterialBomController { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialProcessHoursController.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialProcessHoursController.java new file mode 100644 index 0000000..bf5d55c --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostMaterialProcessHoursController.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 物料工时工序表 前端控制器 + *

+ * + * @author + * @since 2024-06-19 + */ +@RestController +@RequestMapping("/cost-material-process-hours") +public class CostMaterialProcessHoursController { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostPurchasePriceController.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostPurchasePriceController.java new file mode 100644 index 0000000..7f0e7df --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostPurchasePriceController.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 物料采购单价 前端控制器 + *

+ * + * @author + * @since 2024-06-19 + */ +@RestController +@RequestMapping("/cost-purchase-price") +public class CostPurchasePriceController { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardController.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardController.java index bad1ded..9b5e564 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardController.java +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardController.java @@ -1,5 +1,8 @@ package com.zzsmart.qomo.kn.cost.manage.controller; +import java.io.InputStream; +import java.net.URL; +import java.net.URLEncoder; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -13,6 +16,9 @@ import javax.servlet.http.HttpServletResponse; import com.zzsmart.qomo.kn.cost.manage.entity.CostStandard; import com.zzsmart.qomo.kn.cost.manage.service.ICostStandardService; import com.zzsmart.qomo.kn.cost.manage.vo.CostStandardVO; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; @@ -23,6 +29,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.system.entity.SysUser; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -167,7 +174,7 @@ public class CostStandardController extends JeecgController + * 标准成本明细表 前端控制器 + *

+ * + * @author cost_purchase_price + * @since 2024-06-19 + */ +@RestController +@RequestMapping("/cost-standard-detail") +public class CostStandardDetailController { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardVersionController.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardVersionController.java index e647772..1c45c9e 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/controller/CostStandardVersionController.java +++ b/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 add(@RequestBody CostStandardVersion costStandardVersion) { - costStandardVersionService.save(costStandardVersion); - return Result.OK("添加成功!"); + boolean save = costStandardVersionService.save(costStandardVersion); + if(save){ + return Result.OK("添加成功!"); + }else { + return Result.OK("添加失败!"); + } } /** @@ -175,7 +179,7 @@ public class CostStandardVersionController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, CostStandardVersion.class); + return this.costStandardVersionService.importExcel(request, response, CostStandardVersion.class); } } diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialBom.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialBom.java new file mode 100644 index 0000000..9f4511b --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialBom.java @@ -0,0 +1,377 @@ +package com.zzsmart.qomo.kn.cost.manage.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 物料bom + *

+ * + * @author + * @since 2024-06-19 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("cost_material_bom") +@ApiModel(value = "cost_material_bom对象", description = "cost_material_bom") +public class CostMaterialBom implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @ApiModelProperty(value = "id") + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 物料编码 + */ + @ApiModelProperty(value = "物料编码") + @TableField("material_code") + private String materialCode; + + /** + * 物料名称 + */ + @ApiModelProperty(value = "物料名称") + @TableField("material_name") + private String materialName; + + /** + * 父级物料编码 + */ + @ApiModelProperty(value = "父级物料编码") + @TableField("parent_material_code") + private String parentMaterialCode; + + /** + * 级别 + */ + @ApiModelProperty(value = "级别") + @TableField("level") + private String level; + + /** + * 排序 + */ + @ApiModelProperty(value = "排序") + @TableField("sort") + private Integer sort; + + /** + * 计量单位 + */ + @ApiModelProperty(value = "计量单位") + @TableField("unit") + private String unit; + + /** + * 数量 + */ + @ApiModelProperty(value = "id") + @TableField("数量") + private Integer number; + + /** + * 人工工时(分钟) + */ + @ApiModelProperty(value = "人工工时(分钟)") + @TableField("labor_hours") + private BigDecimal laborHours; + + /** + * 设备工时 + */ + @ApiModelProperty(value = "设备工时") + @TableField("device_hours") + private BigDecimal deviceHours; + + /** + * 借用物料编码 + */ + @ApiModelProperty(value = "借用物料编码") + @TableField("borrow_material_code") + private String borrowMaterialCode; + + /** + * 参考物料编码 + */ + @ApiModelProperty(value = "参考物料编码") + @TableField("refer_material_code") + private String referMaterialCode; + + /** + * 采购类型 + */ + + @ApiModelProperty(value = "采购类型") + @TableField("purchase_type") + private String purchaseType; + + /** + * 特殊采购类型 + */ + + @ApiModelProperty(value = "特殊采购类型") + @TableField("special_purchase_type") + private String specialPurchaseType; + + /** + * 说明 + */ + @ApiModelProperty(value = "说明") + @TableField("explanation") + private String explanation; + + /** + * 单位数量 + */ + @ApiModelProperty(value = "单位数量") + @TableField("quantity") + private BigDecimal quantity; + + /** + * 重量(g) + */ + @ApiModelProperty(value = "重量(g)") + @TableField("weight") + private String weight; + + /** + * 材料/牌号 + */ + @ApiModelProperty(value = "材料/牌号") + @TableField("material_and_brand") + private String materialAndBrand; + + /** + * 表面处理,材料 + */ + @ApiModelProperty(value = "表面处理,材料") + @TableField("surface_material") + private String surfaceMaterial; + + /** + * 厚度(mm) + */ + @ApiModelProperty(value = "厚度(mm)") + @TableField("surface_thickness") + private String surfaceThickness; + + /** + * 表面积(mm²) + */ + @ApiModelProperty(value = "表面积(mm²)") + @TableField("surface_area") + private String surfaceArea; + + /** + * 长(mm) + */ + @ApiModelProperty(value = "长(mm)") + @TableField("length") + private String length; + + /** + * 宽(mm) + */ + @ApiModelProperty(value = "宽(mm)") + @TableField("width") + private String width; + + /** + * 高(mm) + */ + @ApiModelProperty(value = "高(mm)") + @TableField("height") + private String height; + + /** + * 图示/图档/文档 文件ID + */ + @ApiModelProperty(value = "图示/图档/文档 文件ID") + @TableField("figure_file_id") + private Long figureFileId; + + /** + * 是否新模具(0否 1是) + */ + @ApiModelProperty(value = "是否新模具(0否 1是)") + @TableField("new_tooling") + private Boolean newTooling; + + /** + * 成型方式(枚举) + */ + @ApiModelProperty(value = "成型方式(枚举)") + @TableField("shaping_method") + private String shapingMethod; + + /** + * 作业内容 + */ + @ApiModelProperty(value = "作业内容") + @TableField("work_content") + private String workContent; + + /** + * 加工地点 + */ + @ApiModelProperty(value = "加工地点") + @TableField("process_location") + private String processLocation; + + /** + * 成本中心 + */ + @ApiModelProperty(value = "成本中心") + @TableField("cost_center") + private String costCenter; + + /** + * 单价(未税) + */ + @ApiModelProperty(value = "单价(未税)") + @TableField("unit_price") + private BigDecimal unitPrice; + + /** + * 总价(未税) + */ + @ApiModelProperty(value = "总价(未税)") + @TableField("total_price") + private BigDecimal totalPrice; + + /** + * 模具费(未税) + */ + @ApiModelProperty(value = "模具费(未税)") + @TableField("mould_price") + private BigDecimal mouldPrice; + + /** + * 创建人 + */ + @TableField("create_by") + private String createBy; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 修改人 + */ + @TableField("update_by") + private String updateBy; + + /** + * 修改时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注(特殊技术信息) + */ + @ApiModelProperty(value = "备注(特殊技术信息)") + @TableField("remark") + private String remark; + + + public static final String ID = "id"; + + public static final String MATERIAL_CODE = "material_code"; + + public static final String MATERIAL_NAME = "material_name"; + + public static final String PARENT_MATERIAL_CODE = "parent_material_code"; + + public static final String LEVEL = "level"; + + public static final String SORT = "sort"; + + public static final String UNIT = "unit"; + + public static final String NUMBER = "number"; + + public static final String LABOR_HOURS = "labor_hours"; + + public static final String DEVICE_HOURS = "device_hours"; + + public static final String BORROW_MATERIAL_CODE = "borrow_material_code"; + + public static final String REFER_MATERIAL_CODE = "refer_material_code"; + + public static final String PURCHASE_TYPE = "purchase_type"; + + public static final String SPECIAL_PURCHASE_TYPE = "special_purchase_type"; + + public static final String EXPLANATION = "explanation"; + + public static final String QUANTITY = "quantity"; + + public static final String WEIGHT = "weight"; + + public static final String MATERIAL_AND_BRAND = "material_and_brand"; + + public static final String SURFACE_MATERIAL = "surface_material"; + + public static final String SURFACE_THICKNESS = "surface_thickness"; + + public static final String SURFACE_AREA = "surface_area"; + + public static final String LENGTH = "length"; + + public static final String WIDTH = "width"; + + public static final String HEIGHT = "height"; + + public static final String FIGURE_FILE_ID = "figure_file_id"; + + public static final String NEW_TOOLING = "new_tooling"; + + public static final String SHAPING_METHOD = "shaping_method"; + + public static final String WORK_CONTENT = "work_content"; + + public static final String PROCESS_LOCATION = "process_location"; + + public static final String COST_CENTER = "cost_center"; + + public static final String UNIT_PRICE = "unit_price"; + + public static final String TOTAL_PRICE = "total_price"; + + public static final String MOULD_PRICE = "mould_price"; + + public static final String CREATE_BY = "create_by"; + + public static final String CREATE_TIME = "create_time"; + + public static final String UPDATE_BY = "update_by"; + + public static final String UPDATE_TIME = "update_time"; + + public static final String REMARK = "remark"; + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialProcessHours.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialProcessHours.java new file mode 100644 index 0000000..e1e2cb4 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostMaterialProcessHours.java @@ -0,0 +1,174 @@ +package com.zzsmart.qomo.kn.cost.manage.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 物料工时工序表 + *

+ * + * @author + * @since 2024-06-19 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("cost_material_process_hours") +public class CostMaterialProcessHours implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ApiModelProperty(value = "id") + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 物料编码 + */ + @ApiModelProperty(value = "物料编码") + @TableField("material_code") + private String materialCode; + + /** + * 物料名称 + */ + @ApiModelProperty(value = "物料名称") + @TableField("material_name") + private String materialName; + + /** + * 层级 + */ + @ApiModelProperty(value = "层级") + @TableField("level") + private String level; + + /** + * 数量 + */ + @ApiModelProperty(value = "数量") + @TableField("quantity") + private BigDecimal quantity; + + /** + * 采购类型 + */ + @ApiModelProperty(value = "采购类型") + @TableField("purchase_type") + private String purchaseType; + + /** + * 工序 + */ + @ApiModelProperty(value = "工序") + @TableField("work_process") + private String workProcess; + + /** + * 描述 + */ + @ApiModelProperty(value = "描述") + @TableField("described") + private String described; + + /** + * 人工工时 + */ + @ApiModelProperty(value = "人工工时") + @TableField("labor_hours") + private BigDecimal laborHours; + + /** + * 设备工时 + */ + @ApiModelProperty(value = "设备工时") + @TableField("device_hours") + private BigDecimal deviceHours; + + /** + * 工作中心 + */ + @ApiModelProperty(value = "工作中心") + @TableField("work_center") + private String workCenter; + + /** + * 创建人 + */ + @TableField("create_by") + private String createBy; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 修改人 + */ + @TableField("update_by") + private String updateBy; + + /** + * 修改时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + @TableField("remark") + private String remark; + + + public static final String ID = "id"; + + public static final String MATERIAL_CODE = "material_code"; + + public static final String MATERIAL_NAME = "material_name"; + + public static final String LEVEL = "level"; + + public static final String QUANTITY = "quantity"; + + public static final String PURCHASE_TYPE = "purchase_type"; + + public static final String WORK_PROCESS = "work_process"; + + public static final String DESCRIBED = "described"; + + public static final String LABOR_HOURS = "labor_hours"; + + public static final String DEVICE_HOURS = "device_hours"; + + public static final String WORK_CENTER = "work_center"; + + public static final String CREATE_BY = "create_by"; + + public static final String CREATE_TIME = "create_time"; + + public static final String UPDATE_BY = "update_by"; + + public static final String UPDATE_TIME = "update_time"; + + public static final String REMARK = "remark"; + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPartMissingInfo.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPartMissingInfo.java index 9c93bdf..2b948da 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPartMissingInfo.java +++ b/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 { /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") - private Integer id; + private String id; /**标准成本表主键id*/ @Excel(name = "标准成本表主键id", width = 15) @ApiModelProperty(value = "标准成本表主键id") - private Integer costStandardId; + private String costStandardId; /**物料号*/ @Excel(name = "物料号", width = 15) @ApiModelProperty(value = "物料号") diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPurchasePrice.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPurchasePrice.java new file mode 100644 index 0000000..233b35e --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostPurchasePrice.java @@ -0,0 +1,215 @@ +package com.zzsmart.qomo.kn.cost.manage.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 物料采购单价 + *

+ * + * @author + * @since 2024-06-19 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("cost_purchase_price") +public class CostPurchasePrice implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 物料编码 + */ + @TableField("material_code") + private String materialCode; + + /** + * 物料名称 + */ + @TableField("material_name") + private String materialName; + + /** + * 规格型号 + */ + @TableField("specification") + private String specification; + + /** + * 采购类型 + */ + @TableField("purchase_type") + private String purchaseType; + + /** + * 供应商代码 + */ + @TableField("supplier_code") + private String supplierCode; + + /** + * 供应商名称 + */ + @TableField("supplier_name") + private String supplierName; + + /** + * 采购价时间 + */ + @TableField("purchase_price_time") + private LocalDateTime purchasePriceTime; + + /** + * 采购价合计 + */ + @TableField("purchase_price_sum") + private BigDecimal purchasePriceSum; + + /** + * 最低采购单价 + */ + @TableField("min_purchase_price") + private BigDecimal minPurchasePrice; + + /** + * 最新采购单价 + */ + @TableField("last_purchase_price") + private BigDecimal lastPurchasePrice; + + /** + * 平均采购价 + */ + @TableField("purchase_price_avg") + private BigDecimal purchasePriceAvg; + + /** + * 直接材料费 + */ + @TableField("direct_material_cost") + private BigDecimal directMaterialCost; + + /** + * 工艺加工费用 + */ + @TableField("process_cost") + private BigDecimal processCost; + + /** + * 运输费用 + */ + @TableField("transport_cost") + private BigDecimal transportCost; + + /** + * 模具费用 + */ + @TableField("mould_cost") + private BigDecimal mouldCost; + + /** + * 其他费用 + */ + @TableField("orther_cost") + private BigDecimal ortherCost; + + /** + * 税率 + */ + @TableField("tax_tate") + private BigDecimal taxTate; + + /** + * 创建人 + */ + @TableField("create_by") + private String createBy; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 修改人 + */ + @TableField("update_by") + private String updateBy; + + /** + * 修改时间 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + public static final String ID = "id"; + + public static final String MATERIAL_CODE = "material_code"; + + public static final String MATERIAL_NAME = "material_name"; + + public static final String SPECIFICATION = "specification"; + + public static final String PURCHASE_TYPE = "purchase_type"; + + public static final String SUPPLIER_CODE = "supplier_code"; + + public static final String SUPPLIER_NAME = "supplier_name"; + + public static final String PURCHASE_PRICE_TIME = "purchase_price_time"; + + public static final String PURCHASE_PRICE_SUM = "purchase_price_sum"; + + public static final String MIN_PURCHASE_PRICE = "min_purchase_price"; + + public static final String LAST_PURCHASE_PRICE = "last_purchase_price"; + + public static final String PURCHASE_PRICE_AVG = "purchase_price_avg"; + + public static final String DIRECT_MATERIAL_COST = "direct_material_cost"; + + public static final String PROCESS_COST = "process_cost"; + + public static final String TRANSPORT_COST = "transport_cost"; + + public static final String MOULD_COST = "mould_cost"; + + public static final String ORTHER_COST = "orther_cost"; + + public static final String TAX_TATE = "tax_tate"; + + public static final String CREATE_BY = "create_by"; + + public static final String CREATE_TIME = "create_time"; + + public static final String UPDATE_BY = "update_by"; + + public static final String UPDATE_TIME = "update_time"; + + public static final String REMARK = "remark"; + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandard.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandard.java index f8b7aba..2a0094b 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandard.java +++ b/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 { /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") - private Integer id; + private String id; /**物料号*/ @Excel(name = "物料号", width = 15) @ApiModelProperty(value = "物料号") @@ -44,7 +44,7 @@ public class CostStandard implements Serializable { /**版本号ID*/ @Excel(name = "版本号ID", width = 15) @ApiModelProperty(value = "版本号ID") - private Integer versionNumberId; + private String versionNumberId; /**bom材料费*/ @Excel(name = "bom材料费", width = 15) diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardDetail.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardDetail.java new file mode 100644 index 0000000..fae984d --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardDetail.java @@ -0,0 +1,255 @@ +package com.zzsmart.qomo.kn.cost.manage.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 标准成本明细表 + *

+ * + * @author cost_purchase_price + * @since 2024-06-19 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("cost_standard_detail") +public class CostStandardDetail implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value = "id", type = IdType.AUTO) + private String id; + + /** + * 子物料号,关联kn_new_sap_mara表matnr字段 + */ + @TableField("material_number") + private String materialNumber; + + /** + * 版本号id + */ + @TableField("version_number_id") + private String versionNumberId; + + /** + * 层级 + */ + @TableField("level") + private String level; + + /** + * 图号 + */ + @TableField("figure_number") + private String figureNumber; + + /** + * 用量 + */ + @TableField("dosage") + private String dosage; + + /** + * 单位 + */ + @TableField("unit") + private String unit; + + /** + * 规格 + */ + @TableField("specification") + private String specification; + + /** + * bom材料费 + */ + @TableField("bom_cost") + private BigDecimal bomCost; + + /** + * 包装费 + */ + @TableField("packing_cost") + private BigDecimal packingCost; + + /** + * 本阶辅料费 + */ + @TableField("auxiliary_cost") + private BigDecimal auxiliaryCost; + + /** + * 本阶人工费 + */ + @TableField("labor_cost") + private BigDecimal laborCost; + + /** + * 机器折旧费 + */ + @TableField("euip_depreciation_cost") + private BigDecimal euipDepreciationCost; + + /** + * 机物料消耗费 + */ + @TableField("equip_consume_cost") + private BigDecimal equipConsumeCost; + + /** + * 水电费 + */ + @TableField("hydroelectricity_cost") + private BigDecimal hydroelectricityCost; + + /** + * 其他制造费 + */ + @TableField("other_cost") + private BigDecimal otherCost; + + /** + * 物流费 + */ + @TableField("trail_cost") + private BigDecimal trailCost; + + /** + * 制造成本 + */ + @TableField("manufacture_cost") + private BigDecimal manufactureCost; + + /** + * 累计人工费 + */ + @TableField("total_labor_cost") + private BigDecimal totalLaborCost; + + /** + * 累计机器消耗费 + */ + @TableField("total_equip_consume_cost") + private BigDecimal totalEquipConsumeCost; + + /** + * 累计机器折旧费 + */ + @TableField("total_euip_depreciation_cost") + private BigDecimal totalEuipDepreciationCost; + + /** + * 累计水电费 + */ + @TableField("total_hydroelectricity_cost") + private BigDecimal totalHydroelectricityCost; + + /** + * 累计其它费用 + */ + @TableField("total_other_cost") + private BigDecimal totalOtherCost; + + /** + * 创建人 + */ + @TableField("create_by") + private String createBy; + + /** + * 创建日期 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 修改人 + */ + @TableField("update_by") + private String updateBy; + + /** + * 修改日期 + */ + @TableField("update_time") + private LocalDateTime updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + public static final String ID = "id"; + + public static final String MATERIAL_NUMBER = "material_number"; + + public static final String VERSION_NUMBER_ID = "version_number_id"; + + public static final String LEVEL = "level"; + + public static final String FIGURE_NUMBER = "figure_number"; + + public static final String DOSAGE = "dosage"; + + public static final String UNIT = "unit"; + + public static final String SPECIFICATION = "specification"; + + public static final String BOM_COST = "bom_cost"; + + public static final String PACKING_COST = "packing_cost"; + + public static final String AUXILIARY_COST = "auxiliary_cost"; + + public static final String LABOR_COST = "labor_cost"; + + public static final String EUIP_DEPRECIATION_COST = "euip_depreciation_cost"; + + public static final String EQUIP_CONSUME_COST = "equip_consume_cost"; + + public static final String HYDROELECTRICITY_COST = "hydroelectricity_cost"; + + public static final String OTHER_COST = "other_cost"; + + public static final String TRAIL_COST = "trail_cost"; + + public static final String MANUFACTURE_COST = "manufacture_cost"; + + public static final String TOTAL_LABOR_COST = "total_labor_cost"; + + public static final String TOTAL_EQUIP_CONSUME_COST = "total_equip_consume_cost"; + + public static final String TOTAL_EUIP_DEPRECIATION_COST = "total_euip_depreciation_cost"; + + public static final String TOTAL_HYDROELECTRICITY_COST = "total_hydroelectricity_cost"; + + public static final String TOTAL_OTHER_COST = "total_other_cost"; + + public static final String CREATE_BY = "create_by"; + + public static final String CREATE_TIME = "create_time"; + + public static final String UPDATE_BY = "update_by"; + + public static final String UPDATE_TIME = "update_time"; + + public static final String REMARK = "remark"; + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardVersion.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardVersion.java index 90eae58..8a174a6 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/CostStandardVersion.java +++ b/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 { /**id*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") - private Integer id; + private String id; /**图号*/ + @Excel(name = "图号", width = 15) @ApiModelProperty(value = "图号") private String figureNumber; /**阶段,A-初始,B-首批,C-量产*/ @@ -49,15 +50,12 @@ public class CostStandardVersion implements Serializable { @ApiModelProperty(value = "物料号") private String materialNumber; /**版本号*/ - @Excel(name = "版本号", width = 15) @ApiModelProperty(value = "版本号") private String versionNumber; /**版本状态*/ - @Excel(name = "版本状态", width = 15) @ApiModelProperty(value = "版本状态") private String versionStatus; /**创建人*/ - @Excel(name = "创建人", width = 15) @ApiModelProperty(value = "创建人") private String createBy; /**创建时间*/ @@ -66,21 +64,17 @@ public class CostStandardVersion implements Serializable { @ApiModelProperty(value = "创建时间") private Date createTime; /**修改人*/ - @Excel(name = "修改人", width = 15) @ApiModelProperty(value = "修改人") private String updateBy; /**修改时间*/ - @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "修改时间") private Date updateTime; /**备注*/ - @Excel(name = "备注", width = 15) @ApiModelProperty(value = "备注") private String remark; /**年份*/ - @Excel(name = "年份", width = 15) @ApiModelProperty(value = "年份") private String versionYear; } diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/HourRate.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/HourRate.java index ad3c13b..fe8fba1 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/HourRate.java +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/entity/HourRate.java @@ -23,7 +23,7 @@ import lombok.experimental.Accessors; * @Version: V1.0 */ @Data -@TableName("hour_rate") +@TableName("cost_hour_rate") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="hour_rate对象", description="hour_rate") diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/enums/StandardStageEnum.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/enums/StandardStageEnum.java new file mode 100644 index 0000000..1efa289 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/enums/StandardStageEnum.java @@ -0,0 +1,63 @@ +package com.zzsmart.qomo.kn.cost.manage.enums; + +/** + * @Classname StandardStageEnum + * @Description 阶段枚举 + * @Version 1.0.0 + * @Date 2024/6/18 9:51 + * @Created wangqiong + */ +public enum StandardStageEnum { + INIT("A", "初始"), + FIRST_BATCH("B", "首批"), + MASS_PRODUCTION("C", "量产"), + + + ; + + private final String code; + private final String text; + + StandardStageEnum(String code, String text) + { + this.code = code; + this.text = text; + } + + public String getCode() + { + return code; + } + + public String getText() + { + return text; + } + /** + * 根据code获取text + * @param codeNo + * @return + */ + public static String getTextByCode(String codeNo){ + for (StandardStageEnum value : StandardStageEnum.values()) { + if (value.getCode().equals(codeNo)){ + return value.getText(); + } + } + return codeNo.toString(); + } + + /** + * 根据text获取code + * @param textStr + * @return + */ + public static String getCodeByText(String textStr){ + for (StandardStageEnum value : StandardStageEnum.values()) { + if (value.getText().equals(textStr)){ + return value.getText(); + } + } + return textStr; + } +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialBomMapper.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialBomMapper.java new file mode 100644 index 0000000..081e812 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialBomMapper.java @@ -0,0 +1,18 @@ +package com.zzsmart.qomo.kn.cost.manage.mapper; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 物料bom Mapper 接口 + *

+ * + * @author + * @since 2024-06-19 + */ +@Mapper +public interface CostMaterialBomMapper extends BaseMapper { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialProcessHoursMapper.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialProcessHoursMapper.java new file mode 100644 index 0000000..b846b7a --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostMaterialProcessHoursMapper.java @@ -0,0 +1,18 @@ +package com.zzsmart.qomo.kn.cost.manage.mapper; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 物料工时工序表 Mapper 接口 + *

+ * + * @author + * @since 2024-06-19 + */ +@Mapper +public interface CostMaterialProcessHoursMapper extends BaseMapper { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostPurchasePriceMapper.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostPurchasePriceMapper.java new file mode 100644 index 0000000..ac0abf3 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostPurchasePriceMapper.java @@ -0,0 +1,18 @@ +package com.zzsmart.qomo.kn.cost.manage.mapper; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 物料采购单价 Mapper 接口 + *

+ * + * @author + * @since 2024-06-19 + */ +@Mapper +public interface CostPurchasePriceMapper extends BaseMapper { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java new file mode 100644 index 0000000..76f2a2b --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/CostStandardDetailMapper.java @@ -0,0 +1,18 @@ +package com.zzsmart.qomo.kn.cost.manage.mapper; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 标准成本明细表 Mapper 接口 + *

+ * + * @author cost_purchase_price + * @since 2024-06-19 + */ +@Mapper +public interface CostStandardDetailMapper extends BaseMapper { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialBomMapper.xml b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialBomMapper.xml new file mode 100644 index 0000000..0782414 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialBomMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialProcessHoursMapper.xml b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialProcessHoursMapper.xml new file mode 100644 index 0000000..c8e27fe --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostMaterialProcessHoursMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostPurchasePriceMapper.xml b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostPurchasePriceMapper.xml new file mode 100644 index 0000000..5fb2b48 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostPurchasePriceMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml new file mode 100644 index 0000000..17dd931 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml/CostStandardDetailMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialBomService.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialBomService.java new file mode 100644 index 0000000..1b752bc --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialBomService.java @@ -0,0 +1,16 @@ +package com.zzsmart.qomo.kn.cost.manage.service; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 物料bom 服务类 + *

+ * + * @author + * @since 2024-06-19 + */ +public interface CostMaterialBomService extends IService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialProcessHoursService.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialProcessHoursService.java new file mode 100644 index 0000000..c8957cc --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostMaterialProcessHoursService.java @@ -0,0 +1,16 @@ +package com.zzsmart.qomo.kn.cost.manage.service; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 物料工时工序表 服务类 + *

+ * + * @author + * @since 2024-06-19 + */ +public interface CostMaterialProcessHoursService extends IService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostPurchasePriceService.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostPurchasePriceService.java new file mode 100644 index 0000000..cac2eb2 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostPurchasePriceService.java @@ -0,0 +1,16 @@ +package com.zzsmart.qomo.kn.cost.manage.service; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 物料采购单价 服务类 + *

+ * + * @author + * @since 2024-06-19 + */ +public interface CostPurchasePriceService extends IService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostStandardDetailService.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostStandardDetailService.java new file mode 100644 index 0000000..30a429c --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/CostStandardDetailService.java @@ -0,0 +1,16 @@ +package com.zzsmart.qomo.kn.cost.manage.service; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 标准成本明细表 服务类 + *

+ * + * @author cost_purchase_price + * @since 2024-06-19 + */ +public interface CostStandardDetailService extends IService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/ICostStandardVersionService.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/ICostStandardVersionService.java index 4be0e2b..f4e69c4 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/ICostStandardVersionService.java +++ b/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; import com.baomidou.mybatisplus.extension.service.IService; import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardVersion; +import org.jeecg.common.api.vo.Result; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** @@ -13,5 +16,13 @@ import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardVersion; * @Version: V1.0 */ public interface ICostStandardVersionService extends IService { + /** + * excel导入 + * @param request + * @param response + * @param costStandardVersionClass + * @return + */ + Result importExcel(HttpServletRequest request, HttpServletResponse response, Class costStandardVersionClass); } diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialBomServiceImpl.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialBomServiceImpl.java new file mode 100644 index 0000000..91a29ff --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialBomServiceImpl.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.service.impl; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialBom; +import com.zzsmart.qomo.kn.cost.manage.mapper.CostMaterialBomMapper; +import com.zzsmart.qomo.kn.cost.manage.service.CostMaterialBomService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 物料bom 服务实现类 + *

+ * + * @author + * @since 2024-06-19 + */ +@Service +public class CostMaterialBomServiceImpl extends ServiceImpl implements CostMaterialBomService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialProcessHoursServiceImpl.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialProcessHoursServiceImpl.java new file mode 100644 index 0000000..f47c888 --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostMaterialProcessHoursServiceImpl.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.service.impl; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostMaterialProcessHours; +import com.zzsmart.qomo.kn.cost.manage.mapper.CostMaterialProcessHoursMapper; +import com.zzsmart.qomo.kn.cost.manage.service.CostMaterialProcessHoursService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 物料工时工序表 服务实现类 + *

+ * + * @author + * @since 2024-06-19 + */ +@Service +public class CostMaterialProcessHoursServiceImpl extends ServiceImpl implements CostMaterialProcessHoursService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostPurchasePriceServiceImpl.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostPurchasePriceServiceImpl.java new file mode 100644 index 0000000..2febebe --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostPurchasePriceServiceImpl.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.service.impl; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostPurchasePrice; +import com.zzsmart.qomo.kn.cost.manage.mapper.CostPurchasePriceMapper; +import com.zzsmart.qomo.kn.cost.manage.service.CostPurchasePriceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 物料采购单价 服务实现类 + *

+ * + * @author + * @since 2024-06-19 + */ +@Service +public class CostPurchasePriceServiceImpl extends ServiceImpl implements CostPurchasePriceService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardDetailServiceImpl.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardDetailServiceImpl.java new file mode 100644 index 0000000..4309d4d --- /dev/null +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardDetailServiceImpl.java @@ -0,0 +1,20 @@ +package com.zzsmart.qomo.kn.cost.manage.service.impl; + +import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardDetail; +import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardDetailMapper; +import com.zzsmart.qomo.kn.cost.manage.service.CostStandardDetailService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 标准成本明细表 服务实现类 + *

+ * + * @author cost_purchase_price + * @since 2024-06-19 + */ +@Service +public class CostStandardDetailServiceImpl extends ServiceImpl implements CostStandardDetailService { + +} diff --git a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardVersionServiceImpl.java b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardVersionServiceImpl.java index 0540289..4b95836 100644 --- a/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardVersionServiceImpl.java +++ b/qomo-kn-cost-manage/src/main/java/com/zzsmart/qomo/kn/cost/manage/service/impl/CostStandardVersionServiceImpl.java @@ -1,50 +1,75 @@ package com.zzsmart.qomo.kn.cost.manage.service.impl; - +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.zzsmart.qomo.kn.cost.manage.constants.Constants; import com.zzsmart.qomo.kn.cost.manage.entity.CostStandard; import com.zzsmart.qomo.kn.cost.manage.entity.CostStandardVersion; +import com.zzsmart.qomo.kn.cost.manage.enums.StandardStageEnum; import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardMapper; import com.zzsmart.qomo.kn.cost.manage.mapper.CostStandardVersionMapper; import com.zzsmart.qomo.kn.cost.manage.service.ICostStandardVersionService; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.vo.LoginUser; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.time.ZoneId; import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; /** * @Description: 标准成本-版本号 * @Author: wangqiong - * @Date: 2024-06-13 + * @Date: 2024-06-13 * @Version: V1.0 */ @Service public class CostStandardVersionServiceImpl extends ServiceImpl implements ICostStandardVersionService { @Autowired private CostStandardMapper costStandardMapper; - @Transactional + @Autowired + private ICostStandardVersionService costStandardVersionService; + private static final Logger log = LoggerFactory.getLogger(CostStandardVersionServiceImpl.class); + + @Transactional(rollbackFor = Exception.class) @Override public boolean save(CostStandardVersion costStandardVersion) { + // todo 查物料表看是否存在改物料,没有抛异常 LoginUser sysUser = null; try { sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); } catch (Exception ignored) { } - if(sysUser!=null){ + if (sysUser != null) { costStandardVersion.setCreateBy(sysUser.getUsername()); } // 保存版本号表 boolean save = super.save(costStandardVersion); - // todo 标准成本计算,并且设置字段对应值(计算时版本状态为枚举,比如计算中,计算终止,计算出错,已完成) - CostStandard standard= standardCalculate(costStandardVersion); + // todo 标准成本计算 + CostStandard standard = standardCalculate(costStandardVersion); // standard.setMaterialNumber(costStandardVersion.getMaterialNumber()); // standard.setVersionNumberId(costStandardVersion.getId()); // if(sysUser!=null){ @@ -56,16 +81,25 @@ public class CostStandardVersionServiceImpl extends ServiceImpl importExcel(HttpServletRequest request, HttpServletResponse response, Class clazz) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map fileMap = multipartRequest.getFileMap(); + Iterator iterator = fileMap.entrySet().iterator(); + if (iterator.hasNext()) { + Map.Entry entity = (Map.Entry) iterator.next(); + MultipartFile file = (MultipartFile) entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params); + if (CollectionUtil.isEmpty(list)) { + log.error("无可导入的数据!"); + return Result.error("无可导入的数据!"); + } + int successNum = 0; + int failureNum = 0; + // StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + long start = System.currentTimeMillis(); + // 校验并组装list + for (int i = 0; i < list.size(); i++) { + CostStandardVersion standardVersion = list.get(i); + // 校验物料号是否为空 + if (StrUtil.isEmpty(standardVersion.getMaterialNumber())) { + failureNum++; + failureMsg.append("
第 " + (i + 2) + " 行【物料号】字段不能为空:"); + continue; + } + if (StrUtil.isNotEmpty(standardVersion.getStage())) { + standardVersion.setStage(StandardStageEnum.getCodeByText(standardVersion.getStage())); + } + // 创建日期 + Date createDate = new Date(); + standardVersion.setCreateTime(createDate); + String dateStr = new SimpleDateFormat("yyyyMMddHHmmss").format(createDate); + // 生成版本号,版本号=图号_阶段_创建日期(格式:yyyyMMddHHmmss) + standardVersion.setVersionNumber(standardVersion.getFigureNumber()+ Constants.UNDER_LINE +standardVersion.getStage()+Constants.UNDER_LINE+dateStr); + // 设置年份 + standardVersion.setVersionYear(String.valueOf(createDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().getYear())); + // 调用保存方法 + try { + costStandardVersionService.save(standardVersion); + } catch (Exception e) { + failureNum++; + String msg = "
第 " + (i + 2) + " 行数据导入失败;"; + failureMsg.append(msg); + log.error(msg, e); + } + successNum++; + } + // costStandardVersionService.saveBatch(list); + log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒"); + String returnMsg = "文件导入成功!数据行数:" + successNum; + if (failureNum > 0) { + returnMsg += "
失败数据行数:" + failureNum + ",失败信息如下:
" + failureMsg.toString(); + } + return Result.ok(returnMsg); + } catch (Exception exception) { + String msg = exception.getMessage(); + log.error(msg, exception); + Result result; + String duplicateEntry = "Duplicate entry"; + if (msg != null && msg.contains(duplicateEntry)) { + result = Result.error("文件导入失败:有重复数据!"); + return result; + } else { + result = Result.error("文件导入失败:" + exception.getMessage()); + return result; + } + } finally { + try { + file.getInputStream().close(); + } catch (IOException var23) { + var23.printStackTrace(); + } + } + } else { + return Result.error("文件导入失败!"); + } + + } } diff --git a/qomo-kn-cost-manage/src/test/java/com/zzsmart/qomo/kn/cost/manage/ApplicationTests.java b/qomo-kn-cost-manage/src/test/java/com/zzsmart/qomo/kn/cost/manage/ApplicationTests.java index e35315c..8be40ab 100644 --- a/qomo-kn-cost-manage/src/test/java/com/zzsmart/qomo/kn/cost/manage/ApplicationTests.java +++ b/qomo-kn-cost-manage/src/test/java/com/zzsmart/qomo/kn/cost/manage/ApplicationTests.java @@ -21,7 +21,7 @@ public class ApplicationTests { */ @Test public void Generation(){ - FastAutoGenerator.create("jdbc:mysql://121.40.189.20:3306/"+"costmanage"+"?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai","root","YMzc157#") + FastAutoGenerator.create("jdbc:mysql://121.40.189.20:3306/"+"knne"+"?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai","root","YMzc157#") .globalConfig(builder -> { builder.author(" ") .fileOverride()//是否覆盖 @@ -42,7 +42,7 @@ public class ApplicationTests { .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/src/main/java/com/zzsmart/qomo/kn/cost/manage/mapper/xml")); }) .strategyConfig(builder -> { - builder.addInclude("authority")// todo 设置需要生成的表名 + builder.addInclude("cost_material_bom")// todo 设置需要生成的表名 //.addTablePrefix("sys_")//设置表前缀过滤 .entityBuilder() .enableLombok() @@ -66,11 +66,11 @@ public class ApplicationTests { .enableRestStyle(); }) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 - .templateConfig(builder -> { - builder.disable(TemplateType.CONTROLLER) - .disable(TemplateType.SERVICE) - .disable(TemplateType.SERVICEIMPL); - }) +// .templateConfig(builder -> { +// builder.disable(TemplateType.CONTROLLER) +// .disable(TemplateType.SERVICE) +// .disable(TemplateType.SERVICEIMPL); +// }) .templateEngine(new FreemarkerTemplateEngine()) .execute();