订单管理相关

This commit is contained in:
潘荣晟
2025-10-23 12:05:56 +08:00
parent a04df5982f
commit 5ab28b6f48
16 changed files with 142 additions and 48 deletions

View File

@@ -197,11 +197,14 @@ public class PurchaseOrderController implements BusinessControllerMarker {
//根据订单id和方式获取上或下游订单 //根据订单id和方式获取上或下游订单
@PostMapping("/order-by-order-id-and-type") @PostMapping("/order-by-order-id-and-type")
@Operation(summary = "根据订单id和方式获取上或下游订单") @Operation(summary = "根据订单id和方式获取上或下游订单")
public CommonResult<Map<String, Object>> getOrderByOrderIdAndType(@RequestBody DownOrUpOrderReqVO reqVO) { public CommonResult<List<DownOrUpOrderRespVO>> getOrderByOrderIdAndType(@RequestBody DownOrUpOrderReqVO reqVO) {
Map<String, Object> map = new HashMap<>(); return success( purchaseOrderService.getOrderByOrderIdAndType(reqVO));
map.put("unBindOrder", purchaseOrderService.getOrderByOrderIdAndType(reqVO));
map.put("bindOrder", purchaseOrderService.getBindOrderByOrder(reqVO));
return success(map);
} }
@PostMapping("/bound-order")
@Operation(summary = "获取已绑定的订单")
public CommonResult<List<PurchaseOrderRespVO>> boundOrder(@RequestBody DownOrUpOrderReqVO reqVO) {
return success(purchaseOrderService.getBindOrderByOrder(reqVO));
}
} }

View File

@@ -37,5 +37,11 @@ public class DownOrUpOrderRespVO {
@Schema(description = "合同号") @Schema(description = "合同号")
private String contractNumber; private String contractNumber;
/**
* 订单
*/
@Schema(description = "订单")
private PurchaseOrderRespVO order;
} }

View File

@@ -92,7 +92,7 @@ public class SalesOrderController implements BusinessControllerMarker {
if (salesOrderRespVO == null){ if (salesOrderRespVO == null){
return success(null); return success(null);
} }
// salesOrderService.setSalesOrderDetail(salesOrderRespVO);
return success(salesOrderRespVO); return success(salesOrderRespVO);
} }
@@ -101,9 +101,12 @@ public class SalesOrderController implements BusinessControllerMarker {
@PreAuthorize("@ss.hasPermission('base:sales-order:query')") @PreAuthorize("@ss.hasPermission('base:sales-order:query')")
public CommonResult<PageResult<SalesOrderRespVO>> getSalesOrderPage(@Valid SalesOrderPageReqVO pageReqVO) { public CommonResult<PageResult<SalesOrderRespVO>> getSalesOrderPage(@Valid SalesOrderPageReqVO pageReqVO) {
PageResult<SalesOrderDO> pageResult = salesOrderService.getSalesOrderPage(pageReqVO); PageResult<SalesOrderDO> pageResult = salesOrderService.getSalesOrderPage(pageReqVO);
PageResult<SalesOrderRespVO> purchaseOrderRespVOPageResult = BeanUtils.toBean(pageResult, SalesOrderRespVO.class); PageResult<SalesOrderRespVO> salesOrderRespVOPageResult = BeanUtils.toBean(pageResult, SalesOrderRespVO.class);
// purchaseOrderRespVOPageResult.getList().forEach(purchaseOrderRespVO -> salesOrderService.setOrderDetails(purchaseOrderRespVO)); if (salesOrderRespVOPageResult.getList() != null){
return success(purchaseOrderRespVOPageResult); salesOrderRespVOPageResult.getList().forEach(purchaseOrderRespVO -> salesOrderService.setSalesOrderDetail(purchaseOrderRespVO));
}
return success(salesOrderRespVOPageResult);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")

View File

@@ -115,4 +115,13 @@ public class SalesOrderDetailController implements BusinessControllerMarker {
BeanUtils.toBean(list, SalesOrderDetailRespVO.class)); BeanUtils.toBean(list, SalesOrderDetailRespVO.class));
} }
//通过销售订单主键获取销售订单明细
@GetMapping("/get-by-order-id")
@Operation(summary = "通过销售订单主键获取销售订单明细")
@PreAuthorize("@ss.hasPermission('base:sales-order-detail:query')")
public CommonResult<List<SalesOrderDetailRespVO>> getSalesOrderDetailByOrderId(@RequestParam("orderId") String orderId) {
return success(salesOrderDetailService.getSalesOrderDetailByOrderId(Long.valueOf(orderId)));
}
} }

View File

@@ -4,13 +4,14 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlRespVO; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlRespVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Schema(description = "管理后台 - 采购订单 Response VO") @Schema(description = "管理后台 - 销售订单 Response VO")
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class SalesOrderRespVO { public class SalesOrderRespVO {
@@ -47,12 +48,9 @@ public class SalesOrderRespVO {
@ExcelProperty("凭证日期;推送ERP必须") @ExcelProperty("凭证日期;推送ERP必须")
private LocalDateTime voucherDate; private LocalDateTime voucherDate;
@Schema(description = "采购组织编码;推送ERP必须", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("采购组织编码;推送ERP必须")
private String purchaseOrganizationCustomsDeclaration;
@Schema(description = "货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("货工厂名称") @ExcelProperty("货工厂名称")
private String receiveFactoryName; private String receiveFactoryName;
@Schema(description = "收货工厂编码;推送ERP必须", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "收货工厂编码;推送ERP必须", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -166,9 +164,9 @@ public class SalesOrderRespVO {
@ExcelProperty("采购组名称") @ExcelProperty("采购组名称")
private String purchaseGroupName; private String purchaseGroupName;
@Schema(description = "订单明细") @Schema(description = "销售订单明细")
@ExcelProperty("订单明细") @ExcelProperty("销售订单明细")
private List<PrchOrdDtlRespVO> prchOrdDtlRespVOS; private List<SalesOrderDetailRespVO> salesOrderDetailRespVOS;
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2") @Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
@ExcelProperty("物料类型(字典:MTRL_TP)") @ExcelProperty("物料类型(字典:MTRL_TP)")
@@ -198,4 +196,5 @@ public class SalesOrderRespVO {
@ExcelProperty(" 审批意见") @ExcelProperty(" 审批意见")
private String reviewOpinion; private String reviewOpinion;
} }

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.contractorder.controller.admin.salesorder.vo; package com.zt.plat.module.contractorder.controller.admin.salesorder.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlSaveReqVO; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
@@ -11,7 +12,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Schema(description = "管理后台 - 采购订单新增/修改 Request VO") @Schema(description = "管理后台 - 消费订单新增/修改 Request VO")
@Data @Data
public class SalesOrderSaveReqVO { public class SalesOrderSaveReqVO {
@@ -49,9 +50,6 @@ public class SalesOrderSaveReqVO {
@NotNull(message = "凭证日期;推送ERP必须不能为空") @NotNull(message = "凭证日期;推送ERP必须不能为空")
private LocalDateTime voucherDate; private LocalDateTime voucherDate;
@Schema(description = "采购组织编码;推送ERP必须", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "采购组织编码;推送ERP必须不能为空")
private String purchaseOrganizationCustomsDeclaration;
@Schema(description = "收货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "收货工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotEmpty(message = "收货工厂名称不能为空") @NotEmpty(message = "收货工厂名称不能为空")
@@ -69,9 +67,6 @@ public class SalesOrderSaveReqVO {
@NotEmpty(message = "收货库位编码;推送ERP不能为空") @NotEmpty(message = "收货库位编码;推送ERP不能为空")
private String receiveWarehouseNumber; 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) @Schema(description = "货币码(字典:CUR);推送ERP必须", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "货币码(字典:CUR);推送ERP必须不能为空") @NotEmpty(message = "货币码(字典:CUR);推送ERP必须不能为空")
@@ -137,8 +132,7 @@ public class SalesOrderSaveReqVO {
@NotEmpty(message = "ERP客商公司名称不能为空") @NotEmpty(message = "ERP客商公司名称不能为空")
private String erpSalesCompanyName; private String erpSalesCompanyName;
@Schema(description = "采购组织名称", example = "赵六")
private String purchaseOrganizationName;
@Schema(description = "ERP状态(字典: ERP_REQ_STS)", example = "2") @Schema(description = "ERP状态(字典: ERP_REQ_STS)", example = "2")
private String erpStatus; private String erpStatus;
@@ -149,11 +143,9 @@ public class SalesOrderSaveReqVO {
@Schema(description = "订单状态(字典:PRCH_ORD_STS)", example = "2") @Schema(description = "订单状态(字典:PRCH_ORD_STS)", example = "2")
private String status; private String status;
@Schema(description = "采购组名称", example = "张三")
private String purchaseGroupName;
@Schema(description = "订单明细") @Schema(description = "消费订单明细")
@ExcelProperty("订单明细") @ExcelProperty("消费订单明细")
private List<SalesOrderDetailSaveReqVO> salesOrderDetailSaveReqVOS; private List<SalesOrderDetailSaveReqVO> salesOrderDetailSaveReqVOS;
@@ -179,4 +171,19 @@ public class SalesOrderSaveReqVO {
@Schema(description = "订单分类", example = "2") @Schema(description = "订单分类", example = "2")
@ExcelProperty("订单分类") @ExcelProperty("订单分类")
private String splyBsnTp; private String splyBsnTp;
/**
* 销售组织编码
*
*/
@Schema(description = "销售组织编码", example = "2")
@ExcelProperty("销售组织编码")
private String saleOrgzCd;
/**
* 销售组织名称
*
*/
@Schema(description = "销售组织名称", example = "2")
@ExcelProperty("销售组织名称")
private String saleOrgzName;
} }

View File

@@ -8,7 +8,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
* 采购订单 DO * 消费订单 DO
* *
* @author 后台管理-1 * @author 后台管理-1
*/ */
@@ -256,13 +256,40 @@ public class SalesOrderDO extends BusinessBaseDO {
*/ */
@TableField("SPLY_BSN_TP") @TableField("SPLY_BSN_TP")
private String splyBsnTp; private String splyBsnTp;
/**
* 订单子分类
*
*/
@TableField("PDT_GRP_CDG") @TableField("PDT_GRP_CDG")
private String pdtGrpCdg; private String pdtGrpCdg;
/**
* 订单子分类名称
*
*/
@TableField("PDT_GRP_NAME") @TableField("PDT_GRP_NAME")
private String pdtGrpName; private String pdtGrpName;
/**
* 销售账户
*
*/
@TableField("SALE_ACS_CDG") @TableField("SALE_ACS_CDG")
private String saleAcsCdg; private String saleAcsCdg;
/**
* 销售账户名称
*
*/
@TableField("SALE_ACS_NAME") @TableField("SALE_ACS_NAME")
private String saleAcsName; private String saleAcsName;
/**
* 销售组织编码
*
*/
@TableField("SALE_ORGZ_CD")
private String saleOrgzCd;
/**
* 销售组织名称
*
*/
@TableField("SALE_ORGZ_NAME")
private String saleOrgzName;
} }

View File

@@ -153,6 +153,6 @@ public class SalesOrderDetailDO extends BusinessBaseDO {
* 税率 * 税率
*/ */
@TableField("TAX_RTE") @TableField("TAX_RTE")
private String taxRte; private BigDecimal taxRte;
} }

View File

@@ -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.PurchaseOrderPageReqVO;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseOrderWithDetailsVO; 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.purchaseorder.PurchaseOrderDO;
import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -56,7 +57,7 @@ public interface PurchaseOrderMapper extends BaseMapperX<PurchaseOrderDO> {
.likeIfPresent(PurchaseOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName()) .likeIfPresent(PurchaseOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName())
.likeIfPresent(PurchaseOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName()) .likeIfPresent(PurchaseOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName())
.eqIfPresent(PurchaseOrderDO::getErpStatus, reqVO.getErpStatus()) .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::getCause, reqVO.getCause())
.eqIfPresent(PurchaseOrderDO::getStatus, reqVO.getStatus()) .eqIfPresent(PurchaseOrderDO::getStatus, reqVO.getStatus())
.likeIfPresent(PurchaseOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName()) .likeIfPresent(PurchaseOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName())

View File

@@ -53,7 +53,7 @@ public interface SalesOrderMapper extends BaseMapperX<SalesOrderDO> {
.likeIfPresent(SalesOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName()) .likeIfPresent(SalesOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName())
.likeIfPresent(SalesOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName()) .likeIfPresent(SalesOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName())
.eqIfPresent(SalesOrderDO::getErpStatus, reqVO.getErpStatus()) .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::getCause, reqVO.getCause())
.eqIfPresent(SalesOrderDO::getStatus, reqVO.getStatus()) .eqIfPresent(SalesOrderDO::getStatus, reqVO.getStatus())
.likeIfPresent(SalesOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName()) .likeIfPresent(SalesOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName())

View File

@@ -115,7 +115,7 @@ public interface PurchaseOrderService {
List<DownOrUpOrderRespVO> getOrderByOrderIdAndType(DownOrUpOrderReqVO reqVO); List<DownOrUpOrderRespVO> getOrderByOrderIdAndType(DownOrUpOrderReqVO reqVO);
List<String> getBindOrderByOrder(DownOrUpOrderReqVO reqVO); List<PurchaseOrderRespVO> getBindOrderByOrder(DownOrUpOrderReqVO reqVO);
/** /**
* 关联订单;该接口仅供订单关联使用 * 关联订单;该接口仅供订单关联使用

View File

@@ -633,6 +633,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
downOrUpOrderRespVO.setContractId(String.valueOf(p.getId())); downOrUpOrderRespVO.setContractId(String.valueOf(p.getId()));
downOrUpOrderRespVO.setContractName(p.getContractName()); downOrUpOrderRespVO.setContractName(p.getContractName());
downOrUpOrderRespVO.setContractNumber(p.getContractNumber()); downOrUpOrderRespVO.setContractNumber(p.getContractNumber());
downOrUpOrderRespVO.setOrder(BeanUtils.toBean(p, PurchaseOrderRespVO.class));
orderList.add(downOrUpOrderRespVO); orderList.add(downOrUpOrderRespVO);
} }
); );
@@ -642,25 +643,23 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
} }
@Override @Override
public List<String> getBindOrderByOrder(DownOrUpOrderReqVO reqVO) { public List<PurchaseOrderRespVO> getBindOrderByOrder(DownOrUpOrderReqVO reqVO) {
List<String> orderList = new ArrayList<>(); List<PurchaseOrderRespVO> orderList = new ArrayList<>();
if ("up".equals(reqVO.getOrderType())) { if ("up".equals(reqVO.getOrderType())) {
log.info("获取上游订单"); log.info("获取上游订单");
//上游 //上游
List<SystemRelativityDO> systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getDownId, reqVO.getOrderId())); List<SystemRelativityDO> systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getDownId, reqVO.getOrderId()));
if (!systemRelativityDOS.isEmpty()) { if (!systemRelativityDOS.isEmpty()) {
systemRelativityDOS.forEach(systemRelativityDO -> { List<PurchaseOrderDO> purchaseOrderDOS = purchaseOrderMapper.selectByIds(systemRelativityDOS.stream().map(SystemRelativityDO::getUpId).toList());
orderList.add(systemRelativityDO.getUpId().toString()); orderList = BeanUtils.toBean(purchaseOrderDOS, PurchaseOrderRespVO.class);
});
} }
} else { } else {
//下游 //下游
log.info("获取下游订单"); log.info("获取下游订单");
List<SystemRelativityDO> systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getUpId, reqVO.getOrderId())); List<SystemRelativityDO> systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getUpId, reqVO.getOrderId()));
if (!systemRelativityDOS.isEmpty()) { if (!systemRelativityDOS.isEmpty()) {
systemRelativityDOS.forEach(systemRelativityDO -> { List<PurchaseOrderDO> purchaseOrderDOS = purchaseOrderMapper.selectByIds(systemRelativityDOS.stream().map(SystemRelativityDO::getDownId).toList());
orderList.add(systemRelativityDO.getDownId().toString()); orderList = BeanUtils.toBean(purchaseOrderDOS, PurchaseOrderRespVO.class);
});
} }
} }
return orderList; return orderList;

View File

@@ -80,6 +80,13 @@ public interface SalesOrderDetailService {
*/ */
void deleteSalesOrderDetailByOrderIds(List<Long> orderIds); void deleteSalesOrderDetailByOrderIds(List<Long> orderIds);
/**
* 根据订单主键查询订单明细
*
* @param orderId 订单主键
* @return 订单明细
*/
List<SalesOrderDetailRespVO> getSalesOrderDetailByOrderId(Long orderId);
} }

View File

@@ -18,7 +18,6 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.util.object.BeanUtils; 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.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.module.contractorder.enums.salesorder.ErrorCodeConstants.SALES_ORDER_DETAIL_NOT_EXISTS; 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 @Override
public void deleteSalesOrderDetailListByIds(List<Long> ids) { @Transactional(rollbackFor = Exception.class)
public void deleteSalesOrderDetailListByIds(List<Long> ids) {
// 校验存在 // 校验存在
validateSalesOrderDetailExists(ids); validateSalesOrderDetailExists(ids);
// 删除 // 删除
salesOrderDetailMapper.deleteByIds(ids); salesOrderDetailMapper.deleteByIds(ids);
} }
private void validateSalesOrderDetailExists(List<Long> ids) { private void validateSalesOrderDetailExists(List<Long> ids) {
List<SalesOrderDetailDO> list = salesOrderDetailMapper.selectByIds(ids); List<SalesOrderDetailDO> list = salesOrderDetailMapper.selectByIds(ids);
@@ -107,5 +107,10 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService {
salesOrderDetailMapper.deleteBatch(SalesOrderDetailDO::getOrderId, orderIds); salesOrderDetailMapper.deleteBatch(SalesOrderDetailDO::getOrderId, orderIds);
} }
@Override
public List<SalesOrderDetailRespVO> getSalesOrderDetailByOrderId(Long orderId) {
return BeanUtils.toBean( salesOrderDetailMapper.selectList(SalesOrderDetailDO::getOrderId, orderId), SalesOrderDetailRespVO.class);
}
} }

View File

@@ -62,4 +62,6 @@ public interface SalesOrderService {
*/ */
PageResult<SalesOrderDO> getSalesOrderPage(SalesOrderPageReqVO pageReqVO); PageResult<SalesOrderDO> getSalesOrderPage(SalesOrderPageReqVO pageReqVO);
void setSalesOrderDetail(SalesOrderRespVO salesOrderRespVO);
} }

View File

@@ -2,11 +2,13 @@ package com.zt.plat.module.contractorder.service.salesorder;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.SalesOrderPageReqVO;
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderRespVO; 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.controller.admin.salesorder.vo.SalesOrderSaveReqVO;
import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO; 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.contractorder.dal.mysql.salesorder.SalesOrderMapper;
import com.zt.plat.module.system.api.sequence.SequenceApi;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -34,12 +36,23 @@ public class SalesOrderServiceImpl implements SalesOrderService {
@Resource @Resource
private SalesOrderMapper salesOrderMapper; private SalesOrderMapper salesOrderMapper;
@Resource
private SalesOrderDetailService salesOrderDetailService;
@Resource
private SequenceApi sequenceApi;
@Override @Override
@Transactional @Transactional
public SalesOrderRespVO createSalesOrder(SalesOrderSaveReqVO createReqVO) { public SalesOrderRespVO createSalesOrder(SalesOrderSaveReqVO createReqVO) {
// 插入 // 插入
SalesOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, SalesOrderDO.class); SalesOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, SalesOrderDO.class);
//订单号
//生成订单号
String orderNumber = generateOrderNumber(purchaseOrder.getMtrlTp());
purchaseOrder.setSystemOrderNumber(orderNumber);
salesOrderMapper.insert(purchaseOrder); salesOrderMapper.insert(purchaseOrder);
// 返回 // 返回
return BeanUtils.toBean(purchaseOrder, SalesOrderRespVO.class); return BeanUtils.toBean(purchaseOrder, SalesOrderRespVO.class);
@@ -71,6 +84,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
validateSalesOrderExists(ids); validateSalesOrderExists(ids);
// 删除 // 删除
salesOrderMapper.deleteByIds(ids); salesOrderMapper.deleteByIds(ids);
//删除消费订单明细
salesOrderDetailService.deleteSalesOrderDetailByOrderIds(ids);
} }
private void validateSalesOrderExists(List<Long> ids) { private void validateSalesOrderExists(List<Long> ids) {
@@ -96,4 +111,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
return salesOrderMapper.selectPage(pageReqVO); return salesOrderMapper.selectPage(pageReqVO);
} }
@Override
public void setSalesOrderDetail(SalesOrderRespVO salesOrderRespVO) {
List<SalesOrderDetailRespVO> salesOrderDetailByOrderId = salesOrderDetailService.getSalesOrderDetailByOrderId(salesOrderRespVO.getId());
salesOrderRespVO.setSalesOrderDetailRespVOS(salesOrderDetailByOrderId);
}
private String generateOrderNumber(String materialType) {
return sequenceApi.getNextSequence("SALES_ORDER_NUMBER", null, null).getData();
}
} }