diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java index 339592c..f204982 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/PurchaseOrderController.java @@ -197,11 +197,14 @@ public class PurchaseOrderController implements BusinessControllerMarker { //根据订单id和方式获取上或下游订单 @PostMapping("/order-by-order-id-and-type") @Operation(summary = "根据订单id和方式获取上或下游订单") - public CommonResult> getOrderByOrderIdAndType(@RequestBody DownOrUpOrderReqVO reqVO) { - Map map = new HashMap<>(); - map.put("unBindOrder", purchaseOrderService.getOrderByOrderIdAndType(reqVO)); - map.put("bindOrder", purchaseOrderService.getBindOrderByOrder(reqVO)); - return success(map); + public CommonResult> getOrderByOrderIdAndType(@RequestBody DownOrUpOrderReqVO reqVO) { + return success( purchaseOrderService.getOrderByOrderIdAndType(reqVO)); } + + @PostMapping("/bound-order") + @Operation(summary = "获取已绑定的订单") + public CommonResult> boundOrder(@RequestBody DownOrUpOrderReqVO reqVO) { + return success(purchaseOrderService.getBindOrderByOrder(reqVO)); + } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/DownOrUpOrderRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/DownOrUpOrderRespVO.java index 01f8a93..3f8b114 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/DownOrUpOrderRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/purchaseorder/vo/DownOrUpOrderRespVO.java @@ -37,5 +37,11 @@ public class DownOrUpOrderRespVO { @Schema(description = "合同号") private String contractNumber; + /** + * 订单 + */ + @Schema(description = "订单") + private PurchaseOrderRespVO order; + } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java index 02cff48..918451e 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderController.java @@ -92,7 +92,7 @@ public class SalesOrderController implements BusinessControllerMarker { if (salesOrderRespVO == null){ return success(null); } - // + salesOrderService.setSalesOrderDetail(salesOrderRespVO); return success(salesOrderRespVO); } @@ -101,9 +101,12 @@ public class SalesOrderController implements BusinessControllerMarker { @PreAuthorize("@ss.hasPermission('base:sales-order:query')") public CommonResult> getSalesOrderPage(@Valid SalesOrderPageReqVO pageReqVO) { PageResult pageResult = salesOrderService.getSalesOrderPage(pageReqVO); - PageResult purchaseOrderRespVOPageResult = BeanUtils.toBean(pageResult, SalesOrderRespVO.class); - // purchaseOrderRespVOPageResult.getList().forEach(purchaseOrderRespVO -> salesOrderService.setOrderDetails(purchaseOrderRespVO)); - return success(purchaseOrderRespVOPageResult); + PageResult salesOrderRespVOPageResult = BeanUtils.toBean(pageResult, SalesOrderRespVO.class); + if (salesOrderRespVOPageResult.getList() != null){ + salesOrderRespVOPageResult.getList().forEach(purchaseOrderRespVO -> salesOrderService.setSalesOrderDetail(purchaseOrderRespVO)); + } + + return success(salesOrderRespVOPageResult); } @GetMapping("/export-excel") diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderDetailController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderDetailController.java index 823305c..f284032 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderDetailController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/SalesOrderDetailController.java @@ -115,4 +115,13 @@ public class SalesOrderDetailController implements BusinessControllerMarker { BeanUtils.toBean(list, SalesOrderDetailRespVO.class)); } + //通过销售订单主键获取销售订单明细 + @GetMapping("/get-by-order-id") + @Operation(summary = "通过销售订单主键获取销售订单明细") + @PreAuthorize("@ss.hasPermission('base:sales-order-detail:query')") + public CommonResult> getSalesOrderDetailByOrderId(@RequestParam("orderId") String orderId) { + + return success(salesOrderDetailService.getSalesOrderDetailByOrderId(Long.valueOf(orderId))); + } + } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderRespVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderRespVO.java index f85582b..2a4457e 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderRespVO.java @@ -4,13 +4,14 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlRespVO; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; -@Schema(description = "管理后台 - 采购订单 Response VO") +@Schema(description = "管理后台 - 销售订单 Response VO") @Data @ExcelIgnoreUnannotated public class SalesOrderRespVO { @@ -47,12 +48,9 @@ public class SalesOrderRespVO { @ExcelProperty("凭证日期;推送ERP(必须)") private LocalDateTime voucherDate; - @Schema(description = "采购组织编码;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("采购组织编码;推送ERP(必须)") - private String purchaseOrganizationCustomsDeclaration; - @Schema(description = "收货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @ExcelProperty("收货工厂名称") + @Schema(description = "发货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("发货工厂名称") private String receiveFactoryName; @Schema(description = "收货工厂编码;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) @@ -166,9 +164,9 @@ public class SalesOrderRespVO { @ExcelProperty("采购组名称") private String purchaseGroupName; - @Schema(description = "订单明细") - @ExcelProperty("订单明细") - private List prchOrdDtlRespVOS; + @Schema(description = "销售订单明细") + @ExcelProperty("销售订单明细") + private List salesOrderDetailRespVOS; @Schema(description = "物料类型(字典:MTRL_TP)", example = "2") @ExcelProperty("物料类型(字典:MTRL_TP)") @@ -198,4 +196,5 @@ public class SalesOrderRespVO { @ExcelProperty(" 审批意见") private String reviewOpinion; + } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderSaveReqVO.java index ade2eae..0d531fb 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/salesorder/vo/SalesOrderSaveReqVO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.contractorder.controller.admin.salesorder.vo; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlSaveReqVO; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; @@ -11,7 +12,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; -@Schema(description = "管理后台 - 采购订单新增/修改 Request VO") +@Schema(description = "管理后台 - 消费订单新增/修改 Request VO") @Data public class SalesOrderSaveReqVO { @@ -49,9 +50,6 @@ public class SalesOrderSaveReqVO { @NotNull(message = "凭证日期;推送ERP(必须)不能为空") private LocalDateTime voucherDate; - @Schema(description = "采购组织编码;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "采购组织编码;推送ERP(必须)不能为空") - private String purchaseOrganizationCustomsDeclaration; @Schema(description = "收货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "收货工厂名称不能为空") @@ -69,9 +67,6 @@ public class SalesOrderSaveReqVO { @NotEmpty(message = "收货库位编码;推送ERP不能为空") private String receiveWarehouseNumber; - @Schema(description = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "采购组编码(字典:PRCH_GRP_TP);推送ERP(必须)不能为空") - private String purchaseGroup; @Schema(description = "货币码(字典:CUR);推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "货币码(字典:CUR);推送ERP(必须)不能为空") @@ -137,8 +132,7 @@ public class SalesOrderSaveReqVO { @NotEmpty(message = "ERP客商公司名称不能为空") private String erpSalesCompanyName; - @Schema(description = "采购组织名称", example = "赵六") - private String purchaseOrganizationName; + @Schema(description = "ERP状态(字典: ERP_REQ_STS)", example = "2") private String erpStatus; @@ -149,11 +143,9 @@ public class SalesOrderSaveReqVO { @Schema(description = "订单状态(字典:PRCH_ORD_STS)", example = "2") private String status; - @Schema(description = "采购组名称", example = "张三") - private String purchaseGroupName; - @Schema(description = "订单明细") - @ExcelProperty("订单明细") + @Schema(description = "消费订单明细") + @ExcelProperty("消费订单明细") private List salesOrderDetailSaveReqVOS; @@ -179,4 +171,19 @@ public class SalesOrderSaveReqVO { @Schema(description = "订单分类", example = "2") @ExcelProperty("订单分类") private String splyBsnTp; + + /** + * 销售组织编码 + * + */ + @Schema(description = "销售组织编码", example = "2") + @ExcelProperty("销售组织编码") + private String saleOrgzCd; + /** + * 销售组织名称 + * + */ + @Schema(description = "销售组织名称", example = "2") + @ExcelProperty("销售组织名称") + private String saleOrgzName; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDO.java index cf915da..7f4f674 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDO.java @@ -8,7 +8,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; /** -* 采购订单 DO +* 消费订单 DO * * @author 后台管理-1 */ @@ -256,13 +256,40 @@ public class SalesOrderDO extends BusinessBaseDO { */ @TableField("SPLY_BSN_TP") private String splyBsnTp; - + /** + * 订单子分类 + * + */ @TableField("PDT_GRP_CDG") private String pdtGrpCdg; + /** + * 订单子分类名称 + * + */ @TableField("PDT_GRP_NAME") private String pdtGrpName; + /** + * 销售账户 + * + */ @TableField("SALE_ACS_CDG") private String saleAcsCdg; + /** + * 销售账户名称 + * + */ @TableField("SALE_ACS_NAME") private String saleAcsName; + /** + * 销售组织编码 + * + */ + @TableField("SALE_ORGZ_CD") + private String saleOrgzCd; + /** + * 销售组织名称 + * + */ + @TableField("SALE_ORGZ_NAME") + private String saleOrgzName; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDetailDO.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDetailDO.java index 0ea6703..cb1e6ff 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDetailDO.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/dataobject/salesorder/SalesOrderDetailDO.java @@ -153,6 +153,6 @@ public class SalesOrderDetailDO extends BusinessBaseDO { * 税率 */ @TableField("TAX_RTE") - private String taxRte; + private BigDecimal taxRte; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/purchaseorder/PurchaseOrderMapper.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/purchaseorder/PurchaseOrderMapper.java index 44865af..1885696 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/purchaseorder/PurchaseOrderMapper.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/purchaseorder/PurchaseOrderMapper.java @@ -9,6 +9,7 @@ import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseOrderPageReqVO; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseOrderWithDetailsVO; import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO; +import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -56,7 +57,7 @@ public interface PurchaseOrderMapper extends BaseMapperX { .likeIfPresent(PurchaseOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName()) .likeIfPresent(PurchaseOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName()) .eqIfPresent(PurchaseOrderDO::getErpStatus, reqVO.getErpStatus()) - .eqIfPresent(PurchaseOrderDO::getSplyBsnTp, reqVO.getSplyBsnTp()) + .eqIfPresent(PurchaseOrderDO::getSplyBsnTp, reqVO.getSplyBsnTp()!=null?reqVO.getSplyBsnTp():"PUR") .eqIfPresent(PurchaseOrderDO::getCause, reqVO.getCause()) .eqIfPresent(PurchaseOrderDO::getStatus, reqVO.getStatus()) .likeIfPresent(PurchaseOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName()) diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/salesorder/SalesOrderMapper.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/salesorder/SalesOrderMapper.java index a372de7..c2f0b47 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/salesorder/SalesOrderMapper.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/dal/mysql/salesorder/SalesOrderMapper.java @@ -53,7 +53,7 @@ public interface SalesOrderMapper extends BaseMapperX { .likeIfPresent(SalesOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName()) .likeIfPresent(SalesOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName()) .eqIfPresent(SalesOrderDO::getErpStatus, reqVO.getErpStatus()) - .eqIfPresent(SalesOrderDO::getSplyBsnTp, reqVO.getSplyBsnTp()) + .eqIfPresent(SalesOrderDO::getSplyBsnTp, reqVO.getSplyBsnTp()!=null?reqVO.getSplyBsnTp():"SALE") .eqIfPresent(SalesOrderDO::getCause, reqVO.getCause()) .eqIfPresent(SalesOrderDO::getStatus, reqVO.getStatus()) .likeIfPresent(SalesOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName()) diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java index 34cb420..74f6e71 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderService.java @@ -115,7 +115,7 @@ public interface PurchaseOrderService { List getOrderByOrderIdAndType(DownOrUpOrderReqVO reqVO); - List getBindOrderByOrder(DownOrUpOrderReqVO reqVO); + List getBindOrderByOrder(DownOrUpOrderReqVO reqVO); /** * 关联订单;该接口仅供订单关联使用 diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java index aa78b12..7681b59 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/purchaseorder/PurchaseOrderServiceImpl.java @@ -633,6 +633,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { downOrUpOrderRespVO.setContractId(String.valueOf(p.getId())); downOrUpOrderRespVO.setContractName(p.getContractName()); downOrUpOrderRespVO.setContractNumber(p.getContractNumber()); + downOrUpOrderRespVO.setOrder(BeanUtils.toBean(p, PurchaseOrderRespVO.class)); orderList.add(downOrUpOrderRespVO); } ); @@ -642,25 +643,23 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { } @Override - public List getBindOrderByOrder(DownOrUpOrderReqVO reqVO) { - List orderList = new ArrayList<>(); + public List getBindOrderByOrder(DownOrUpOrderReqVO reqVO) { + List orderList = new ArrayList<>(); if ("up".equals(reqVO.getOrderType())) { log.info("获取上游订单"); //上游 List systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper().eq(SystemRelativityDO::getDownId, reqVO.getOrderId())); if (!systemRelativityDOS.isEmpty()) { - systemRelativityDOS.forEach(systemRelativityDO -> { - orderList.add(systemRelativityDO.getUpId().toString()); - }); + List purchaseOrderDOS = purchaseOrderMapper.selectByIds(systemRelativityDOS.stream().map(SystemRelativityDO::getUpId).toList()); + orderList = BeanUtils.toBean(purchaseOrderDOS, PurchaseOrderRespVO.class); } } else { //下游 log.info("获取下游订单"); List systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper().eq(SystemRelativityDO::getUpId, reqVO.getOrderId())); if (!systemRelativityDOS.isEmpty()) { - systemRelativityDOS.forEach(systemRelativityDO -> { - orderList.add(systemRelativityDO.getDownId().toString()); - }); + List purchaseOrderDOS = purchaseOrderMapper.selectByIds(systemRelativityDOS.stream().map(SystemRelativityDO::getDownId).toList()); + orderList = BeanUtils.toBean(purchaseOrderDOS, PurchaseOrderRespVO.class); } } return orderList; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailService.java index 1fe03e8..7901380 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailService.java @@ -80,6 +80,13 @@ public interface SalesOrderDetailService { */ void deleteSalesOrderDetailByOrderIds(List orderIds); + /** + * 根据订单主键查询订单明细 + * + * @param orderId 订单主键 + * @return 订单明细 + */ + List getSalesOrderDetailByOrderId(Long orderId); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java index 9523d68..0639e06 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java @@ -18,7 +18,6 @@ import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.util.object.BeanUtils; - import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.module.contractorder.enums.salesorder.ErrorCodeConstants.SALES_ORDER_DETAIL_NOT_EXISTS; @@ -71,12 +70,13 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService { } @Override - public void deleteSalesOrderDetailListByIds(List ids) { + @Transactional(rollbackFor = Exception.class) + public void deleteSalesOrderDetailListByIds(List ids) { // 校验存在 validateSalesOrderDetailExists(ids); // 删除 salesOrderDetailMapper.deleteByIds(ids); - } + } private void validateSalesOrderDetailExists(List ids) { List list = salesOrderDetailMapper.selectByIds(ids); @@ -107,5 +107,10 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService { salesOrderDetailMapper.deleteBatch(SalesOrderDetailDO::getOrderId, orderIds); } + @Override + public List getSalesOrderDetailByOrderId(Long orderId) { + return BeanUtils.toBean( salesOrderDetailMapper.selectList(SalesOrderDetailDO::getOrderId, orderId), SalesOrderDetailRespVO.class); + } + } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java index 2f17584..1b26864 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderService.java @@ -62,4 +62,6 @@ public interface SalesOrderService { */ PageResult getSalesOrderPage(SalesOrderPageReqVO pageReqVO); + void setSalesOrderDetail(SalesOrderRespVO salesOrderRespVO); + } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java index 8e4dbf0..30d24f8 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderServiceImpl.java @@ -2,11 +2,13 @@ package com.zt.plat.module.contractorder.service.salesorder; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderDetailRespVO; import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderPageReqVO; import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderRespVO; import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderSaveReqVO; import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO; import com.zt.plat.module.contractorder.dal.mysql.salesorder.SalesOrderMapper; +import com.zt.plat.module.system.api.sequence.SequenceApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.transaction.annotation.Transactional; @@ -34,12 +36,23 @@ public class SalesOrderServiceImpl implements SalesOrderService { @Resource private SalesOrderMapper salesOrderMapper; + @Resource + private SalesOrderDetailService salesOrderDetailService; + + + @Resource + private SequenceApi sequenceApi; + @Override @Transactional public SalesOrderRespVO createSalesOrder(SalesOrderSaveReqVO createReqVO) { // 插入 SalesOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, SalesOrderDO.class); + //订单号 + //生成订单号 + String orderNumber = generateOrderNumber(purchaseOrder.getMtrlTp()); + purchaseOrder.setSystemOrderNumber(orderNumber); salesOrderMapper.insert(purchaseOrder); // 返回 return BeanUtils.toBean(purchaseOrder, SalesOrderRespVO.class); @@ -71,6 +84,8 @@ public class SalesOrderServiceImpl implements SalesOrderService { validateSalesOrderExists(ids); // 删除 salesOrderMapper.deleteByIds(ids); + //删除消费订单明细 + salesOrderDetailService.deleteSalesOrderDetailByOrderIds(ids); } private void validateSalesOrderExists(List ids) { @@ -96,4 +111,15 @@ public class SalesOrderServiceImpl implements SalesOrderService { return salesOrderMapper.selectPage(pageReqVO); } + @Override + public void setSalesOrderDetail(SalesOrderRespVO salesOrderRespVO) { + List salesOrderDetailByOrderId = salesOrderDetailService.getSalesOrderDetailByOrderId(salesOrderRespVO.getId()); + salesOrderRespVO.setSalesOrderDetailRespVOS(salesOrderDetailByOrderId); + } + + + private String generateOrderNumber(String materialType) { + return sequenceApi.getNextSequence("SALES_ORDER_NUMBER", null, null).getData(); + } + }