From f75e13f58d2ecfff77b615582ec6f439512af593 Mon Sep 17 00:00:00 2001 From: wb_zhanghaoyuan Date: Fri, 20 Jun 2025 18:42:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=9B=B6=E4=BB=B6=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/heli/enums/ErrorCodeConstants.java | 2 + .../PurchaseOrderMakeController.java | 109 +++++++++++++ .../vo/PartPurchaseOrderPageReqVO.java | 71 +++++++++ .../vo/PartPurchaseOrderPageRespVO.java | 53 +++++++ .../vo/PurchaseOrderMakePageReqVO.java | 85 ++++++++++ .../vo/PurchaseOrderMakeRespVO.java | 105 ++++++++++++ .../vo/PurchaseOrderMakeSaveReqVO.java | 81 ++++++++++ .../PurchaseOrderMakeDetailController.java | 95 +++++++++++ .../vo/PurchaseOrderMakeDetailPageReqVO.java | 109 +++++++++++++ .../vo/PurchaseOrderMakeDetailRespVO.java | 137 ++++++++++++++++ .../vo/PurchaseOrderMakeDetailSaveReqVO.java | 104 ++++++++++++ .../PurchaseOrderMakeDO.java | 115 ++++++++++++++ .../PurchaseOrderMakeDetailDO.java | 150 ++++++++++++++++++ .../PurchaseOrderMakeMapper.java | 46 ++++++ .../PurchaseOrderMakeDetailMapper.java | 54 +++++++ .../PartPurchaseOrderService.java | 9 ++ .../PurchaseOrderMakeService.java | 55 +++++++ .../PurchaseOrderMakeServiceImpl.java | 74 +++++++++ .../PurchaseOrderMakeDetailService.java | 55 +++++++ .../PurchaseOrderMakeDetailServiceImpl.java | 74 +++++++++ .../PurchaseOrderMakeMapper.xml | 12 ++ .../PurchaseOrderMakeDetailMapper.xml | 12 ++ .../src/api/heli/partpurchaseorder/index.ts | 4 +- .../views/heli/partpurchaseorder/index.vue | 11 +- 24 files changed, 1610 insertions(+), 12 deletions(-) create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakePageReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeRespVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeSaveReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/PurchaseOrderMakeDetailController.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailPageReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailRespVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermake/PurchaseOrderMakeDO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeService.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailService.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermake/PurchaseOrderMakeMapper.xml create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.xml diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java index 1a07f56..8236011 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java @@ -97,6 +97,8 @@ public interface ErrorCodeConstants { ErrorCode PURCHASE_ORDER_MATERIAL_NOT_EXISTS = new ErrorCode(1_008_004, "采购单物料不存在"); ErrorCode MATERIAL_PLAN_BOOM_NOT_EXISTS = new ErrorCode(1_008_005, "物料需求计划加工件明细不存在"); ErrorCode PURCHASE_ORDER_BOOM_NOT_EXISTS = new ErrorCode(1_008_006, "采购订单加工件明细不存在"); + ErrorCode PURCHASE_ORDER_MAKE_NOT_EXISTS = new ErrorCode(1_008_007, "采购单主不存在"); + ErrorCode PURCHASE_ORDER_MAKE_DETAIL_NOT_EXISTS = new ErrorCode(1_008_008, "采购单明细不存在"); /************生产管理***********/ ErrorCode TASK_DISPATCH_NOT_EXISTS = new ErrorCode(1_009_001, "派工单不存在"); ErrorCode TASK_REPORT_NOT_EXISTS = new ErrorCode(1_009_002, "任务报工不存在"); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java new file mode 100644 index 0000000..9e82b2a --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java @@ -0,0 +1,109 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake; + +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; +import com.chanko.yunxi.mes.module.heli.service.partpurchaseorder.PartPurchaseOrderService; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; +import com.chanko.yunxi.mes.module.heli.service.purchaseordermake.PurchaseOrderMakeService; + +@Tag(name = "管理后台 - 采购单主") +@RestController +@RequestMapping("/heli/purchase-order-make") +@Validated +public class PurchaseOrderMakeController { + + @Resource + private PurchaseOrderMakeService purchaseOrderMakeService; + + @Resource + private PartPurchaseOrderService partPurchaseOrderService; + + @PostMapping("/create") + @Operation(summary = "创建采购单主") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:create')") + public CommonResult createPurchaseOrderMake(@Valid @RequestBody PurchaseOrderMakeSaveReqVO createReqVO) { + return success(purchaseOrderMakeService.createPurchaseOrderMake(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新采购单主") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:update')") + public CommonResult updatePurchaseOrderMake(@Valid @RequestBody PurchaseOrderMakeSaveReqVO updateReqVO) { + purchaseOrderMakeService.updatePurchaseOrderMake(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除采购单主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:delete')") + public CommonResult deletePurchaseOrderMake(@RequestParam("id") Long id) { + purchaseOrderMakeService.deletePurchaseOrderMake(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得采购单主") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:query')") + public CommonResult getPurchaseOrderMake(@RequestParam("id") Long id) { + PurchaseOrderMakeDO purchaseOrderMake = purchaseOrderMakeService.getPurchaseOrderMake(id); + return success(BeanUtils.toBean(purchaseOrderMake, PurchaseOrderMakeRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得采购单主分页") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:query')") + public CommonResult> getPurchaseOrderMakePage(@Valid PurchaseOrderMakePageReqVO pageReqVO) { + PageResult pageResult = purchaseOrderMakeService.getPurchaseOrderMakePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PurchaseOrderMakeRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出采购单主 Excel") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:export')") + @OperateLog(type = EXPORT) + public void exportPurchaseOrderMakeExcel(@Valid PurchaseOrderMakePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = purchaseOrderMakeService.getPurchaseOrderMakePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "采购单主.xls", "数据", PurchaseOrderMakeRespVO.class, + BeanUtils.toBean(list, PurchaseOrderMakeRespVO.class)); + } + + @GetMapping("/getPartPurchaseOrderPage") + @Operation(summary = "获得零件采购订单生成分页") +// @PreAuthorize("@ss.hasPermission('heli:material-plan:query')") + public CommonResult> getPartPurchaseOrderPage(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) { +// PageResult pageResult = materialPlanService.getPartPage(pageReqVO); +// return success(pageResult); + return null; + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageReqVO.java new file mode 100644 index 0000000..b951167 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageReqVO.java @@ -0,0 +1,71 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 零件采购订单生成分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PartPurchaseOrderPageReqVO extends PageParam { + @Schema(description = "自增字段,唯一") + private Long id; + + @Schema(description = "物料计划单号") + private String projectMaterialPlanNo; + + @Schema(description = "生产计划单号") + private String planNo; + + @Schema(description = "项目名称") + private String projectName; + + @Schema(description = "订单id") + private Long projectId; + + @Schema(description = "生产计划id") + private Long projectPlanId; + + @Schema(description = "送审人") + private Long submitUserId; + + @Schema(description = "送审时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] submitTime; + + @Schema(description = "审核人") + private Long auditor; + + @Schema(description = "审核时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] auditTime; + + @Schema(description = "采购状态,0未生成,1已生成,默认是0") + private Integer status; + + @Schema(description = "备注") + private String description; + + @Schema(description = "创建时间") + private String createTime; + @Schema(description = "子项目名称") + private String projectSubName; + @Schema(description = "零件名称") + private String materialName; + @Schema(description = "项目编码") + private String projectCode; + @Schema(description = "需求计划类型") + private String matType; + @Schema(description = "责任人") + private String ownerName; + @Schema(description = "供应商名称") + private String supplierName; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java new file mode 100644 index 0000000..ae0a642 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java @@ -0,0 +1,53 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 零件采购订单生成分页 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PartPurchaseOrderPageRespVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "22882") + @ExcelProperty("自增字段,唯一") + private Long id; + + @Schema(description = "子项目编码") + @ExcelProperty("子项目编码") + private String projectSubCode; + + @Schema(description = "零件名称", example = "芋艿") + @ExcelProperty("零件名称") + private String boomName; + + @Schema(description = "材质") + @ExcelProperty("材质") + private String composition; + + @Schema(description = "采购数量") + @ExcelProperty("采购数量") + private BigDecimal purchaseAmount; + + @Schema(description = "预计到货日期") + @ExcelProperty("预计到货日期") + private LocalDateTime arriveTime; + + @Schema(description = "供应商名称") + @ExcelProperty("供应商名称") + private Long supplierName; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String description; + + @Schema(description = "零件理论重量") + @ExcelProperty("零件理论重量") + private BigDecimal theWeight; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakePageReqVO.java new file mode 100644 index 0000000..e983cac --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakePageReqVO.java @@ -0,0 +1,85 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 采购单主分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PurchaseOrderMakePageReqVO extends PageParam { + + @Schema(description = "采购单号") + private String purchaseNo; + + @Schema(description = "采购合同号") + private String contractNo; + + @Schema(description = "采购单类型,1按物料需求计划采购,2备库采购", example = "1") + private Boolean purchaseType; + + @Schema(description = "采购物类型,1物料,2加工件", example = "1") + private Boolean goodsType; + + @Schema(description = "结算币种", example = "2") + private Integer currencyType; + + @Schema(description = "税率") + private Integer taxRatio; + + @Schema(description = "暂估价金额", example = "13902") + private BigDecimal estimatedPrice; + + @Schema(description = "实际价金额", example = "14735") + private BigDecimal actualPrice; + + @Schema(description = "单据状态,0 待送审,1已送审,2已审核,3已打回 ,默认是1", example = "2") + private Boolean status; + + @Schema(description = "送审人", example = "17514") + private Long submitUserId; + + @Schema(description = "送审时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] submitTime; + + @Schema(description = "审核人") + private Long auditor; + + @Schema(description = "审核时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] auditTime; + + @Schema(description = "备注", example = "随便") + private String description; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "订单id", example = "14178") + private Long projectId; + + @Schema(description = "生产计划id", example = "707") + private Long projectPlanId; + + @Schema(description = "客户id", example = "20356") + private Long customerId; + + @Schema(description = "客户简称") + private String brief; + + @Schema(description = "项目名称", example = "芋艿") + private String projectName; + + @Schema(description = "项目名称简码") + private String projectNameSim; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeRespVO.java new file mode 100644 index 0000000..3c341e9 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeRespVO.java @@ -0,0 +1,105 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 采购单主 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PurchaseOrderMakeRespVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "29741") + @ExcelProperty("自增字段,唯一") + private Long id; + + @Schema(description = "采购单号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("采购单号") + private String purchaseNo; + + @Schema(description = "采购合同号") + @ExcelProperty("采购合同号") + private String contractNo; + + @Schema(description = "采购单类型,1按物料需求计划采购,2备库采购", example = "1") + @ExcelProperty("采购单类型,1按物料需求计划采购,2备库采购") + private Boolean purchaseType; + + @Schema(description = "采购物类型,1物料,2加工件", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("采购物类型,1物料,2加工件") + private Boolean goodsType; + + @Schema(description = "结算币种", example = "2") + @ExcelProperty("结算币种") + private Integer currencyType; + + @Schema(description = "税率") + @ExcelProperty("税率") + private Integer taxRatio; + + @Schema(description = "暂估价金额", example = "13902") + @ExcelProperty("暂估价金额") + private BigDecimal estimatedPrice; + + @Schema(description = "实际价金额", example = "14735") + @ExcelProperty("实际价金额") + private BigDecimal actualPrice; + + @Schema(description = "单据状态,0 待送审,1已送审,2已审核,3已打回 ,默认是1", example = "2") + @ExcelProperty("单据状态,0 待送审,1已送审,2已审核,3已打回 ,默认是1") + private Boolean status; + + @Schema(description = "送审人", example = "17514") + @ExcelProperty("送审人") + private Long submitUserId; + + @Schema(description = "送审时间") + @ExcelProperty("送审时间") + private LocalDateTime submitTime; + + @Schema(description = "审核人") + @ExcelProperty("审核人") + private Long auditor; + + @Schema(description = "审核时间") + @ExcelProperty("审核时间") + private LocalDateTime auditTime; + + @Schema(description = "备注", example = "随便") + @ExcelProperty("备注") + private String description; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "订单id", example = "14178") + @ExcelProperty("订单id") + private Long projectId; + + @Schema(description = "生产计划id", example = "707") + @ExcelProperty("生产计划id") + private Long projectPlanId; + + @Schema(description = "客户id", example = "20356") + @ExcelProperty("客户id") + private Long customerId; + + @Schema(description = "客户简称") + @ExcelProperty("客户简称") + private String brief; + + @Schema(description = "项目名称", example = "芋艿") + @ExcelProperty("项目名称") + private String projectName; + + @Schema(description = "项目名称简码") + @ExcelProperty("项目名称简码") + private String projectNameSim; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeSaveReqVO.java new file mode 100644 index 0000000..be4046a --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PurchaseOrderMakeSaveReqVO.java @@ -0,0 +1,81 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 采购单主新增/修改 Request VO") +@Data +public class PurchaseOrderMakeSaveReqVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "29741") + private Long id; + + @Schema(description = "采购单号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "采购单号不能为空") + private String purchaseNo; + + @Schema(description = "采购合同号") + private String contractNo; + + @Schema(description = "采购单类型,1按物料需求计划采购,2备库采购", example = "1") + private Boolean purchaseType; + + @Schema(description = "采购物类型,1物料,2加工件", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "采购物类型,1物料,2加工件不能为空") + private Boolean goodsType; + + @Schema(description = "结算币种", example = "2") + private Integer currencyType; + + @Schema(description = "税率") + private Integer taxRatio; + + @Schema(description = "暂估价金额", example = "13902") + private BigDecimal estimatedPrice; + + @Schema(description = "实际价金额", example = "14735") + private BigDecimal actualPrice; + + @Schema(description = "单据状态,0 待送审,1已送审,2已审核,3已打回 ,默认是1", example = "2") + private Boolean status; + + @Schema(description = "送审人", example = "17514") + private Long submitUserId; + + @Schema(description = "送审时间") + private LocalDateTime submitTime; + + @Schema(description = "审核人") + private Long auditor; + + @Schema(description = "审核时间") + private LocalDateTime auditTime; + + @Schema(description = "备注", example = "随便") + private String description; + + @Schema(description = "订单id", example = "14178") + private Long projectId; + + @Schema(description = "生产计划id", example = "707") + private Long projectPlanId; + + @Schema(description = "客户id", example = "20356") + private Long customerId; + + @Schema(description = "客户简称") + private String brief; + + @Schema(description = "项目名称", example = "芋艿") + private String projectName; + + @Schema(description = "项目名称简码") + private String projectNameSim; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/PurchaseOrderMakeDetailController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/PurchaseOrderMakeDetailController.java new file mode 100644 index 0000000..f993a25 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/PurchaseOrderMakeDetailController.java @@ -0,0 +1,95 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; +import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; + +import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; + +import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; +import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; + +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; +import com.chanko.yunxi.mes.module.heli.service.purchaseordermakedetail.PurchaseOrderMakeDetailService; + +@Tag(name = "管理后台 - 采购单明细") +@RestController +@RequestMapping("/heli/purchase-order-make-detail") +@Validated +public class PurchaseOrderMakeDetailController { + + @Resource + private PurchaseOrderMakeDetailService purchaseOrderMakeDetailService; + + @PostMapping("/create") + @Operation(summary = "创建采购单明细") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make-detail:create')") + public CommonResult createPurchaseOrderMakeDetail(@Valid @RequestBody PurchaseOrderMakeDetailSaveReqVO createReqVO) { + return success(purchaseOrderMakeDetailService.createPurchaseOrderMakeDetail(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新采购单明细") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make-detail:update')") + public CommonResult updatePurchaseOrderMakeDetail(@Valid @RequestBody PurchaseOrderMakeDetailSaveReqVO updateReqVO) { + purchaseOrderMakeDetailService.updatePurchaseOrderMakeDetail(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除采购单明细") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make-detail:delete')") + public CommonResult deletePurchaseOrderMakeDetail(@RequestParam("id") Long id) { + purchaseOrderMakeDetailService.deletePurchaseOrderMakeDetail(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得采购单明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make-detail:query')") + public CommonResult getPurchaseOrderMakeDetail(@RequestParam("id") Long id) { + PurchaseOrderMakeDetailDO purchaseOrderMakeDetail = purchaseOrderMakeDetailService.getPurchaseOrderMakeDetail(id); + return success(BeanUtils.toBean(purchaseOrderMakeDetail, PurchaseOrderMakeDetailRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得采购单明细分页") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make-detail:query')") + public CommonResult> getPurchaseOrderMakeDetailPage(@Valid PurchaseOrderMakeDetailPageReqVO pageReqVO) { + PageResult pageResult = purchaseOrderMakeDetailService.getPurchaseOrderMakeDetailPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PurchaseOrderMakeDetailRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出采购单明细 Excel") + @PreAuthorize("@ss.hasPermission('heli:purchase-order-make-detail:export')") + @OperateLog(type = EXPORT) + public void exportPurchaseOrderMakeDetailExcel(@Valid PurchaseOrderMakeDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = purchaseOrderMakeDetailService.getPurchaseOrderMakeDetailPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "采购单明细.xls", "数据", PurchaseOrderMakeDetailRespVO.class, + BeanUtils.toBean(list, PurchaseOrderMakeDetailRespVO.class)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailPageReqVO.java new file mode 100644 index 0000000..4f080e1 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailPageReqVO.java @@ -0,0 +1,109 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 采购单明细分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PurchaseOrderMakeDetailPageReqVO extends PageParam { + + @Schema(description = "采购单id", example = "13340") + private Long purchaseOrderId; + + @Schema(description = "加工件boom detail id", example = "31132") + private Long boomDetailId; + + @Schema(description = "零件名称", example = "芋艿") + private String boomName; + + @Schema(description = "规格型号") + private String boomSpec; + + @Schema(description = "系统单位") + private String boomUnit; + + @Schema(description = "材质") + private String composition; + + @Schema(description = "采购数量") + private BigDecimal purchaseAmount; + + @Schema(description = "暂估价金额", example = "20986") + private BigDecimal estimatedPrice; + + @Schema(description = "实际价金额", example = "683") + private BigDecimal actualPrice; + + @Schema(description = "预计到货日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] arriveTime; + + @Schema(description = "备注", example = "你说的对") + private String description; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "需求数量") + private BigDecimal boomAmount; + + @Schema(description = "需求到货日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] requireTime; + + @Schema(description = "供应商id", example = "30352") + private Long supplierId; + + @Schema(description = "物料需求计划id", example = "16465") + private Long projectMaterialPlanId; + + @Schema(description = "物料需求计划子项目id", example = "11304") + private Long projectMaterialPlanBoomId; + + @Schema(description = "订单子项目id", example = "28999") + private Long projectPlanSubId; + + @Schema(description = "子项目名称,唯一", example = "张三") + private String name; + + @Schema(description = "子项目简码") + private String nameSim; + + @Schema(description = "采购订单主表id", example = "18351") + private Long purchaseOrderNoId; + + @Schema(description = "采购订单明细表id", example = "18566") + private Long purchaseOrderNoDetailId; + + @Schema(description = "订单状态 未生成/已生成 1/2", example = "1") + private Boolean orderStatus; + + @Schema(description = "子项目编码") + private String projectSubCode; + + @Schema(description = "收货状态 未收货/收货中/收货完成 1/2/3", example = "2") + private Boolean receivingStatus; + + @Schema(description = "采购单号") + private String purchaseNo; + + @Schema(description = "工序id", example = "21391") + private Long procedureId; + + @Schema(description = "零件理论重量") + private BigDecimal theWeight; + + @Schema(description = "责任人id", example = "25680") + private Long duEmpId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailRespVO.java new file mode 100644 index 0000000..99f3905 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailRespVO.java @@ -0,0 +1,137 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 采购单明细 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PurchaseOrderMakeDetailRespVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "22882") + @ExcelProperty("自增字段,唯一") + private Long id; + + @Schema(description = "采购单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13340") + @ExcelProperty("采购单id") + private Long purchaseOrderId; + + @Schema(description = "加工件boom detail id", example = "31132") + @ExcelProperty("加工件boom detail id") + private Long boomDetailId; + + @Schema(description = "零件名称", example = "芋艿") + @ExcelProperty("零件名称") + private String boomName; + + @Schema(description = "规格型号") + @ExcelProperty("规格型号") + private String boomSpec; + + @Schema(description = "系统单位") + @ExcelProperty("系统单位") + private String boomUnit; + + @Schema(description = "材质") + @ExcelProperty("材质") + private String composition; + + @Schema(description = "采购数量") + @ExcelProperty("采购数量") + private BigDecimal purchaseAmount; + + @Schema(description = "暂估价金额", example = "20986") + @ExcelProperty("暂估价金额") + private BigDecimal estimatedPrice; + + @Schema(description = "实际价金额", example = "683") + @ExcelProperty("实际价金额") + private BigDecimal actualPrice; + + @Schema(description = "预计到货日期") + @ExcelProperty("预计到货日期") + private LocalDateTime arriveTime; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String description; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "需求数量") + @ExcelProperty("需求数量") + private BigDecimal boomAmount; + + @Schema(description = "需求到货日期") + @ExcelProperty("需求到货日期") + private LocalDateTime requireTime; + + @Schema(description = "供应商id", example = "30352") + @ExcelProperty("供应商id") + private Long supplierId; + + @Schema(description = "物料需求计划id", example = "16465") + @ExcelProperty("物料需求计划id") + private Long projectMaterialPlanId; + + @Schema(description = "物料需求计划子项目id", example = "11304") + @ExcelProperty("物料需求计划子项目id") + private Long projectMaterialPlanBoomId; + + @Schema(description = "订单子项目id", example = "28999") + @ExcelProperty("订单子项目id") + private Long projectPlanSubId; + + @Schema(description = "子项目名称,唯一", example = "张三") + @ExcelProperty("子项目名称,唯一") + private String name; + + @Schema(description = "子项目简码") + @ExcelProperty("子项目简码") + private String nameSim; + + @Schema(description = "采购订单主表id", example = "18351") + @ExcelProperty("采购订单主表id") + private Long purchaseOrderNoId; + + @Schema(description = "采购订单明细表id", example = "18566") + @ExcelProperty("采购订单明细表id") + private Long purchaseOrderNoDetailId; + + @Schema(description = "订单状态 未生成/已生成 1/2", example = "1") + @ExcelProperty("订单状态 未生成/已生成 1/2") + private Boolean orderStatus; + + @Schema(description = "子项目编码") + @ExcelProperty("子项目编码") + private String projectSubCode; + + @Schema(description = "收货状态 未收货/收货中/收货完成 1/2/3", example = "2") + @ExcelProperty("收货状态 未收货/收货中/收货完成 1/2/3") + private Boolean receivingStatus; + + @Schema(description = "采购单号") + @ExcelProperty("采购单号") + private String purchaseNo; + + @Schema(description = "工序id", example = "21391") + @ExcelProperty("工序id") + private Long procedureId; + + @Schema(description = "零件理论重量") + @ExcelProperty("零件理论重量") + private BigDecimal theWeight; + + @Schema(description = "责任人id", example = "25680") + @ExcelProperty("责任人id") + private Long duEmpId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java new file mode 100644 index 0000000..a856c55 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java @@ -0,0 +1,104 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 采购单明细新增/修改 Request VO") +@Data +public class PurchaseOrderMakeDetailSaveReqVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "22882") + private Long id; + + @Schema(description = "采购单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13340") + @NotNull(message = "采购单id不能为空") + private Long purchaseOrderId; + + @Schema(description = "加工件boom detail id", example = "31132") + private Long boomDetailId; + + @Schema(description = "零件名称", example = "芋艿") + private String boomName; + + @Schema(description = "规格型号") + private String boomSpec; + + @Schema(description = "系统单位") + private String boomUnit; + + @Schema(description = "材质") + private String composition; + + @Schema(description = "采购数量") + private BigDecimal purchaseAmount; + + @Schema(description = "暂估价金额", example = "20986") + private BigDecimal estimatedPrice; + + @Schema(description = "实际价金额", example = "683") + private BigDecimal actualPrice; + + @Schema(description = "预计到货日期") + private LocalDateTime arriveTime; + + @Schema(description = "备注", example = "你说的对") + private String description; + + @Schema(description = "需求数量") + private BigDecimal boomAmount; + + @Schema(description = "需求到货日期") + private LocalDateTime requireTime; + + @Schema(description = "供应商id", example = "30352") + private Long supplierId; + + @Schema(description = "物料需求计划id", example = "16465") + private Long projectMaterialPlanId; + + @Schema(description = "物料需求计划子项目id", example = "11304") + private Long projectMaterialPlanBoomId; + + @Schema(description = "订单子项目id", example = "28999") + private Long projectPlanSubId; + + @Schema(description = "子项目名称,唯一", example = "张三") + private String name; + + @Schema(description = "子项目简码") + private String nameSim; + + @Schema(description = "采购订单主表id", example = "18351") + private Long purchaseOrderNoId; + + @Schema(description = "采购订单明细表id", example = "18566") + private Long purchaseOrderNoDetailId; + + @Schema(description = "订单状态 未生成/已生成 1/2", example = "1") + private Boolean orderStatus; + + @Schema(description = "子项目编码") + private String projectSubCode; + + @Schema(description = "收货状态 未收货/收货中/收货完成 1/2/3", example = "2") + private Boolean receivingStatus; + + @Schema(description = "采购单号") + private String purchaseNo; + + @Schema(description = "工序id", example = "21391") + private Long procedureId; + + @Schema(description = "零件理论重量") + private BigDecimal theWeight; + + @Schema(description = "责任人id", example = "25680") + private Long duEmpId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermake/PurchaseOrderMakeDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermake/PurchaseOrderMakeDO.java new file mode 100644 index 0000000..4a68744 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermake/PurchaseOrderMakeDO.java @@ -0,0 +1,115 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 采购单主 DO + * + * @author 管理员 + */ +@TableName("project_purchase_order_make") +@KeySequence("project_purchase_order_make_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PurchaseOrderMakeDO extends BaseDO { + + /** + * 自增字段,唯一 + */ + @TableId + private Long id; + /** + * 采购单号 + */ + private String purchaseNo; + /** + * 采购合同号 + */ + private String contractNo; + /** + * 采购单类型,1按物料需求计划采购,2备库采购 + */ + private Boolean purchaseType; + /** + * 采购物类型,1物料,2加工件 + */ + private Boolean goodsType; + /** + * 结算币种 + */ + private Integer currencyType; + /** + * 税率 + */ + private Integer taxRatio; + /** + * 暂估价金额 + */ + private BigDecimal estimatedPrice; + /** + * 实际价金额 + */ + private BigDecimal actualPrice; + /** + * 单据状态,0 待送审,1已送审,2已审核,3已打回 ,默认是1 + */ + private Boolean status; + /** + * 送审人 + */ + private Long submitUserId; + /** + * 送审时间 + */ + private LocalDateTime submitTime; + /** + * 审核人 + */ + private Long auditor; + /** + * 审核时间 + */ + private LocalDateTime auditTime; + /** + * 备注 + */ + private String description; + /** + * 订单id + */ + private Long projectId; + /** + * 生产计划id + */ + private Long projectPlanId; + /** + * 客户id + */ + private Long customerId; + /** + * 客户简称 + */ + private String brief; + /** + * 项目名称 + */ + private String projectName; + /** + * 项目名称简码 + */ + private String projectNameSim; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java new file mode 100644 index 0000000..3d1f961 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java @@ -0,0 +1,150 @@ +package com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.*; +import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; + +/** + * 采购单明细 DO + * + * @author 管理员 + */ +@TableName("project_purchase_order_make_detail") +@KeySequence("project_purchase_order_make_detail_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PurchaseOrderMakeDetailDO extends BaseDO { + + /** + * 自增字段,唯一 + */ + @TableId + private Long id; + /** + * 采购单id + */ + private Long purchaseOrderId; + /** + * 加工件boom detail id + */ + private Long boomDetailId; + /** + * 零件名称 + */ + private String boomName; + /** + * 规格型号 + */ + private String boomSpec; + /** + * 系统单位 + */ + private String boomUnit; + /** + * 材质 + */ + private String composition; + /** + * 采购数量 + */ + private BigDecimal purchaseAmount; + /** + * 暂估价金额 + */ + private BigDecimal estimatedPrice; + /** + * 实际价金额 + */ + private BigDecimal actualPrice; + /** + * 预计到货日期 + */ + private LocalDateTime arriveTime; + /** + * 备注 + */ + private String description; + /** + * 需求数量 + */ + private BigDecimal boomAmount; + /** + * 需求到货日期 + */ + private LocalDateTime requireTime; + /** + * 供应商id + */ + private Long supplierId; + /** + * 物料需求计划id + */ + private Long projectMaterialPlanId; + /** + * 物料需求计划子项目id + */ + private Long projectMaterialPlanBoomId; + /** + * 订单子项目id + */ + private Long projectPlanSubId; + /** + * 子项目名称,唯一 + */ + private String name; + /** + * 子项目简码 + */ + private String nameSim; + /** + * 采购订单主表id + */ + private Long purchaseOrderNoId; + /** + * 采购订单明细表id + */ + private Long purchaseOrderNoDetailId; + /** + * 订单状态 未生成/已生成 1/2 + */ + private Boolean orderStatus; + /** + * 子项目编码 + */ + private String projectSubCode; + /** + * 收货状态 未收货/收货中/收货完成 1/2/3 + */ + private Boolean receivingStatus; + /** + * 采购单号 + */ + private String purchaseNo; + /** + * 工序id + */ + private Long procedureId; + /** + * 零件理论重量 + */ + private BigDecimal theWeight; + /** + * 责任人id + */ + private Long duEmpId; + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java new file mode 100644 index 0000000..730d424 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java @@ -0,0 +1,46 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake; + +import java.util.*; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; + +/** + * 采购单主 Mapper + * + * @author 管理员 + */ +@Mapper +public interface PurchaseOrderMakeMapper extends BaseMapperX { + + default PageResult selectPage(PurchaseOrderMakePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PurchaseOrderMakeDO::getPurchaseNo, reqVO.getPurchaseNo()) + .eqIfPresent(PurchaseOrderMakeDO::getContractNo, reqVO.getContractNo()) + .eqIfPresent(PurchaseOrderMakeDO::getPurchaseType, reqVO.getPurchaseType()) + .eqIfPresent(PurchaseOrderMakeDO::getGoodsType, reqVO.getGoodsType()) + .eqIfPresent(PurchaseOrderMakeDO::getCurrencyType, reqVO.getCurrencyType()) + .eqIfPresent(PurchaseOrderMakeDO::getTaxRatio, reqVO.getTaxRatio()) + .eqIfPresent(PurchaseOrderMakeDO::getEstimatedPrice, reqVO.getEstimatedPrice()) + .eqIfPresent(PurchaseOrderMakeDO::getActualPrice, reqVO.getActualPrice()) + .eqIfPresent(PurchaseOrderMakeDO::getStatus, reqVO.getStatus()) + .eqIfPresent(PurchaseOrderMakeDO::getSubmitUserId, reqVO.getSubmitUserId()) + .betweenIfPresent(PurchaseOrderMakeDO::getSubmitTime, reqVO.getSubmitTime()) + .eqIfPresent(PurchaseOrderMakeDO::getAuditor, reqVO.getAuditor()) + .betweenIfPresent(PurchaseOrderMakeDO::getAuditTime, reqVO.getAuditTime()) + .eqIfPresent(PurchaseOrderMakeDO::getDescription, reqVO.getDescription()) + .betweenIfPresent(PurchaseOrderMakeDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PurchaseOrderMakeDO::getProjectId, reqVO.getProjectId()) + .eqIfPresent(PurchaseOrderMakeDO::getProjectPlanId, reqVO.getProjectPlanId()) + .eqIfPresent(PurchaseOrderMakeDO::getCustomerId, reqVO.getCustomerId()) + .eqIfPresent(PurchaseOrderMakeDO::getBrief, reqVO.getBrief()) + .likeIfPresent(PurchaseOrderMakeDO::getProjectName, reqVO.getProjectName()) + .eqIfPresent(PurchaseOrderMakeDO::getProjectNameSim, reqVO.getProjectNameSim()) + .orderByDesc(PurchaseOrderMakeDO::getId)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java new file mode 100644 index 0000000..22367dd --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java @@ -0,0 +1,54 @@ +package com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail; + +import java.util.*; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; +import org.apache.ibatis.annotations.Mapper; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.*; + +/** + * 采购单明细 Mapper + * + * @author 管理员 + */ +@Mapper +public interface PurchaseOrderMakeDetailMapper extends BaseMapperX { + + default PageResult selectPage(PurchaseOrderMakeDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PurchaseOrderMakeDetailDO::getPurchaseOrderId, reqVO.getPurchaseOrderId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getBoomDetailId, reqVO.getBoomDetailId()) + .likeIfPresent(PurchaseOrderMakeDetailDO::getBoomName, reqVO.getBoomName()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getBoomSpec, reqVO.getBoomSpec()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getBoomUnit, reqVO.getBoomUnit()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getComposition, reqVO.getComposition()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getPurchaseAmount, reqVO.getPurchaseAmount()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getEstimatedPrice, reqVO.getEstimatedPrice()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getActualPrice, reqVO.getActualPrice()) + .betweenIfPresent(PurchaseOrderMakeDetailDO::getArriveTime, reqVO.getArriveTime()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getDescription, reqVO.getDescription()) + .betweenIfPresent(PurchaseOrderMakeDetailDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getBoomAmount, reqVO.getBoomAmount()) + .betweenIfPresent(PurchaseOrderMakeDetailDO::getRequireTime, reqVO.getRequireTime()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getSupplierId, reqVO.getSupplierId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getProjectMaterialPlanId, reqVO.getProjectMaterialPlanId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getProjectMaterialPlanBoomId, reqVO.getProjectMaterialPlanBoomId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getProjectPlanSubId, reqVO.getProjectPlanSubId()) + .likeIfPresent(PurchaseOrderMakeDetailDO::getName, reqVO.getName()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getNameSim, reqVO.getNameSim()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getPurchaseOrderNoId, reqVO.getPurchaseOrderNoId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getPurchaseOrderNoDetailId, reqVO.getPurchaseOrderNoDetailId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getOrderStatus, reqVO.getOrderStatus()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getProjectSubCode, reqVO.getProjectSubCode()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getReceivingStatus, reqVO.getReceivingStatus()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getPurchaseNo, reqVO.getPurchaseNo()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getProcedureId, reqVO.getProcedureId()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getTheWeight, reqVO.getTheWeight()) + .eqIfPresent(PurchaseOrderMakeDetailDO::getDuEmpId, reqVO.getDuEmpId()) + .orderByDesc(PurchaseOrderMakeDetailDO::getId)); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java new file mode 100644 index 0000000..71cf11d --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java @@ -0,0 +1,9 @@ +package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder; + +/** + * 零件采购订单 Service 接口 + * + * @author 管理员 + */ +public class PartPurchaseOrderService { +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeService.java new file mode 100644 index 0000000..ecb74b2 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeService.java @@ -0,0 +1,55 @@ +package com.chanko.yunxi.mes.module.heli.service.purchaseordermake; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 采购单主 Service 接口 + * + * @author 管理员 + */ +public interface PurchaseOrderMakeService { + + /** + * 创建采购单主 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createPurchaseOrderMake(@Valid PurchaseOrderMakeSaveReqVO createReqVO); + + /** + * 更新采购单主 + * + * @param updateReqVO 更新信息 + */ + void updatePurchaseOrderMake(@Valid PurchaseOrderMakeSaveReqVO updateReqVO); + + /** + * 删除采购单主 + * + * @param id 编号 + */ + void deletePurchaseOrderMake(Long id); + + /** + * 获得采购单主 + * + * @param id 编号 + * @return 采购单主 + */ + PurchaseOrderMakeDO getPurchaseOrderMake(Long id); + + /** + * 获得采购单主分页 + * + * @param pageReqVO 分页查询 + * @return 采购单主分页 + */ + PageResult getPurchaseOrderMakePage(PurchaseOrderMakePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java new file mode 100644 index 0000000..e89822d --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermake/PurchaseOrderMakeServiceImpl.java @@ -0,0 +1,74 @@ +package com.chanko.yunxi.mes.module.heli.service.purchaseordermake; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 采购单主 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class PurchaseOrderMakeServiceImpl implements PurchaseOrderMakeService { + + @Resource + private PurchaseOrderMakeMapper purchaseOrderMakeMapper; + + @Override + public Long createPurchaseOrderMake(PurchaseOrderMakeSaveReqVO createReqVO) { + // 插入 + PurchaseOrderMakeDO purchaseOrderMake = BeanUtils.toBean(createReqVO, PurchaseOrderMakeDO.class); + purchaseOrderMakeMapper.insert(purchaseOrderMake); + // 返回 + return purchaseOrderMake.getId(); + } + + @Override + public void updatePurchaseOrderMake(PurchaseOrderMakeSaveReqVO updateReqVO) { + // 校验存在 + validatePurchaseOrderMakeExists(updateReqVO.getId()); + // 更新 + PurchaseOrderMakeDO updateObj = BeanUtils.toBean(updateReqVO, PurchaseOrderMakeDO.class); + purchaseOrderMakeMapper.updateById(updateObj); + } + + @Override + public void deletePurchaseOrderMake(Long id) { + // 校验存在 + validatePurchaseOrderMakeExists(id); + // 删除 + purchaseOrderMakeMapper.deleteById(id); + } + + private void validatePurchaseOrderMakeExists(Long id) { + if (purchaseOrderMakeMapper.selectById(id) == null) { + throw exception(PURCHASE_ORDER_MAKE_NOT_EXISTS); + } + } + + @Override + public PurchaseOrderMakeDO getPurchaseOrderMake(Long id) { + return purchaseOrderMakeMapper.selectById(id); + } + + @Override + public PageResult getPurchaseOrderMakePage(PurchaseOrderMakePageReqVO pageReqVO) { + return purchaseOrderMakeMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailService.java new file mode 100644 index 0000000..9af9f06 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailService.java @@ -0,0 +1,55 @@ +package com.chanko.yunxi.mes.module.heli.service.purchaseordermakedetail; + +import java.util.*; +import javax.validation.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; + +/** + * 采购单明细 Service 接口 + * + * @author 管理员 + */ +public interface PurchaseOrderMakeDetailService { + + /** + * 创建采购单明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createPurchaseOrderMakeDetail(@Valid PurchaseOrderMakeDetailSaveReqVO createReqVO); + + /** + * 更新采购单明细 + * + * @param updateReqVO 更新信息 + */ + void updatePurchaseOrderMakeDetail(@Valid PurchaseOrderMakeDetailSaveReqVO updateReqVO); + + /** + * 删除采购单明细 + * + * @param id 编号 + */ + void deletePurchaseOrderMakeDetail(Long id); + + /** + * 获得采购单明细 + * + * @param id 编号 + * @return 采购单明细 + */ + PurchaseOrderMakeDetailDO getPurchaseOrderMakeDetail(Long id); + + /** + * 获得采购单明细分页 + * + * @param pageReqVO 分页查询 + * @return 采购单明细分页 + */ + PageResult getPurchaseOrderMakeDetailPage(PurchaseOrderMakeDetailPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java new file mode 100644 index 0000000..61b88a2 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordermakedetail/PurchaseOrderMakeDetailServiceImpl.java @@ -0,0 +1,74 @@ +package com.chanko.yunxi.mes.module.heli.service.purchaseordermakedetail; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 采购单明细 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDetailService { + + @Resource + private PurchaseOrderMakeDetailMapper purchaseOrderMakeDetailMapper; + + @Override + public Long createPurchaseOrderMakeDetail(PurchaseOrderMakeDetailSaveReqVO createReqVO) { + // 插入 + PurchaseOrderMakeDetailDO purchaseOrderMakeDetail = BeanUtils.toBean(createReqVO, PurchaseOrderMakeDetailDO.class); + purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetail); + // 返回 + return purchaseOrderMakeDetail.getId(); + } + + @Override + public void updatePurchaseOrderMakeDetail(PurchaseOrderMakeDetailSaveReqVO updateReqVO) { + // 校验存在 + validatePurchaseOrderMakeDetailExists(updateReqVO.getId()); + // 更新 + PurchaseOrderMakeDetailDO updateObj = BeanUtils.toBean(updateReqVO, PurchaseOrderMakeDetailDO.class); + purchaseOrderMakeDetailMapper.updateById(updateObj); + } + + @Override + public void deletePurchaseOrderMakeDetail(Long id) { + // 校验存在 + validatePurchaseOrderMakeDetailExists(id); + // 删除 + purchaseOrderMakeDetailMapper.deleteById(id); + } + + private void validatePurchaseOrderMakeDetailExists(Long id) { + if (purchaseOrderMakeDetailMapper.selectById(id) == null) { + throw exception(PURCHASE_ORDER_MAKE_DETAIL_NOT_EXISTS); + } + } + + @Override + public PurchaseOrderMakeDetailDO getPurchaseOrderMakeDetail(Long id) { + return purchaseOrderMakeDetailMapper.selectById(id); + } + + @Override + public PageResult getPurchaseOrderMakeDetailPage(PurchaseOrderMakeDetailPageReqVO pageReqVO) { + return purchaseOrderMakeDetailMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermake/PurchaseOrderMakeMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermake/PurchaseOrderMakeMapper.xml new file mode 100644 index 0000000..2194cda --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermake/PurchaseOrderMakeMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.xml new file mode 100644 index 0000000..6940904 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts index 5a3df8d..1597c55 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts @@ -3,7 +3,7 @@ import request from '@/config/axios' -export interface MaterialPlanVO { +export interface PartPurchaseOrderVO { id: number projectMaterialPlanNo: string projectId: number @@ -18,5 +18,5 @@ export interface MaterialPlanVO { // 查询零件采购订单计划分页 export const getPartPage = async (params) => { - return await request.get({ url: `/heli/material-plan/getPartPage`, params }) + return await request.get({ url: `/heli/purchase-order-make/getPartPurchaseOrderPage`, params }) } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchaseorder/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchaseorder/index.vue index 21fffec..0b98652 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchaseorder/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchaseorder/index.vue @@ -53,8 +53,6 @@ @@ -75,13 +73,6 @@ - - - @@ -91,7 +82,7 @@ From 0410a72c5c04cf1d78edbe17dad64278c2ed7696 Mon Sep 17 00:00:00 2001 From: wb_zhanghaoyuan Date: Fri, 20 Jun 2025 18:56:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=9B=B6=E4=BB=B6=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrderMakeController.java | 5 ++++- .../vo/PartPurchaseOrderPageRespVO.java | 1 + .../PartPurchaseOrderService.java | 16 +++++++++++++++- .../PartPurchaseOrderServiceImpl.java | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java index 9e82b2a..e2f78b0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java @@ -1,6 +1,7 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.service.partpurchaseorder.PartPurchaseOrderService; import org.springframework.web.bind.annotation.*; @@ -100,9 +101,11 @@ public class PurchaseOrderMakeController { @GetMapping("/getPartPurchaseOrderPage") @Operation(summary = "获得零件采购订单生成分页") // @PreAuthorize("@ss.hasPermission('heli:material-plan:query')") - public CommonResult> getPartPurchaseOrderPage(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) { + public CommonResult> getPartPurchaseOrderPage(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) { // PageResult pageResult = materialPlanService.getPartPage(pageReqVO); // return success(pageResult); + + return null; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java index ae0a642..9b06eb5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/vo/PartPurchaseOrderPageRespVO.java @@ -50,4 +50,5 @@ public class PartPurchaseOrderPageRespVO { @Schema(description = "零件理论重量") @ExcelProperty("零件理论重量") private BigDecimal theWeight; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java index 71cf11d..0046d46 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java @@ -1,9 +1,23 @@ package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakePageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; + /** * 零件采购订单 Service 接口 * * @author 管理员 */ -public class PartPurchaseOrderService { +public interface PartPurchaseOrderService { + /** + * 获得零件采购订单生成分页 + * + * @param pageReqVO 分页查询 + * @return 零件采购订单生成分页 + */ + PageResult getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO); + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java new file mode 100644 index 0000000..a7f06fe --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java @@ -0,0 +1,18 @@ +package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder; + +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +@Service +@Validated +public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ + + + @Override + public PageResult getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) { + return null; + } +}