Browse Source

待签收列表导出订单、包件

pull/4/head
汤建军 1 year ago
parent
commit
43fae7c475
  1. 39
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
  2. 125
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforOrderExcel.java
  3. 163
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforPackageExcel.java
  4. 16
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java
  5. 55
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

39
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java

@ -29,7 +29,9 @@ import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO;
import com.logpm.distribution.entity.DistributionSignPrintEntity; import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity; import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel; import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOrderExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel; import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.excel.DistributionSignforPackageExcel;
import com.logpm.distribution.service.IDistributionAsyncService; import com.logpm.distribution.service.IDistributionAsyncService;
import com.logpm.distribution.service.IDistributionDeliveryListService; import com.logpm.distribution.service.IDistributionDeliveryListService;
import com.logpm.distribution.service.IDistributionReservationService; import com.logpm.distribution.service.IDistributionReservationService;
@ -149,6 +151,8 @@ public class DistributionSignforController extends BladeController {
} }
/** /**
* 签收详情包件信息 * 签收详情包件信息
*/ */
@ -338,6 +342,41 @@ public class DistributionSignforController extends BladeController {
return R.status(distributionSignforService.deleteLogic(Func.toLongList(ids))); return R.status(distributionSignforService.deleteLogic(Func.toLongList(ids)));
} }
/**
* 签收详情包件信息
*/
@PostMapping("/export-distributionSignforPackageList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "导出预约包件列表", notes = "传入distributionSignfor")
public void exportDistributionSignforPackageList(@RequestBody Map<String,Object> map, HttpServletResponse response) {
String method = "exportDistributionSignforPackageList";
if (Func.isEmpty(map.get("signforId"))){
log.info(method+ " signforId is null");
}
String signforId = (String) map.get("signforId");
// List<DistributionParcelListVO> distributionSignforsnmbVO= distributionSignforService.signforPackageList(signforId);
List<DistributionSignforPackageExcel> distributionSignfor = distributionSignforService.exportDistributionSignforPackageList(Long.parseLong(signforId));
ExcelUtil.export(response, "签收管理数据" + DateUtil.time(), "待签收管理数据表", distributionSignfor, DistributionSignforPackageExcel.class);
}
/**
* 签收详情包件信息
*/
@PostMapping("/export-distributionSignforOrderList")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "导出预约包件列表", notes = "传入distributionSignfor")
public void exportDistributionSignforOrderList(@RequestBody Map<String,Object> map, HttpServletResponse response) {
// List<DistributionParcelListVO> distributionSignforsnmbVO= distributionSignforService.signforPackageList(signforId);
String method = "exportDistributionSignforPackageList";
if (Func.isEmpty(map.get("signforId"))){
log.info(method+ " signforId is null");
}
String signforId = (String) map.get("signforId");
List<DistributionSignforOrderExcel> distributionSignfor = distributionSignforService.exportDistributionSignforOrderList(Long.parseLong(signforId));
ExcelUtil.export(response, "签收管理数据" + DateUtil.time(), "待签收管理数据表", distributionSignfor, DistributionSignforOrderExcel.class);
}
/** /**
* 导出数据 * 导出数据

125
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforOrderExcel.java

@ -0,0 +1,125 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 签收导出包件Excel实体
*
* @author cyz
* @since 2023-06-13
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class DistributionSignforOrderExcel implements Serializable {
private static final long serialVersionUID = 1L;
@ColumnWidth(20)
@ExcelProperty("运单号")
private String waybillNumber;
@ColumnWidth(20)
@ExcelProperty("服务号")
private String serviceNumber;
@ColumnWidth(20)
@ExcelProperty("订单自编号")
private String orderCode;
@ColumnWidth(20)
@ExcelProperty("仓库")
private String warehouse;
@ColumnWidth(20)
@ExcelProperty("总数量")
private Integer totalNumber;
@ColumnWidth(20)
@ExcelProperty("在库数量")
private Integer handQuantity;
@ColumnWidth(20)
@ExcelProperty("计划数量")
private Integer reservationNum;
@ColumnWidth(20)
@ExcelProperty("装车数量")
private Integer loadingNumber;
@ColumnWidth(20)
@ExcelProperty("签收数量")
private Integer signinQuantity;
@ColumnWidth(20)
@ExcelProperty("品牌")
private String brand;
@ColumnWidth(20)
@ExcelProperty("收货单位")
private String consigneeUnit;
@ColumnWidth(20)
@ExcelProperty("商场名称")
private String mallName;
@ColumnWidth(20)
@ExcelProperty("门店名称")
private String storeName;
@ColumnWidth(20)
@ExcelProperty("运单收货人")
private String consigneePerson;
@ColumnWidth(20)
@ExcelProperty("运单收货地址")
private String consigneeAddress;
@ColumnWidth(20)
@ExcelProperty("运单收货电话")
private String consigneeMobile;
@ColumnWidth(20)
@ExcelProperty("终端收货人")
private String customerName;
@ColumnWidth(20)
@ExcelProperty("终端收货地址")
private String customerAddress;
@ColumnWidth(20)
@ExcelProperty("终端收货电话")
private String customerTelephone;
}

163
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionSignforPackageExcel.java

@ -0,0 +1,163 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package com.logpm.distribution.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 签收导出包件Excel实体
*
* @author cyz
* @since 2023-06-13
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class DistributionSignforPackageExcel implements Serializable {
private static final long serialVersionUID = 1L;
@ColumnWidth(20)
@ExcelProperty("运单号")
private String waybillNumber;
@ColumnWidth(20)
@ExcelProperty("服务号")
private String serviceNumber;
@ColumnWidth(20)
@ExcelProperty("订单自编号")
private String orderCode;
@ColumnWidth(20)
@ExcelProperty("包条码")
private String orderPackageCode;
@ColumnWidth(20)
@ExcelProperty("仓库")
private String warehouse;
@ColumnWidth(20)
@ExcelProperty("发站仓")
private String sendWarehouseName;
@ColumnWidth(20)
@ExcelProperty("目的仓")
private String acceptWarehouseName;
@ColumnWidth(20)
@ExcelProperty("入库时间")
private Date createTime;
@ColumnWidth(20)
@ExcelProperty("入库车次")
private String trainNumber;
@ColumnWidth(20)
@ExcelProperty("包件类型")
private String conditions;
@ColumnWidth(20)
@ExcelProperty("一级品")
private String firsts;
@ColumnWidth(20)
@ExcelProperty("二级品")
private String second;
@ColumnWidth(20)
@ExcelProperty("三级品")
private String thirdProduct;
@ColumnWidth(20)
@ExcelProperty("当前状态")
private String orderPackageStatusName;
@ColumnWidth(20)
@ExcelProperty("冻结状态")
private String orderPackageFreezeStatusName;
@ColumnWidth(20)
@ExcelProperty("备货状态")
private String orderPackageStockupStatusName;
@ColumnWidth(20)
@ExcelProperty("预约状态")
private String orderPackageReservationStatusName;
@ColumnWidth(20)
@ExcelProperty("装车状态")
private String orderPackageLoadingStatusName;
@ColumnWidth(20)
@ExcelProperty("计划数量")
private Integer reservationNum;
@ColumnWidth(20)
@ExcelProperty("装车数量")
private Integer loadingNub;
@ColumnWidth(20)
@ExcelProperty("签收数量")
private Integer signingNub;
@ColumnWidth(20)
@ExcelProperty("装车方式")
private String scanStatus;
@ColumnWidth(20)
@ExcelProperty("计划装车人")
private String driverName;
@ColumnWidth(20)
@ExcelProperty("实际装车人")
private String scanUser;
@ColumnWidth(20)
@ExcelProperty("装车时间")
private String loadingTime;
@ColumnWidth(20)
@ExcelProperty("签收人")
private String signingUser;
@ColumnWidth(20)
@ExcelProperty("签收时间")
private String signingTime;
// @ColumnWidth(20)
// @ExcelProperty("装车时间")
// private String warehouse;
//
// @ColumnWidth(20)
// @ExcelProperty("签收人")
// private String warehouse;
}

16
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java

@ -26,7 +26,9 @@ import com.logpm.distribution.entity.DistributionReservationEntity;
import com.logpm.distribution.entity.DistributionSignPrintEntity; import com.logpm.distribution.entity.DistributionSignPrintEntity;
import com.logpm.distribution.entity.DistributionSignforEntity; import com.logpm.distribution.entity.DistributionSignforEntity;
import com.logpm.distribution.excel.DistributionSignforExcel; import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOrderExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel; import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.excel.DistributionSignforPackageExcel;
import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.*;
import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO; import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO;
import com.logpm.distribution.vo.app.DistributionAppParcelListVO; import com.logpm.distribution.vo.app.DistributionAppParcelListVO;
@ -305,4 +307,18 @@ public interface IDistributionSignforService extends BaseService<DistributionSig
* @return * @return
*/ */
R deliverySingleZeroPackage(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO); R deliverySingleZeroPackage(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO);
/**
* 待签收页面导出包件详情
* @param signforId
* @return
*/
List<DistributionSignforPackageExcel> exportDistributionSignforPackageList(Long signforId);
/**
* 待签收订单导出
* @param signforId
* @return
*/
List<DistributionSignforOrderExcel> exportDistributionSignforOrderList(Long signforId);
} }

55
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -35,7 +35,9 @@ import com.logpm.distribution.dto.*;
import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO;
import com.logpm.distribution.entity.*; import com.logpm.distribution.entity.*;
import com.logpm.distribution.excel.DistributionSignforExcel; import com.logpm.distribution.excel.DistributionSignforExcel;
import com.logpm.distribution.excel.DistributionSignforOrderExcel;
import com.logpm.distribution.excel.DistributionSignforOwnExcel; import com.logpm.distribution.excel.DistributionSignforOwnExcel;
import com.logpm.distribution.excel.DistributionSignforPackageExcel;
import com.logpm.distribution.mapper.*; import com.logpm.distribution.mapper.*;
import com.logpm.distribution.service.*; import com.logpm.distribution.service.*;
import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.*;
@ -1192,6 +1194,59 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
} }
/**
* @param signforId
* @return
*/
@Override
public List<DistributionSignforPackageExcel> exportDistributionSignforPackageList(Long signforId) {
List<DistributionParcelListVO> distributionParcelListVOS = this.signforPackageList(signforId);
List<DistributionSignforPackageExcel> distributionSignforPackageExcels = new ArrayList<>();
for (DistributionParcelListVO distributionParcelListVO : distributionParcelListVOS) {
DistributionSignforPackageExcel packageExcel = Func.copy(distributionParcelListVO, DistributionSignforPackageExcel.class);
distributionSignforPackageExcels.add(packageExcel);
}
return distributionSignforPackageExcels;
}
/**
* @param signforId
* @return
*/
@Override
public List<DistributionSignforOrderExcel> exportDistributionSignforOrderList(Long signforId) {
DistributionSignforEntity signforEntity = this.getById(signforId);
List<DistributionReservationStockarticleEntity> reservationStockarticleEntityList = distributionReservationStockarticleService.list(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId())
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()));
// if (Func.isEmpty(reservationStockarticleEntityList)) {
// log.error("#####################预约查询无订单信息,reservationId:{}", signforEntity.getReservationId());
// return null;
// }
List<Long> orderIds = reservationStockarticleEntityList.stream().map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList());
List<DistributionSignforOrderExcel> distributionSignforOrderExcels = new ArrayList<>();
if (Func.isNotEmpty(orderIds)) {
List<DistributionStockArticleEntity> stockArticleEntities = distributionStockArticleService.listByIds(orderIds);
List<DistributionStockArticleVO> distributionStockArticleVOS = DistributionStockArticleWrapper.build().listVO(stockArticleEntities);
for (DistributionStockArticleVO distributionStockArticleVO : distributionStockArticleVOS) {
//查询计划、装车、签收数量
DistributionReservationStockarticleEntity reservationStockarticleEntity = distributionReservationStockarticleService.getOne(Wrappers.<DistributionReservationStockarticleEntity>query().lambda()
.eq(DistributionReservationStockarticleEntity::getReservationId, signforEntity.getReservationId())
.eq(DistributionReservationStockarticleEntity::getStockArticleId, distributionStockArticleVO.getId())
.ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue())
);
distributionStockArticleVO.setReservationNum(reservationStockarticleEntity.getReservationNum());
Integer loadingNum = distributionLoadscanMapper.selectOrderLoadingNumByReservationIdAndDeliveryIdAndOrderId(signforEntity.getReservationId(), signforEntity.getDeliveryId(), distributionStockArticleVO.getId());
distributionStockArticleVO.setLoadingNumber(loadingNum);
Integer signingNum = distributionLoadscanMapper.selectOrderSigningNumByReservationIdAndDeliveryIdAndOrderId(signforEntity.getReservationId(), signforEntity.getDeliveryId(), distributionStockArticleVO.getId());
distributionStockArticleVO.setSigningNumber(signingNum);
DistributionSignforOrderExcel orderExcel = Func.copy(distributionStockArticleVO, DistributionSignforOrderExcel.class);
distributionSignforOrderExcels.add(orderExcel);
}
}
return distributionSignforOrderExcels;
}
private List<DeliveryNodeVo> handleStockUp(DistributionStockupEntity distributionStockupEntity) { private List<DeliveryNodeVo> handleStockUp(DistributionStockupEntity distributionStockupEntity) {
List<DeliveryNodeVo> nodeVos = new ArrayList<>(); List<DeliveryNodeVo> nodeVos = new ArrayList<>();
try { try {

Loading…
Cancel
Save