|
|
@@ -16,6 +16,7 @@
|
|
|
*/
|
|
|
package org.springblade.deliver.goods.receiving;
|
|
|
|
|
|
+import org.springblade.core.excel.util.ExcelUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
@@ -26,6 +27,7 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.client.entity.CorpsDesc;
|
|
|
+import org.springblade.client.entity.GoodsDesc;
|
|
|
import org.springblade.client.entity.StorageDesc;
|
|
|
import org.springblade.client.feign.ICorpsDescClient;
|
|
|
import org.springblade.client.feign.IStorageClient;
|
|
|
@@ -38,15 +40,22 @@ import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.deliver.goods.entity.Delivery;
|
|
|
import org.springblade.deliver.goods.entity.DeliveryItems;
|
|
|
+import org.springblade.deliver.goods.entity.FactoryDelivery;
|
|
|
import org.springblade.deliver.goods.service.IDeliveryItemsService;
|
|
|
import org.springblade.deliver.goods.service.IDeliveryService;
|
|
|
import org.springblade.deliver.goods.vo.DeliveryVO;
|
|
|
+import org.springblade.stock.entity.StockGoods;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* 国内收货通知单 控制器
|
|
|
@@ -220,5 +229,67 @@ public class ReCeVingController extends BladeController {
|
|
|
return R.status(deliveryService.removeByIds(Func.toLongList(ids)));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 导出商品
|
|
|
+ */
|
|
|
+ @GetMapping("/exportOutFactoryDelivery")
|
|
|
+ @ApiOperationSupport(order = 9)
|
|
|
+ @ApiOperation(value = "导出模板")
|
|
|
+ public void exportOutFactoryDelivery(Delivery delivery,HttpServletResponse response) {
|
|
|
+ LambdaQueryWrapper<Delivery> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(Delivery::getIsDeleted, 0);
|
|
|
+ lambdaQueryWrapper.eq(Delivery::getTenantId, SecureUtil.getTenantId());
|
|
|
+ lambdaQueryWrapper.eq(Delivery::getBillType, OrderTypeEnum.RECEIPT.getType());
|
|
|
+ lambdaQueryWrapper.eq(Delivery::getTradeType, OrderTypeEnum.DOMESTIC.getType());
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getBillNo()), Delivery::getBillNo, delivery.getBillNo());//提单号
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getOrderNo()), Delivery::getOrderNo, delivery.getOrderNo());//合同号
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getOrgOrderNo()), Delivery::getOrgOrderNo, delivery.getOrgOrderNo());//销售订单号
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getSrcOrderNo()), Delivery::getSrcOrderNo, delivery.getSrcOrderNo());//采购订单号
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getDeliveryRemarks()), Delivery::getDeliveryRemarks, delivery.getDeliveryRemarks());//备注
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(delivery.getCorpId()), Delivery::getCorpId, delivery.getCorpId());//客户
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getArrivalAddress()), Delivery::getArrivalAddress, delivery.getArrivalAddress());//收货地址
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getArrivalContact()), Delivery::getArrivalContact, delivery.getArrivalContact());//收货人
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(delivery.getArrivalTel()), Delivery::getArrivalTel, delivery.getArrivalTel());//收货电话
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(delivery.getCreateStartTime()), Delivery::getCreateTime, delivery.getCreateStartTime());//制单日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(delivery.getCreateEndTime()), Delivery::getCreateTime, delivery.getCreateEndTime());//制单日期结束
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(delivery.getBusinessStartDate()), Delivery::getBusinessDate, delivery.getBusinessStartDate());//收货日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(delivery.getBusinessEndDate()), Delivery::getBusinessDate, delivery.getBusinessEndDate());//收货日期结束
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(delivery.getCreateUser()), Delivery::getCreateUser, delivery.getCreateUser());//制单人
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(delivery.getStorageId()), Delivery::getStorageId, delivery.getStorageId());//仓库
|
|
|
+ lambdaQueryWrapper.orderByDesc(Delivery::getCreateTime);
|
|
|
+ List<Delivery> deliveryList = deliveryService.list(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ List<FactoryDelivery> list = new ArrayList<>();
|
|
|
+
|
|
|
+ //解决回显字段问题
|
|
|
+ if (CollectionUtils.isNotEmpty(deliveryList)) {
|
|
|
+ deliveryList.forEach(e -> {
|
|
|
+ //供应商信息
|
|
|
+ R<CorpsDesc> corps = corpsDescClient.getCorpMessage(e.getCorpId());
|
|
|
+ if (corps.getData() != null) {
|
|
|
+ e.setCorpsName(corps.getData().getCname());
|
|
|
+ }
|
|
|
+ //所属公司信息
|
|
|
+ R<CorpsDesc> company = corpsDescClient.getCorpMessage(e.getSalesCompany());
|
|
|
+ if (company.getData() != null) {
|
|
|
+ e.setSalesCompanyName(company.getData().getCname());
|
|
|
+ }
|
|
|
+ //仓库信息
|
|
|
+ StorageDesc storageDesc = iStorageClient.findById(e.getStorageId());
|
|
|
+ if (storageDesc != null) {
|
|
|
+ e.setStorageName(storageDesc.getCname());
|
|
|
+ }
|
|
|
+ R<User> user = iUserClient.userInfoById(e.getCreateUser());
|
|
|
+ if (user.isSuccess() && user.getData() != null) {
|
|
|
+ e.setCreateUserName(user.getData().getName());
|
|
|
+ }
|
|
|
+ FactoryDelivery factoryDelivery = new FactoryDelivery();
|
|
|
+ BeanUtils.copyProperties(e,factoryDelivery);
|
|
|
+ list.add(factoryDelivery);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ExcelUtil.export(response, "导出工厂发货信息", "导出数据表", list, FactoryDelivery.class);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|