Browse Source

发货单功能 ,销售单功能

lazhaoqian 4 years ago
parent
commit
3b61af54ae
20 changed files with 646 additions and 146 deletions
  1. 31 1
      blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/Delivery.java
  2. 20 0
      blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/DeliveryFees.java
  3. 30 0
      blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/DeliveryItems.java
  4. 12 0
      blade-service/blade-deliver-goods/pom.xml
  5. 11 14
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryController.java
  6. 6 2
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryFeesController.java
  7. 6 2
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryFilesController.java
  8. 69 1
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryFeesServiceImpl.java
  9. 27 0
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryFilesServiceImpl.java
  10. 62 0
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java
  11. 39 18
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java
  12. 6 0
      blade-service/blade-purchase-sales/pom.xml
  13. 8 9
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java
  14. 113 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java
  15. 113 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java
  16. 40 4
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderFeesServiceImpl.java
  17. 3 4
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderFilesServiceImpl.java
  18. 32 4
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderItemsServiceImpl.java
  19. 2 4
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderModifyServiceImpl.java
  20. 16 83
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

+ 31 - 1
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/Delivery.java

@@ -228,11 +228,41 @@ public class Delivery implements Serializable {
 		@ApiModelProperty(value = "是否已删除(0 否 1是)")
 		private Integer isDeleted;
 	/**
-	 * 发货 收货明细
+	 * 发货 收货商品明细
 	 */
 		@ApiModelProperty(value = "发货 收货明细")
 		@TableField(exist = false)
 		private List<DeliveryItems> deliveryItemsList;
+	/**
+	 * 发货 收货 费用明细
+	 */
+		@ApiModelProperty(value = "发货 收货费用明细")
+		@TableField(exist = false)
+		private List<DeliveryFees> deliveryFeesList;
+	/**
+	 * 发货 收货 文件
+	 */
+		@ApiModelProperty(value = "发货 收货文件明细")
+		@TableField(exist = false)
+		private List<DeliveryFiles> deliveryFilesList;
+	/**
+	 * 创建人中文名
+	 */
+		@ApiModelProperty(value = "创建人中文名")
+		@TableField(exist = false)
+		private String createUserName;
+	/**
+	 * 修改人中文名
+	 */
+		@ApiModelProperty(value = "修改人中文名")
+		@TableField(exist = false)
+		private String updateUserName;
+	/**
+	 * 客户中文名
+	 */
+		@ApiModelProperty(value = "客户中文名")
+		@TableField(exist = false)
+		private String corpName;
 
 
 

+ 20 - 0
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/DeliveryFees.java

@@ -17,6 +17,8 @@
 package org.springblade.deliver.goods.entity;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
@@ -154,6 +156,24 @@ public class DeliveryFees implements Serializable {
 	*/
 		@ApiModelProperty(value = "是否已删除(0 否 1是)")
 		private Integer isDeleted;
+	/**
+	 * 费用编码
+	 */
+		@ApiModelProperty(value = "费用编码")
+		@TableField(exist = false)
+		private String code;
+	/**
+	 * 费用名称
+	 */
+		@ApiModelProperty(value = "费用名称")
+		@TableField(exist = false)
+		private String feeName;
+	/**
+	 * 支付方名称
+	 */
+		@ApiModelProperty(value = "支付方名称")
+		@TableField(exist = false)
+		private String corpName;
 
 
 }

+ 30 - 0
blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/DeliveryItems.java

@@ -17,10 +17,14 @@
 package org.springblade.deliver.goods.entity;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.NullSerializer;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -163,11 +167,13 @@ public class DeliveryItems implements Serializable {
 	* 状态(0 正常 1停用)
 	*/
 		@ApiModelProperty(value = "状态(0 正常 1停用)")
+		@JsonSerialize(nullsUsing = NullSerializer.class)
 		private Integer status;
 	/**
 	* 是否已删除(0 否 1是)
 	*/
 		@ApiModelProperty(value = "是否已删除(0 否 1是)")
+		@JsonSerialize(nullsUsing = NullSerializer.class)
 		private Integer isDeleted;
 	/**
 	* 商品类别
@@ -219,6 +225,30 @@ public class DeliveryItems implements Serializable {
 	*/
 		@ApiModelProperty(value = "税率")
 		private BigDecimal taxRate;
+	/**
+	 * 商品编码
+	 */
+		@ApiModelProperty(value = "商品编码")
+		@TableField(exist = false)
+		private String code;
+	/**
+	 * 商品名称
+	 */
+		@ApiModelProperty(value = "商品名称")
+		@TableField(exist = false)
+		private String cname;
+	/**
+	 * 规格编码
+	 */
+		@ApiModelProperty(value = "规格编码")
+		@TableField(exist = false)
+		private String typeno;
+	/**
+	 * 规格型号
+	 */
+		@ApiModelProperty(value = "规格型号")
+		@TableField(exist = false)
+		private String specificationAndModel;
 
 
 }

+ 12 - 0
blade-service/blade-deliver-goods/pom.xml

@@ -32,6 +32,18 @@
             <version>2.8.2.RELEASE</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-user-api</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>trade-purchase-api</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 11 - 14
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryController.java

@@ -17,6 +17,7 @@
 package org.springblade.deliver.goods.controller;
 
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.trade.purchase.order.enums.OrderTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -37,7 +38,7 @@ import org.springblade.deliver.goods.service.IDeliveryService;
 import org.springblade.core.boot.ctrl.BladeController;
 
 /**
- * 发货通知单 控制器
+ * 国内发货通知单 控制器
  *
  * @author BladeX
  * @since 2021-09-26
@@ -45,7 +46,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/delivery")
-@Api(value = "发货通知单", tags = "发货通知单接口")
+@Api(value = "国内发货通知单", tags = "国内发货通知单接口")
 public class DeliveryController extends BladeController {
 
 	private final IDeliveryService deliveryService;
@@ -62,7 +63,7 @@ public class DeliveryController extends BladeController {
 	}
 
 	/**
-	 * 分页 发货通知单
+	 * 国内发货通知单
 	 */
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
@@ -70,12 +71,12 @@ public class DeliveryController extends BladeController {
 	public R<IPage<Delivery>> list(Delivery delivery, Query query) {
 		delivery.setIsDeleted(0);
 		delivery.setTenantId(SecureUtil.getTenantId());
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
 		IPage<Delivery> pages = deliveryService.page(Condition.getPage(query), Condition.getQueryWrapper(delivery));
 		return R.data(pages);
 	}
-
 	/**
-	 * 自定义分页 发货通知单
+	 * 自定义分页 国内发货通知单
 	 */
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
@@ -88,7 +89,7 @@ public class DeliveryController extends BladeController {
 	}
 
 	/**
-	 * 新增 发货通知单
+	 * 新增 国内发货通知单
 	 */
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
@@ -98,7 +99,7 @@ public class DeliveryController extends BladeController {
 	}
 
 	/**
-	 * 修改 发货通知单
+	 * 修改 国内发货通知单
 	 */
 	@PostMapping("/update")
 	@ApiOperationSupport(order = 5)
@@ -112,22 +113,18 @@ public class DeliveryController extends BladeController {
 	}
 
 	/**
-	 * 新增或修改 发货通知单
+	 * 新增或修改 国内发货通知单
 	 * billType FH 发货通知  SH 收货通知
 	 */
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入delivery")
 	public R submit(@Valid @RequestBody Delivery delivery) {
-		if (StringUtils.isBlank(delivery.getOrderNo())){
-			return R.fail(500,"订单号不能为空");
-		}
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
 		return deliveryService.submitDelivery(delivery);
 	}
-
-
 	/**
-	 * 删除 发货通知单
+	 * 删除 国内发货通知单
 	 */
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)

+ 6 - 2
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryFeesController.java

@@ -98,6 +98,10 @@ public class DeliveryFeesController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入deliveryFees")
 	public R update(@Valid @RequestBody DeliveryFees deliveryFees) {
+		if (deliveryFees.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
+		deliveryFees.setIsDeleted(1);
 		return R.status(deliveryFeesService.updateById(deliveryFees));
 	}
 
@@ -111,7 +115,7 @@ public class DeliveryFeesController extends BladeController {
 		return R.status(deliveryFeesService.saveOrUpdate(deliveryFees));
 	}
 
-	
+
 	/**
 	 * 删除 发货费用明细表
 	 */
@@ -122,5 +126,5 @@ public class DeliveryFeesController extends BladeController {
 		return R.status(deliveryFeesService.removeByIds(Func.toLongList(ids)));
 	}
 
-	
+
 }

+ 6 - 2
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryFilesController.java

@@ -98,6 +98,10 @@ public class DeliveryFilesController extends BladeController {
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入deliveryFiles")
 	public R update(@Valid @RequestBody DeliveryFiles deliveryFiles) {
+		if (deliveryFiles.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
+		deliveryFiles.setIsDeleted(1);
 		return R.status(deliveryFilesService.updateById(deliveryFiles));
 	}
 
@@ -111,7 +115,7 @@ public class DeliveryFilesController extends BladeController {
 		return R.status(deliveryFilesService.saveOrUpdate(deliveryFiles));
 	}
 
-	
+
 	/**
 	 * 删除 发货附件表
 	 */
@@ -122,5 +126,5 @@ public class DeliveryFilesController extends BladeController {
 		return R.status(deliveryFilesService.removeByIds(Func.toLongList(ids)));
 	}
 
-	
+
 }

+ 69 - 1
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryFeesServiceImpl.java

@@ -16,6 +16,16 @@
  */
 package org.springblade.deliver.goods.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import lombok.AllArgsConstructor;
+import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.FeesDesc;
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.client.feign.IFeesDescClient;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.entity.DeliveryFees;
 import org.springblade.deliver.goods.vo.DeliveryFeesVO;
 import org.springblade.deliver.goods.mapper.DeliveryFeesMapper;
@@ -24,6 +34,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 发货费用明细表 服务实现类
  *
@@ -31,11 +44,66 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2021-10-21
  */
 @Service
+@AllArgsConstructor
 public class DeliveryFeesServiceImpl extends ServiceImpl<DeliveryFeesMapper, DeliveryFees> implements IDeliveryFeesService {
-
+	private ICorpsDescClient corpsDescClient;//获取客户信息
+	private IFeesDescClient feesDescClient;//获取费用信息
 	@Override
 	public IPage<DeliveryFeesVO> selectDeliveryFeesPage(IPage<DeliveryFeesVO> page, DeliveryFeesVO deliveryFees) {
 		return page.setRecords(baseMapper.selectDeliveryFeesPage(page, deliveryFees));
 	}
 
+	/**
+	 * 保存发货费用信息
+	 * @param pId
+	 * @param deliveryFeesList
+	 * @return
+	 */
+	public List<DeliveryFees> saveDeliveryFeesList(Long pId,List<DeliveryFees> deliveryFeesList){
+			for (DeliveryFees deliveryFees : deliveryFeesList) {
+				deliveryFees.setPid(pId);
+				deliveryFees.setTenantId(SecureUtil.getTenantId());
+				if (deliveryFees.getId() == null){
+					deliveryFees.setCreateUser(SecureUtil.getUserId());
+					deliveryFees.setCreateTime(new Date());
+					baseMapper.insert(deliveryFees);
+				}else {
+					deliveryFees.setUpdateUser(SecureUtil.getUserId());
+					deliveryFees.setUpdateTime(new Date());
+					baseMapper.updateById(deliveryFees);
+				}
+			}
+		return deliveryFeesList;
+	}
+
+	/**
+	 * 获取发货费用明细
+	 * @param delivery
+	 * @return
+	 */
+	public List<DeliveryFees> getDeliveryFeesList(Delivery delivery){
+		List<DeliveryFees> deliveryFeesList = baseMapper.selectList(new QueryWrapper<DeliveryFees>().eq("pid", delivery.getId())
+			.eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0));
+		if (CollectionUtils.isNotEmpty(deliveryFeesList)){
+			deliveryFeesList.stream().forEach(item ->{
+				if (item.getItemId() != null){
+					//获取费用编号,名称
+					R<FeesDesc> feesDescR = feesDescClient.detail(item.getItemId());
+					if (feesDescR.isSuccess() && feesDescR.getData() != null){
+						item.setCode(feesDescR.getData().getCode());
+						item.setFeeName(feesDescR.getData().getCname());
+					}
+				}
+				//获取客户名称
+				if (item.getCorpId() != null){
+					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
+					if (corpMessage.isSuccess() && corpMessage.getData() != null){
+						item.setCorpName(corpMessage.getData().getCname());
+					}
+				}
+			});
+		}
+		return deliveryFeesList;
+	}
+
 }

+ 27 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryFilesServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.deliver.goods.service.impl;
 
+import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.deliver.goods.entity.DeliveryFiles;
 import org.springblade.deliver.goods.vo.DeliveryFilesVO;
 import org.springblade.deliver.goods.mapper.DeliveryFilesMapper;
@@ -24,6 +25,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 发货附件表 服务实现类
  *
@@ -38,4 +42,27 @@ public class DeliveryFilesServiceImpl extends ServiceImpl<DeliveryFilesMapper, D
 		return page.setRecords(baseMapper.selectDeliveryFilesPage(page, deliveryFiles));
 	}
 
+	/**
+	 * 保存发货附件表
+	 * @param pId
+	 * @param deliveryFilesList
+	 * @return
+	 */
+	public List<DeliveryFiles> saveDeliveryFilesList (Long pId,List<DeliveryFiles> deliveryFilesList){
+		for (DeliveryFiles deliveryFiles : deliveryFilesList) {
+			deliveryFiles.setPid(pId);
+			deliveryFiles.setTenantId(SecureUtil.getTenantId());
+			if (deliveryFiles.getId() == null){
+				deliveryFiles.setCreateTime(new Date());
+				deliveryFiles.setCreateUser(SecureUtil.getUserId());
+				baseMapper.insert(deliveryFiles);
+			}else {
+				deliveryFiles.setUpdateTime(new Date());
+				deliveryFiles.setUpdateUser(SecureUtil.getUserId());
+				baseMapper.updateById(deliveryFiles);
+			}
+		}
+		return deliveryFilesList;
+	}
+
 }

+ 62 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -16,6 +16,15 @@
  */
 package org.springblade.deliver.goods.service.impl;
 
+import com.alibaba.druid.sql.ast.expr.SQLCaseExpr;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import lombok.AllArgsConstructor;
+import org.springblade.client.entity.GoodsDesc;
+import org.springblade.client.feign.IGoodsDescClient;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.entity.DeliveryItems;
 import org.springblade.deliver.goods.vo.DeliveryItemsVO;
 import org.springblade.deliver.goods.mapper.DeliveryItemsMapper;
@@ -24,6 +33,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 发货明细 服务实现类
  *
@@ -31,11 +43,61 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
  * @since 2021-09-26
  */
 @Service
+@AllArgsConstructor
 public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, DeliveryItems> implements IDeliveryItemsService {
 
+	private IGoodsDescClient goodsDescClient;//获取商品信息
 	@Override
 	public IPage<DeliveryItemsVO> selectDeliveryItemsPage(IPage<DeliveryItemsVO> page, DeliveryItemsVO deliveryItems) {
 		return page.setRecords(baseMapper.selectDeliveryItemsPage(page, deliveryItems));
 	}
 
+	/**
+	 * 保存发货费用信息
+	 * @param pId
+	 * @param deliveryItemsList
+	 * @return
+	 */
+	public List<DeliveryItems> saveDeliveryItemsList(Long pId,List<DeliveryItems> deliveryItemsList){
+			for (DeliveryItems deliveryItems : deliveryItemsList) {
+				deliveryItems.setPid(pId);//父级ID
+				deliveryItems.setTenantId(SecureUtil.getTenantId());//租户id
+				if (deliveryItems.getId() == null){
+					deliveryItems.setCreateUser(SecureUtil.getUserId());
+					deliveryItems.setCreateTime(new Date());
+					baseMapper.insert(deliveryItems);
+				}else {
+					deliveryItems.setUpdateTime(new Date());
+					deliveryItems.setUpdateUser(SecureUtil.getUserId());
+					baseMapper.updateById(deliveryItems);
+				}
+			}
+		return deliveryItemsList;
+	}
+
+	/**
+	 * 获取发货明细
+	 * @param delivery
+	 * @return
+	 */
+	public List<DeliveryItems> getDeliveryItems(Delivery delivery){
+		List<DeliveryItems> deliveryItemsList = baseMapper.selectList(new QueryWrapper<DeliveryItems>().eq("pid", delivery.getId())
+			.eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0));
+		if (CollectionUtils.isNotEmpty(deliveryItemsList)){
+			deliveryItemsList.stream().forEach(item ->{
+				if (item.getItemId() != null){
+					//获取商品编码,名称,规格编码,规格型号
+					R<GoodsDesc> goodsMessage = goodsDescClient.selectGoodsMessage(item.getItemId());
+					if (goodsMessage.isSuccess() && goodsMessage.getData() != null){
+						item.setCode(goodsMessage.getData().getCode());
+						item.setCname(goodsMessage.getData().getCname());
+						item.setTypeno(goodsMessage.getData().getTypeno());
+						item.setSpecificationAndModel(goodsMessage.getData().getSpecificationAndModel());
+					}
+				}
+			});
+		}
+		return deliveryItemsList;
+	}
+
 }

+ 39 - 18
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -19,16 +19,23 @@ package org.springblade.deliver.goods.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import lombok.AllArgsConstructor;
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.client.feign.IFeesDescClient;
+import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.feign.ISerialClient;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.deliver.goods.entity.Delivery;
+import org.springblade.deliver.goods.entity.DeliveryFees;
+import org.springblade.deliver.goods.entity.DeliveryFiles;
 import org.springblade.deliver.goods.entity.DeliveryItems;
 import org.springblade.deliver.goods.mapper.DeliveryItemsMapper;
 import org.springblade.deliver.goods.vo.DeliveryVO;
 import org.springblade.deliver.goods.mapper.DeliveryMapper;
 import org.springblade.deliver.goods.service.IDeliveryService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
@@ -46,7 +53,11 @@ import java.util.List;
 @AllArgsConstructor
 public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> implements IDeliveryService {
 	private ISerialClient serialClient;//生成系统编号
-	private DeliveryItemsMapper deliveryItemsMapper;//发货明细
+	private DeliveryItemsServiceImpl deliveryItemsService;//发货明细
+	private DeliveryFeesServiceImpl deliveryFeesService;//发货费用信息
+	private DeliveryFilesServiceImpl deliveryFilesService;//发货文件信息
+	private IUserClient userClient;//获取用户信息
+
 	@Override
 	public IPage<DeliveryVO> selectDeliveryPage(IPage<DeliveryVO> page, DeliveryVO delivery) {
 		return page.setRecords(baseMapper.selectDeliveryPage(page, delivery));
@@ -76,21 +87,20 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			delivery.setUpdateTime(new Date());
 			baseMapper.updateById(delivery);
 		}
+		//保存发货明细信息
 		if (CollectionUtils.isNotEmpty(delivery.getDeliveryItemsList())){
-			for (DeliveryItems deliveryItems : delivery.getDeliveryItemsList()) {
-				deliveryItems.setPid(delivery.getId());//父级ID
-				deliveryItems.setBillType(delivery.getBillType());//通知单类型
-				deliveryItems.setTenantId(SecureUtil.getTenantId());//租户id
-				if (deliveryItems.getId() == null){
-					deliveryItems.setCreateUser(SecureUtil.getUserId());
-					deliveryItems.setCreateTime(new Date());
-					deliveryItemsMapper.insert(deliveryItems);
-				}else {
-					deliveryItems.setUpdateTime(new Date());
-					deliveryItems.setUpdateUser(SecureUtil.getUserId());
-					deliveryItemsMapper.updateById(deliveryItems);
-				}
-			}
+			List<DeliveryItems> deliveryItemsList = deliveryItemsService.saveDeliveryItemsList(delivery.getId(), delivery.getDeliveryItemsList());
+			delivery.setDeliveryItemsList(deliveryItemsList);
+		}
+		//保存发货费用信息
+		if (CollectionUtils.isNotEmpty(delivery.getDeliveryFeesList())){
+			List<DeliveryFees> deliveryFeesList = deliveryFeesService.saveDeliveryFeesList(delivery.getId(), delivery.getDeliveryFeesList());
+			delivery.setDeliveryFeesList(deliveryFeesList);
+		}
+		//保存发货附件信息
+		if (CollectionUtils.isNotEmpty(delivery.getDeliveryFilesList())){
+			List<DeliveryFiles> deliveryFilesList = deliveryFilesService.saveDeliveryFilesList(delivery.getId(), delivery.getDeliveryFilesList());
+			delivery.setDeliveryFilesList(deliveryFilesList);
 		}
 		return R.data(delivery);
 	}
@@ -99,10 +109,21 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	public Delivery getDeliveryMessage(Delivery delivery) {
 		//获取发货主表数据
 		Delivery selectById = baseMapper.selectById(delivery.getId());
-		//获取明细表数据
-		List<DeliveryItems> deliveryItemsList = deliveryItemsMapper.selectList(new QueryWrapper<DeliveryItems>().eq("pid", delivery.getId())
-			.eq("", SecureUtil.getTenantId()).eq("is_deleted", 0));
+		//获取创建人中文名
+		R<User> createUser = userClient.userInfoById(selectById.getCreateUser());
+		if (createUser.isSuccess() || createUser.getData() != null){
+			selectById.setCreateUserName(createUser.getData().getName());
+		}
+		//获取发货明细表数据
+		List<DeliveryItems> deliveryItemsList = deliveryItemsService.getDeliveryItems(delivery);
 		selectById.setDeliveryItemsList(deliveryItemsList);
+		//获取发货费用信息
+		List<DeliveryFees> deliveryFeesList = deliveryFeesService.getDeliveryFeesList(delivery);
+		selectById.setDeliveryFeesList(deliveryFeesList);
+		//获取发货文件信息
+		List<DeliveryFiles> deliveryFilesList = deliveryFilesService.list(new QueryWrapper<DeliveryFiles>().eq("pid", delivery.getId())
+			.eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0));
+		selectById.setDeliveryFilesList(deliveryFilesList);
 		return selectById;
 	}
 

+ 6 - 0
blade-service/blade-purchase-sales/pom.xml

@@ -39,6 +39,12 @@
             <version>2.8.2.RELEASE</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>trade-purchase-api</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 8 - 9
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.purchase.sales.controller;
 
+import com.trade.purchase.order.enums.OrderTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -36,7 +37,7 @@ import org.springblade.purchase.sales.service.IOrderService;
 import org.springblade.core.boot.ctrl.BladeController;
 
 /**
- * 销售或采购订单表 控制器
+ * 国内销售或采购订单表 控制器
  *
  * @author BladeX
  * @since 2021-09-26
@@ -44,7 +45,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 @RestController
 @AllArgsConstructor
 @RequestMapping("/order")
-@Api(value = "销售或采购订单表", tags = "销售或采购订单表接口")
+@Api(value = "国内销售或采购订单表", tags = "国内销售或采购订单表接口")
 public class OrderController extends BladeController {
 
 	private final IOrderService orderService;
@@ -56,9 +57,6 @@ public class OrderController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入order")
 	public R<Order> detail(Order order) {
-		if (order.getId() == null){
-			return R.fail(500,"请选择要查看的数据");
-		}
 		order.setIsDeleted(0);
 		order.setTenantId(SecureUtil.getTenantId());
 		Order detail = orderService.getOrderMessage(order);
@@ -66,7 +64,7 @@ public class OrderController extends BladeController {
 	}
 
 	/**
-	 * 分页 销售或采购订单表
+	 * 国内销售或采购订单表
 	 */
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
@@ -74,10 +72,10 @@ public class OrderController extends BladeController {
 	public R<IPage<Order>> list(Order order, Query query) {
 		order.setIsDeleted(0);
 		order.setTenantId(SecureUtil.getTenantId());
+		order.setBillType(OrderTypeEnum.SALES.getType());
 		IPage<Order> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
 		return R.data(pages);
 	}
-
 	/**
 	 * 自定义分页 销售或采购订单表
 	 */
@@ -87,6 +85,7 @@ public class OrderController extends BladeController {
 	public R<IPage<OrderVO>> page(OrderVO order, Query query) {
 		order.setIsDeleted(0);
 		order.setTenantId(SecureUtil.getTenantId());
+		order.setBillType(OrderTypeEnum.SALES.getType());
 		IPage<OrderVO> pages = orderService.selectOrderPage(Condition.getPage(query), order);
 		return R.data(pages);
 	}
@@ -114,14 +113,14 @@ public class OrderController extends BladeController {
 		order.setIsDeleted(1);
 		return R.status(orderService.updateById(order));
 	}
-
 	/**
-	 * 新增或修改 销售或采购订单表
+	 * 新增或修改 国内销售或采购订单表
 	 */
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入order")
 	public R submit(@Valid @RequestBody Order order) {
+		order.setBillType(OrderTypeEnum.SALES.getType());
 		return orderService.saveOrderMessage(order);
 	}
 

+ 113 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java

@@ -0,0 +1,113 @@
+package org.springblade.purchase.sales.entrance;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.trade.purchase.order.enums.OrderTypeEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.purchase.sales.entity.Order;
+import org.springblade.purchase.sales.service.IOrderService;
+import org.springblade.purchase.sales.vo.OrderVO;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * 进口销售单控制器
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/entranceOrder")
+@Api(value = "进口销售或采购订单表", tags = "进口销售或采购订单表接口")
+public class EntranceOrderController extends BladeController {
+
+	private final IOrderService orderService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入order")
+	public R<Order> detail(Order order) {
+		order.setIsDeleted(0);
+		order.setTenantId(SecureUtil.getTenantId());
+		Order detail = orderService.getOrderMessage(order);
+		return R.data(detail);
+	}
+	/**
+	 * 进口销售或采购订单表
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入order")
+	public R<IPage<Order>> entranceList(Order order, Query query) {
+		order.setIsDeleted(0);
+		order.setTenantId(SecureUtil.getTenantId());
+		order.setBillType(OrderTypeEnum.SALES.getType());
+		IPage<Order> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
+		return R.data(pages);
+	}
+	/**
+	 * 自定义分页 进口销售单控制器
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入order")
+	public R<IPage<OrderVO>> page(OrderVO order, Query query) {
+		order.setIsDeleted(0);
+		order.setTenantId(SecureUtil.getTenantId());
+		order.setBillType(OrderTypeEnum.SALES.getType());
+		IPage<OrderVO> pages = orderService.selectOrderPage(Condition.getPage(query), order);
+		return R.data(pages);
+	}
+	/**
+	 * 新增 进口销售单控制器
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入order")
+	public R save(@Valid @RequestBody Order order) {
+		return R.status(orderService.save(order));
+	}
+	/**
+	 * 修改 进口销售单控制器
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入order")
+	public R update(@Valid @RequestBody Order order) {
+		if (order.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
+		order.setIsDeleted(1);
+		return R.status(orderService.updateById(order));
+	}
+	/**
+	 * 新增或修改 进口销售或采购订单表
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入order")
+	public R submit(@Valid @RequestBody Order order) {
+		order.setBillType(OrderTypeEnum.SALES.getType());
+		return orderService.saveOrderMessage(order);
+	}
+	/**
+	 * 删除 销售或采购订单表
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(orderService.removeByIds(Func.toLongList(ids)));
+	}
+}

+ 113 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java

@@ -0,0 +1,113 @@
+package org.springblade.purchase.sales.export;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.trade.purchase.order.enums.OrderTypeEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.purchase.sales.entity.Order;
+import org.springblade.purchase.sales.service.IOrderService;
+import org.springblade.purchase.sales.vo.OrderVO;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * 出口销售单控制器
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/exportOrder")
+@Api(value = "出口销售或采购订单表", tags = "出口销售或采购订单表接口")
+public class ExportOrderController extends BladeController {
+
+	private final IOrderService orderService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入order")
+	public R<Order> detail(Order order) {
+		order.setIsDeleted(0);
+		order.setTenantId(SecureUtil.getTenantId());
+		Order detail = orderService.getOrderMessage(order);
+		return R.data(detail);
+	}
+	/**
+	 * 出口销售或采购订单表
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入order")
+	public R<IPage<Order>> entranceList(Order order, Query query) {
+		order.setIsDeleted(0);
+		order.setTenantId(SecureUtil.getTenantId());
+		order.setBillType(OrderTypeEnum.SALES.getType());
+		IPage<Order> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
+		return R.data(pages);
+	}
+	/**
+	 * 自定义分页 销售或采购订单表
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入order")
+	public R<IPage<OrderVO>> page(OrderVO order, Query query) {
+		order.setIsDeleted(0);
+		order.setTenantId(SecureUtil.getTenantId());
+		order.setBillType(OrderTypeEnum.SALES.getType());
+		IPage<OrderVO> pages = orderService.selectOrderPage(Condition.getPage(query), order);
+		return R.data(pages);
+	}
+	/**
+	 * 新增 出口销售或采购订单表
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入order")
+	public R save(@Valid @RequestBody Order order) {
+		return R.status(orderService.save(order));
+	}
+	/**
+	 * 修改 出口销售或采购订单表
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入order")
+	public R update(@Valid @RequestBody Order order) {
+		if (order.getId() == null){
+			return R.fail(500,"请选择要删除的数据");
+		}
+		order.setIsDeleted(1);
+		return R.status(orderService.updateById(order));
+	}
+	/**
+	 * 新增或修改 出口销售或采购订单表
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入order")
+	public R submit(@Valid @RequestBody Order order) {
+		order.setBillType(OrderTypeEnum.SALES.getType());
+		return orderService.saveOrderMessage(order);
+	}
+	/**
+	 * 删除 销售或采购订单表
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(orderService.removeByIds(Func.toLongList(ids)));
+	}
+}

+ 40 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderFeesServiceImpl.java

@@ -16,9 +16,16 @@
  */
 package org.springblade.purchase.sales.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import lombok.AllArgsConstructor;
+import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.FeesDesc;
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.client.feign.IFeesDescClient;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.purchase.sales.entity.Order;
 import org.springblade.purchase.sales.entity.OrderFees;
 import org.springblade.purchase.sales.vo.OrderFeesVO;
 import org.springblade.purchase.sales.mapper.OrderFeesMapper;
@@ -37,8 +44,10 @@ import java.util.List;
  * @since 2021-09-26
  */
 @Service
+@AllArgsConstructor
 public class OrderFeesServiceImpl extends ServiceImpl<OrderFeesMapper, OrderFees> implements IOrderFeesService {
-
+	private IFeesDescClient feesDescClient;//获取费用信息
+	private ICorpsDescClient corpsDescClient;//获取客户信息
 	@Override
 	public IPage<OrderFeesVO> selectOrderFeesPage(IPage<OrderFeesVO> page, OrderFeesVO orderFees) {
 		return page.setRecords(baseMapper.selectOrderFeesPage(page, orderFees));
@@ -51,8 +60,7 @@ public class OrderFeesServiceImpl extends ServiceImpl<OrderFeesMapper, OrderFees
 	 * @param Pid 订单主表id
 	 * @return
 	 */
-	public R saveOrderFeesMessage(List<OrderFees> list,Date date,Long Pid){
-		if(CollectionUtils.isNotEmpty(list)){
+	public List<OrderFees> saveOrderFeesMessage(List<OrderFees> list,Date date,Long Pid){
 			list.stream().forEach(item ->{
 				if (item.getId() == null){
 					item.setTenantId(SecureUtil.getTenantId());
@@ -68,7 +76,35 @@ public class OrderFeesServiceImpl extends ServiceImpl<OrderFeesMapper, OrderFees
 					baseMapper.updateById(item);
 				}
 			});
+		return list;
+	}
+	/**
+	 * 获取订单费用信息
+	 * @param order
+	 * @return
+	 */
+	public List<OrderFees> getOrderFees(Order order){
+		List<OrderFees> orderFeesList = baseMapper.selectList(new QueryWrapper<OrderFees>().eq("pid", order.getId())
+			.eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0).orderByAsc("sort"));
+		if (CollectionUtils.isNotEmpty(orderFeesList)){
+			orderFeesList.stream().forEach(item ->{
+				if (item.getItemId() != null){
+					//获取费用编号,名称
+					R<FeesDesc> feesDescR = feesDescClient.detail(item.getItemId());
+					if (feesDescR.isSuccess() && feesDescR.getData() != null){
+						item.setCode(feesDescR.getData().getCode());
+						item.setFeeName(feesDescR.getData().getCname());
+					}
+				}
+				//获取客户名称
+				if (item.getCorpId() != null){
+					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
+					if (corpMessage.isSuccess() && corpMessage.getData() != null){
+						item.setCorpName(corpMessage.getData().getCname());
+					}
+				}
+			});
 		}
-		return R.data(list);
+		return orderFeesList;
 	}
 }

+ 3 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderFilesServiceImpl.java

@@ -52,8 +52,7 @@ public class OrderFilesServiceImpl extends ServiceImpl<OrderFilesMapper, OrderFi
 	 * @param Pid
 	 * @return
 	 */
-	public R saveOrderFileMessage(List<OrderFiles> list,Date date,Long Pid){
-		if (CollectionUtils.isNotEmpty(list)){
+	public List<OrderFiles> saveOrderFileMessage(List<OrderFiles> list,Date date,Long Pid){
 			list.stream().forEach(item ->{
 				if (item.getId() == null){
 					item.setCreateUser(SecureUtil.getUserId());
@@ -69,7 +68,7 @@ public class OrderFilesServiceImpl extends ServiceImpl<OrderFilesMapper, OrderFi
 					baseMapper.updateById(item);
 				}
 			});
-		}
-		return R.data(list);
+
+		return list;
 	}
 }

+ 32 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderItemsServiceImpl.java

@@ -16,10 +16,15 @@
  */
 package org.springblade.purchase.sales.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import lombok.AllArgsConstructor;
 import org.aspectj.weaver.ast.Or;
+import org.springblade.client.entity.GoodsDesc;
+import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.purchase.sales.entity.Order;
 import org.springblade.purchase.sales.entity.OrderItems;
 import org.springblade.purchase.sales.vo.OrderItemsVO;
 import org.springblade.purchase.sales.mapper.OrderItemsMapper;
@@ -38,8 +43,9 @@ import java.util.List;
  * @since 2021-09-26
  */
 @Service
+@AllArgsConstructor
 public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderItems> implements IOrderItemsService {
-
+	private IGoodsDescClient goodsDescClient;//获取商品信息
 	@Override
 	public IPage<OrderItemsVO> selectOrderItemsPage(IPage<OrderItemsVO> page, OrderItemsVO orderItems) {
 		return page.setRecords(baseMapper.selectOrderItemsPage(page, orderItems));
@@ -52,8 +58,7 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
 	 * @param Pid 订单主表id
 	 * @return
 	 */
-	public R saveOrderItemsMessage(List<OrderItems> list, Date date,Long Pid){
-		if (CollectionUtils.isNotEmpty(list)){
+	public List<OrderItems> saveOrderItemsMessage(List<OrderItems> list, Date date,Long Pid){
 			list.stream().forEach(item ->{
 				if (item.getId() == null){
 					item.setTenantId(SecureUtil.getTenantId());
@@ -69,8 +74,31 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
 					baseMapper.updateById(item);
 				}
 			});
+		return list;
+	}
+	/**
+	 * 获取订单明细数据
+	 * @param order
+	 * @return
+	 */
+	public List<OrderItems> getOrderItems(Order order){
+		List<OrderItems> orderItemsList = baseMapper.selectList(new QueryWrapper<OrderItems>().eq("pid", order.getId())
+			.eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0).orderByAsc("sort"));
+		if (CollectionUtils.isNotEmpty(orderItemsList)){
+			orderItemsList.stream().forEach(item ->{
+				if (item.getItemId() != null){
+					//获取商品编码,名称,规格编码,规格型号
+					R<GoodsDesc> goodsMessage = goodsDescClient.selectGoodsMessage(item.getItemId());
+					if (goodsMessage.isSuccess() && goodsMessage.getData() != null){
+						item.setCode(goodsMessage.getData().getCode());
+						item.setCname(goodsMessage.getData().getCname());
+						item.setTypeno(goodsMessage.getData().getTypeno());
+						item.setSpecificationAndModel(goodsMessage.getData().getSpecificationAndModel());
+					}
+				}
+			});
 		}
-		return R.data(list);
+		return orderItemsList;
 	}
 
 }

+ 2 - 4
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderModifyServiceImpl.java

@@ -52,8 +52,7 @@ public class OrderModifyServiceImpl extends ServiceImpl<OrderModifyMapper, Order
 	 * @param Pid 订单主表id
 	 * @return
 	 */
-	public R saveOrderModifyMessage(List<OrderModify> list, Date date,Long Pid){
-		if (CollectionUtils.isNotEmpty(list)){
+	public List<OrderModify>  saveOrderModifyMessage(List<OrderModify> list, Date date,Long Pid){
 			list.stream().forEach(item ->{
 				if (item.getId() == null){
 					item.setTenantId(SecureUtil.getTenantId());
@@ -69,8 +68,7 @@ public class OrderModifyServiceImpl extends ServiceImpl<OrderModifyMapper, Order
 					baseMapper.insert(item);
 				}
 			});
-		}
-		return R.data(list);
+		return list;
 	}
 
 }

+ 16 - 83
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -61,9 +61,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	private OrderModifyServiceImpl orderModifyService;//订单修改日志
 	private ISerialClient serialClient;//生成系统编号
 	private IUserClient userClient;//获取用户信息
-	private IFeesDescClient feesDescClient;//获取费用信息
-	private IGoodsDescClient goodsDescClient;//获取商品信息
-	private ICorpsDescClient corpsDescClient;//获取客户信息
 	@Override
 	public IPage<OrderVO> selectOrderPage(IPage<OrderVO> page, OrderVO order) {
 		return page.setRecords(baseMapper.selectOrderPage(page, order));
@@ -95,33 +92,25 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			baseMapper.updateById(order);
 		}
 		//保存订单费用明细
-		R orderFees = orderFeesService.saveOrderFeesMessage(order.getOrderFeesList(), date, order.getId());
-		if (orderFees.getCode() != 200){
-			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-			return orderFees;
+		if (CollectionUtils.isNotEmpty(order.getOrderFeesList())){
+			List<OrderFees> orderFeesList = orderFeesService.saveOrderFeesMessage(order.getOrderFeesList(), date, order.getId());
+			order.setOrderFeesList(orderFeesList);
 		}
-		order.setOrderFeesList((List<OrderFees>)orderFees.getData());
 		//保存订单明细
-		R orderItems = orderItemsService.saveOrderItemsMessage(order.getOrderItemsList(), date, order.getId());
-		if (orderItems.getCode() != 200){
-			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-			return orderItems;
+		if (CollectionUtils.isNotEmpty(order.getOrderItemsList())){
+			List<OrderItems> orderItemsList = orderItemsService.saveOrderItemsMessage(order.getOrderItemsList(), date, order.getId());
+			order.setOrderItemsList(orderItemsList);
 		}
-		order.setOrderItemsList((List<OrderItems>)orderItems.getData());
 		//保存订单文件信息
-		R orderFile = orderFilesService.saveOrderFileMessage(order.getOrderFilesList(), date, order.getId());
-		if (orderFile.getCode() != 200){
-			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-			return orderFile;
+		if (CollectionUtils.isNotEmpty(order.getOrderFilesList())){
+			List<OrderFiles> orderFilesList = orderFilesService.saveOrderFileMessage(order.getOrderFilesList(), date, order.getId());
+			order.setOrderFilesList(orderFilesList);
 		}
-		order.setOrderFilesList((List<OrderFiles>)orderFile.getData());
 		//保存订单修改日志
-		R modify = orderModifyService.saveOrderModifyMessage(order.getOrderModifyList(), date, order.getId());
-		if (modify.getCode() != 200){
-			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-			return modify;
+		if (CollectionUtils.isNotEmpty(order.getOrderModifyList())){
+			List<OrderModify> orderModifyList = orderModifyService.saveOrderModifyMessage(order.getOrderModifyList(), date, order.getId());
+			order.setOrderModifyList(orderModifyList);
 		}
-		order.setOrderModifyList((List<OrderModify>)modify.getData());
 		//保存发货信息待定
 		//修改库存信息待定
 		return R.data(order);
@@ -133,15 +122,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		Order orderMessage = baseMapper.selectById(order.getId());
 		//获取创建人中文名
 		R<User> createUser = userClient.userInfoById(orderMessage.getCreateUser());
-		if (!createUser.isSuccess() || Objects.isNull(createUser.getData())){
-			throw new RuntimeException("未找到用户信息");
+		if (createUser.isSuccess() || createUser.getData() != null){
+			orderMessage.setCreateUserName(createUser.getData().getName());
 		}
-		orderMessage.setCreateUserName(createUser.getData().getName());
 		//获取订单明细信息
-		List<OrderItems> orderItemsList = this.getOrderItems(order);
+		List<OrderItems> orderItemsList = orderItemsService.getOrderItems(order);
 		orderMessage.setOrderItemsList(orderItemsList);
 		//获取订单费用信息
-		List<OrderFees> orderFeesList = this.getOrderFees(order);
+		List<OrderFees> orderFeesList = orderFeesService.getOrderFees(order);
 		orderMessage.setOrderFeesList(orderFeesList);
 		//获取订单文件信息
 		List<OrderFiles> orderFilesList = orderFilesService.list(new QueryWrapper<OrderFiles>().eq("pid", order.getId())
@@ -154,59 +142,4 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		return orderMessage;
 	}
 
-	/**
-	 * 获取订单明细数据
-	 * @param order
-	 * @return
-	 */
-	public List<OrderItems> getOrderItems(Order order){
-		List<OrderItems> orderItemsList = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", order.getId())
-			.eq("tenant_id", SecureUtil.getTenantId()).eq("status", 0).eq("is_deleted", 0).orderByAsc("sort"));
-		if (CollectionUtils.isNotEmpty(orderItemsList)){
-			orderItemsList.stream().forEach(item ->{
-				if (item.getItemId() != null){
-					//获取商品编码,名称,规格编码,规格型号
-					R<GoodsDesc> goodsMessage = goodsDescClient.selectGoodsMessage(item.getItemId());
-					if (goodsMessage.isSuccess() && goodsMessage.getData() != null){
-						item.setCode(goodsMessage.getData().getCode());
-						item.setCname(goodsMessage.getData().getCname());
-						item.setTypeno(goodsMessage.getData().getTypeno());
-						item.setSpecificationAndModel(goodsMessage.getData().getSpecificationAndModel());
-					}
-				}
-			});
-		}
-		return orderItemsList;
-	}
-
-	/**
-	 * 获取订单费用信息
-	 * @param order
-	 * @return
-	 */
-	public List<OrderFees> getOrderFees(Order order){
-		List<OrderFees> orderFeesList = orderFeesService.list(new QueryWrapper<OrderFees>().eq("pid", order.getId())
-			.eq("tenant_id", SecureUtil.getTenantId()).eq("status", 0).eq("is_deleted", 0).orderByAsc("sort"));
-		if (CollectionUtils.isNotEmpty(orderFeesList)){
-			orderFeesList.stream().forEach(item ->{
-				if (item.getItemId() != null){
-					//获取费用编号,名称
-					R<FeesDesc> feesDescR = feesDescClient.detail(item.getItemId());
-					if (feesDescR.isSuccess() && feesDescR.getData() != null){
-						item.setCode(feesDescR.getData().getCode());
-						item.setFeeName(feesDescR.getData().getCname());
-					}
-					//获取客户名称
-					if (item.getCorpId() != null){
-						R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
-						if (corpMessage.isSuccess() && corpMessage.getData() != null){
-							item.setCorpName(corpMessage.getData().getCname());
-						}
-					}
-				}
-			});
-		}
-		return orderFeesList;
-	}
-
 }