采購訂單export 選中

This commit is contained in:
XinanXf 2025-06-13 11:24:54 +08:00
parent 1683a83944
commit 657e4b5c53
7 changed files with 147 additions and 16 deletions

View File

@ -19,6 +19,7 @@ import com.lframework.xingyun.sc.bo.purchase.PurchaseOrderWithReceiveBo;
import com.lframework.xingyun.sc.bo.purchase.PurchaseProductBo;
import com.lframework.xingyun.sc.bo.purchase.QueryPurchaseOrderBo;
import com.lframework.xingyun.sc.bo.purchase.QueryPurchaseOrderWithReceiveBo;
import com.lframework.xingyun.sc.convert.QueryPurchaseOrderVoConverter;
import com.lframework.xingyun.sc.dto.purchase.PurchaseOrderFullDto;
import com.lframework.xingyun.sc.dto.purchase.PurchaseOrderWithReceiveDto;
import com.lframework.xingyun.sc.dto.purchase.PurchaseProductDto;
@ -31,15 +32,7 @@ import com.lframework.xingyun.sc.excel.purchase.PurchaseOrderPayTypeImportListen
import com.lframework.xingyun.sc.excel.purchase.PurchaseOrderPayTypeImportModel;
import com.lframework.xingyun.sc.service.purchase.PurchaseOrderService;
import com.lframework.xingyun.sc.service.sale.SaleOrderService;
import com.lframework.xingyun.sc.vo.purchase.ApprovePassPurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.ApproveRefusePurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.BatchApprovePassPurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.BatchApproveRefusePurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.CreatePurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.QueryPurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.QueryPurchaseOrderWithReceiveVo;
import com.lframework.xingyun.sc.vo.purchase.QueryPurchaseProductVo;
import com.lframework.xingyun.sc.vo.purchase.UpdatePurchaseOrderVo;
import com.lframework.xingyun.sc.vo.purchase.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@ -131,7 +124,7 @@ public class PurchaseOrderController extends DefaultBaseController {
@ApiOperation("导出")
@HasPermission({"purchase:order:export"})
@PostMapping("/export")
public void export(@Valid QueryPurchaseOrderVo vo) {
public void export(@Valid QueryPurchaseExportOrderVo vo) {
ExcelMultipartWriterSheetBuilder builder = ExcelUtil.multipartExportXls("采购单信息",
PurchaseOrderExportModel.class);
@ -139,8 +132,8 @@ public class PurchaseOrderController extends DefaultBaseController {
try {
int pageIndex = 1;
while (true) {
PageResult<PurchaseOrder> pageResult = purchaseOrderService.query(pageIndex,
getExportSize(), vo);
QueryPurchaseOrderVo convert = QueryPurchaseOrderVoConverter.convert(vo);
PageResult<PurchaseOrder> pageResult = purchaseOrderService.queryExport(pageIndex, getExportSize(), convert, vo.getOrderIds());
List<PurchaseOrder> datas = pageResult.getDatas();
List<PurchaseOrderExportModel> models = datas.stream().map(PurchaseOrderExportModel::new)
.collect(Collectors.toList());

View File

@ -0,0 +1,26 @@
package com.lframework.xingyun.sc.convert;
import com.lframework.xingyun.sc.vo.purchase.QueryPurchaseExportOrderVo;
import com.lframework.xingyun.sc.vo.purchase.QueryPurchaseOrderVo;
public class QueryPurchaseOrderVoConverter {
public static QueryPurchaseOrderVo convert(QueryPurchaseExportOrderVo exportVo) {
if (exportVo == null) {
return null;
}
QueryPurchaseOrderVo vo = new QueryPurchaseOrderVo();
vo.setCode(exportVo.getCode());
vo.setSupplierId(exportVo.getSupplierId());
vo.setScId(exportVo.getScId());
vo.setCreateBy(exportVo.getCreateBy());
vo.setCreateStartTime(exportVo.getCreateStartTime());
vo.setCreateEndTime(exportVo.getCreateEndTime());
vo.setApproveBy(exportVo.getApproveBy());
vo.setApproveStartTime(exportVo.getApproveStartTime());
vo.setApproveEndTime(exportVo.getApproveEndTime());
vo.setStatus(exportVo.getStatus());
vo.setPurchaserId(exportVo.getPurchaserId());
return vo;
}
}

View File

@ -109,10 +109,26 @@ public class PurchaseOrderServiceImpl extends BaseMpServiceImpl<PurchaseOrderMap
return PageResultUtil.convert(new PageInfo<>(datas));
}
@Override
public PageResult<PurchaseOrder> queryExport(int pageIndex, int pageSize, QueryPurchaseOrderVo vo, List<String> orderIds) {
Assert.greaterThanZero(pageIndex);
Assert.greaterThanZero(pageSize);
PageHelperUtil.startPage(pageIndex, pageSize);
List<PurchaseOrder> datas = this.query(vo, orderIds);
return PageResultUtil.convert(new PageInfo<>(datas));
}
public List<PurchaseOrder> query(QueryPurchaseOrderVo vo, List<String> orderIds) {
return getBaseMapper().query(vo, orderIds);
}
@Override
public List<PurchaseOrder> query(QueryPurchaseOrderVo vo) {
return getBaseMapper().query(vo);
return getBaseMapper().query(vo, null);
}
@Override

View File

@ -46,7 +46,7 @@ public interface PurchaseOrderMapper extends BaseMapper<PurchaseOrder> {
@DataPermissions(type = SysDataPermissionDataPermissionType.ORDER, value = {
@DataPermission(template = "order", alias = "o")
})
List<PurchaseOrder> query(@Param("vo") QueryPurchaseOrderVo vo);
List<PurchaseOrder> query(@Param("vo") QueryPurchaseOrderVo vo, @Param("orderIds") List<String> orderIds);
/**
* 根据ID查询

View File

@ -30,6 +30,9 @@ public interface PurchaseOrderService extends BaseMpService<PurchaseOrder> {
*/
PageResult<PurchaseOrder> query(Integer pageIndex, Integer pageSize, QueryPurchaseOrderVo vo);
PageResult<PurchaseOrder> queryExport(int pageIndex, int exportSize, QueryPurchaseOrderVo convert, List<String> orderIds);
/**
* 查询列表
*

View File

@ -0,0 +1,86 @@
package com.lframework.xingyun.sc.vo.purchase;
import com.lframework.starter.web.components.validation.IsEnum;
import com.lframework.starter.web.vo.SortPageVo;
import com.lframework.xingyun.sc.enums.PurchaseOrderStatus;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Data;
@Data
public class QueryPurchaseExportOrderVo extends SortPageVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty("订单Id列表")
private List<String> orderIds;
/**
* 单号
*/
@ApiModelProperty("单号")
private String code;
/**
* 供应商ID
*/
@ApiModelProperty("供应商ID")
private String supplierId;
/**
* 仓库ID
*/
@ApiModelProperty("仓库ID")
private String scId;
/**
* 操作人ID
*/
@ApiModelProperty("操作人ID")
private String createBy;
/**
* 操作起始时间
*/
@ApiModelProperty("操作起始时间")
private LocalDateTime createStartTime;
/**
* 操作截止时间
*/
@ApiModelProperty("操作截止时间")
private LocalDateTime createEndTime;
/**
* 审核人ID
*/
@ApiModelProperty("审核人ID")
private String approveBy;
/**
* 审核起始时间
*/
@ApiModelProperty("审核起始时间")
private LocalDateTime approveStartTime;
/**
* 审核截止时间
*/
@ApiModelProperty("审核截止时间")
private LocalDateTime approveEndTime;
/**
* 状态
*/
@ApiModelProperty("状态")
@IsEnum(message = "状态格式不正确!", enumClass = PurchaseOrderStatus.class)
private Integer status;
/**
* 采购员ID
*/
@ApiModelProperty("采购员ID")
private String purchaserId;
}

View File

@ -213,6 +213,13 @@
]]>
</if>
</if>
<if test="orderIds != null and !orderIds.isEmpty()">
AND o.id IN
<foreach item="id" collection="orderIds" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
ORDER BY o.create_time DESC
</select>