零件采购订单生成

This commit is contained in:
wb_zhanghaoyuan 2025-06-20 18:42:43 +08:00
parent bf5966f386
commit f75e13f58d
24 changed files with 1610 additions and 12 deletions

View File

@ -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, "任务报工不存在");

View File

@ -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<Long> createPurchaseOrderMake(@Valid @RequestBody PurchaseOrderMakeSaveReqVO createReqVO) {
return success(purchaseOrderMakeService.createPurchaseOrderMake(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新采购单主")
@PreAuthorize("@ss.hasPermission('heli:purchase-order-make:update')")
public CommonResult<Boolean> 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<Boolean> 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<PurchaseOrderMakeRespVO> 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<PageResult<PurchaseOrderMakeRespVO>> getPurchaseOrderMakePage(@Valid PurchaseOrderMakePageReqVO pageReqVO) {
PageResult<PurchaseOrderMakeDO> 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<PurchaseOrderMakeDO> 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<PageResult<PartPurchaseOrderPageRespVO>> getPartPurchaseOrderPage(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) {
// PageResult<TaskDispatchDetailDO> pageResult = materialPlanService.getPartPage(pageReqVO);
// return success(pageResult);
return null;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<Long> 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<Boolean> 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<Boolean> 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<PurchaseOrderMakeDetailRespVO> 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<PageResult<PurchaseOrderMakeDetailRespVO>> getPurchaseOrderMakeDetailPage(@Valid PurchaseOrderMakeDetailPageReqVO pageReqVO) {
PageResult<PurchaseOrderMakeDetailDO> 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<PurchaseOrderMakeDetailDO> list = purchaseOrderMakeDetailService.getPurchaseOrderMakeDetailPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "采购单明细.xls", "数据", PurchaseOrderMakeDetailRespVO.class,
BeanUtils.toBean(list, PurchaseOrderMakeDetailRespVO.class));
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 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;
}

View File

@ -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") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 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;
}

View File

@ -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<PurchaseOrderMakeDO> {
default PageResult<PurchaseOrderMakeDO> selectPage(PurchaseOrderMakePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PurchaseOrderMakeDO>()
.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));
}
}

View File

@ -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<PurchaseOrderMakeDetailDO> {
default PageResult<PurchaseOrderMakeDetailDO> selectPage(PurchaseOrderMakeDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<PurchaseOrderMakeDetailDO>()
.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));
}
}

View File

@ -0,0 +1,9 @@
package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder;
/**
* 零件采购订单 Service 接口
*
* @author 管理员
*/
public class PartPurchaseOrderService {
}

View File

@ -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<PurchaseOrderMakeDO> getPurchaseOrderMakePage(PurchaseOrderMakePageReqVO pageReqVO);
}

View File

@ -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<PurchaseOrderMakeDO> getPurchaseOrderMakePage(PurchaseOrderMakePageReqVO pageReqVO) {
return purchaseOrderMakeMapper.selectPage(pageReqVO);
}
}

View File

@ -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<PurchaseOrderMakeDetailDO> getPurchaseOrderMakeDetailPage(PurchaseOrderMakeDetailPageReqVO pageReqVO);
}

View File

@ -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<PurchaseOrderMakeDetailDO> getPurchaseOrderMakeDetailPage(PurchaseOrderMakeDetailPageReqVO pageReqVO) {
return purchaseOrderMakeDetailMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermake.PurchaseOrderMakeMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -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 })
}

View File

@ -53,8 +53,6 @@
<el-card class="hl-card-info">
<template #header>
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">采购单明细</span>
<el-button style="margin-left: 20px" @click="singleSubmissions()" type="success" size="large">批量订单生成</el-button>
<el-button style="margin-left: 20px" @click="withdraw()" type="danger" size="large">撤回</el-button>
</template>
<el-row>
<el-col>
@ -75,13 +73,6 @@
<el-table-column label="订单状态" align="center" prop="orderStatus" min-width="100" />
<el-table-column label="采购订单号" align="center" prop="purchaseNo" min-width="180" />
<el-table-column label="责任人" align="center" prop="duEmpId" min-width="100" />
<el-table-column label="操作" align="center" fixed="right" min-width="120">
<template #default="scope">
<el-button link type="primary" @click="singleSubmission(scope.row)">
订单生成
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
@ -91,7 +82,7 @@
</el-row>
</el-card>
<div class="hl-footer text-center">
<el-button style="margin-left: 18px" @click="singleSubmissions()" type="success" size="large">订单生成</el-button>
</div>
</el-card>
</template>