计划管理相关功能实现

This commit is contained in:
潘荣晟
2026-01-19 17:31:52 +08:00
parent bee606926a
commit 6602fcd6e3
36 changed files with 1559 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.contractorder.api;
import cn.hutool.extra.spring.SpringUtil;
import com.zt.plat.framework.common.exception.ErrorCode;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.contractorder.api.dto.order.*;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO;
@@ -183,6 +184,13 @@ public class OrderApiImpl implements OrderApi {
return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class));
}
@Override
public CommonResult<PageResult<OrderDTO>> queryOrderPlanData(OrderAndPlanDataReqDTO reqVO) {
PageResult<PurchaseOrderDO> pageResult = purchaseOrderService.queryOrderAndPlanData(reqVO);
List<OrderDTO> bean = BeanUtils.toBean(pageResult.getList(), OrderDTO.class);
return success(new PageResult<>(bean, pageResult.getTotal()));
}
private List<SalesOrderDO> getOrderByIds(List<Long> ids) {
return SpringUtil.getBean(SalesOrderMapper.class).selectByIds(ids); // 采购订单与销售订单的
}

View File

@@ -6,6 +6,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.contractorder.api.dto.order.OrderAndPlanDataReqDTO;
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;
@@ -71,4 +72,6 @@ public interface PurchaseOrderMapper extends BaseMapperX<PurchaseOrderDO> {
List<PurchaseOrderWithDetailsVO> selectOrderByIds(@Param("ids") List<Long> id);
PurchaseOrderDO selectByOrderId(@Param("orderId") Long orderId);
List<PurchaseOrderDO> queryOrderAndPlanData(OrderAndPlanDataReqDTO reqDTO);
}

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.contractorder.service.purchaseorder;
import java.util.*;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.contractorder.api.dto.order.OrderAndPlanDataReqDTO;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderSaveReqVO;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
@@ -145,4 +146,12 @@ public interface PurchaseOrderService {
* @return 订单详情
*/
List<PurchaseOrderDO> getOrdersByIds(List<String> ids);
/**
* 查询订单和计划数据
*
* @param reqDTO 查询条件
* @return 订单和计划数据
*/
PageResult<PurchaseOrderDO> queryOrderAndPlanData(OrderAndPlanDataReqDTO reqDTO);
}

View File

@@ -13,6 +13,7 @@ import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
import com.zt.plat.module.bpm.api.task.dto.*;
import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
import com.zt.plat.module.contractorder.api.dto.order.OrderAndPlanDataReqDTO;
import com.zt.plat.module.contractorder.api.vo.contract.ContractRespVO;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
import com.zt.plat.module.contractorder.dal.dataobject.contract.SystemRelativityDO;
@@ -698,6 +699,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
return purchaseOrderMapper.selectByIds(ids);
}
@Override
@Transactional(rollbackFor=Exception.class)
public boolean orderPassReject(PurchaseorderReqVO purchaseorderReqVO) {
@@ -788,4 +791,24 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
int number = (int) (Math.random() * 900000 + 100000);
return String.valueOf(number);
}
@Override
public PageResult<PurchaseOrderDO> queryOrderAndPlanData(OrderAndPlanDataReqDTO reqDTO) {
// 1. 查询所有符合条件的数据
List<PurchaseOrderDO> allData = purchaseOrderMapper.queryOrderAndPlanData(reqDTO);
// 2. 获取分页参数
Integer pageSize = reqDTO.getPageSize();
Integer pageNum = reqDTO.getPageNo();
// 3. 计算分页截取的起始/结束索引
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, allData.size());
// 4. 截取当前页数据(索引越界时返回空列表)
List<PurchaseOrderDO> pageData = startIndex >= allData.size()
? new ArrayList<>()
: allData.subList(startIndex, endIndex);
return new PageResult<>(pageData, (long) allData.size());
}
}