|
|
@@ -17,10 +17,8 @@
|
|
|
package org.springblade.deliver.goods.receiving;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
import com.trade.purchase.order.enums.OrderTypeEnum;
|
|
|
import io.swagger.annotations.Api;
|
|
|
@@ -39,6 +37,8 @@ import org.springblade.core.secure.utils.SecureUtil;
|
|
|
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.service.IDeliveryItemsService;
|
|
|
import org.springblade.deliver.goods.service.IDeliveryService;
|
|
|
import org.springblade.deliver.goods.vo.DeliveryVO;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
@@ -62,11 +62,20 @@ public class ReCeVingController extends BladeController {
|
|
|
|
|
|
private final IDeliveryService deliveryService;
|
|
|
|
|
|
- private ICorpsDescClient corpsDescClient;//获取客户信息
|
|
|
+ private final IDeliveryItemsService deliveryItemsService;
|
|
|
|
|
|
- private IStorageClient iStorageClient;//库存信息
|
|
|
-
|
|
|
- private IUserClient iUserClient;//获取用户信息
|
|
|
+ /**
|
|
|
+ * 获取客户信息
|
|
|
+ */
|
|
|
+ private final ICorpsDescClient corpsDescClient;
|
|
|
+ /**
|
|
|
+ * 库存信息
|
|
|
+ */
|
|
|
+ private final IStorageClient iStorageClient;
|
|
|
+ /**
|
|
|
+ * 获取用户信息
|
|
|
+ */
|
|
|
+ private final IUserClient iUserClient;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -87,53 +96,49 @@ public class ReCeVingController extends BladeController {
|
|
|
@ApiOperationSupport(order = 2)
|
|
|
@ApiOperation(value = "分页", notes = "传入delivery")
|
|
|
public R<IPage<Delivery>> list(Delivery delivery, Query query) {
|
|
|
- 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<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);
|
|
|
IPage<Delivery> pages = deliveryService.page(Condition.getPage(query), lambdaQueryWrapper);
|
|
|
//解决回显字段问题
|
|
|
List<Delivery> records = pages.getRecords();
|
|
|
- if(CollectionUtils.isNotEmpty(records))
|
|
|
- {
|
|
|
- records.forEach(e->{
|
|
|
+ if (CollectionUtils.isNotEmpty(records)) {
|
|
|
+ records.forEach(e -> {
|
|
|
//供应商信息
|
|
|
R<CorpsDesc> corps = corpsDescClient.getCorpMessage(e.getCorpId());
|
|
|
- if(corps.getData()!=null)
|
|
|
- {
|
|
|
+ if (corps.getData() != null) {
|
|
|
e.setCorpsName(corps.getData().getCname());
|
|
|
}
|
|
|
- //所属公司信息
|
|
|
+ //所属公司信息
|
|
|
R<CorpsDesc> company = corpsDescClient.getCorpMessage(e.getSalesCompany());
|
|
|
- if(company.getData()!=null)
|
|
|
- {
|
|
|
+ if (company.getData() != null) {
|
|
|
e.setSalesCompanyName(company.getData().getCname());
|
|
|
}
|
|
|
//仓库信息
|
|
|
StorageDesc storageDesc = iStorageClient.findById(e.getStorageId());
|
|
|
- if(storageDesc!=null)
|
|
|
- {
|
|
|
+ if (storageDesc != null) {
|
|
|
e.setStorageName(storageDesc.getCname());
|
|
|
}
|
|
|
R<User> user = iUserClient.userInfoById(e.getCreateUser());
|
|
|
- if (user.isSuccess() && user.getData() != null){
|
|
|
+ if (user.isSuccess() && user.getData() != null) {
|
|
|
e.setCreateUserName(user.getData().getName());
|
|
|
}
|
|
|
|
|
|
@@ -142,6 +147,7 @@ public class ReCeVingController extends BladeController {
|
|
|
pages.setRecords(records);
|
|
|
return R.data(pages);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 自定义分页 国内收货通知单
|
|
|
*/
|
|
|
@@ -174,9 +180,19 @@ public class ReCeVingController extends BladeController {
|
|
|
@ApiOperationSupport(order = 5)
|
|
|
@ApiOperation(value = "修改", notes = "传入delivery")
|
|
|
public R update(@Valid @RequestBody Delivery delivery) {
|
|
|
- if (delivery.getId() == null){
|
|
|
- return R.fail(500,"请选择要删除的数据");
|
|
|
+ if (delivery.getId() == null) {
|
|
|
+ return R.fail(500, "请选择要删除的数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ int itemCount = deliveryItemsService.count(new LambdaQueryWrapper<DeliveryItems>()
|
|
|
+ .eq(DeliveryItems::getPid, delivery.getId())
|
|
|
+ .eq(DeliveryItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(DeliveryItems::getIsDeleted, 0)
|
|
|
+ );
|
|
|
+ if (itemCount > 0) {
|
|
|
+ throw new SecurityException("存在明细禁止删除");
|
|
|
}
|
|
|
+
|
|
|
delivery.setIsDeleted(1);
|
|
|
return R.status(deliveryService.updateById(delivery));
|
|
|
}
|
|
|
@@ -193,6 +209,7 @@ public class ReCeVingController extends BladeController {
|
|
|
delivery.setTradeType(OrderTypeEnum.DOMESTIC.getType());
|
|
|
return deliveryService.submitDelivery(delivery);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 删除 国内收货通知单
|
|
|
*/
|