Browse Source

Merge branch 'dev' of http://git.echepei.com/lazhaoqian/bladex into dev

1021934019@qq.com 4 years ago
parent
commit
b1c0937d26

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

@@ -328,5 +328,5 @@ public class Delivery implements Serializable {
 	 * 发货单操作类型
 	 */
 	@TableField(exist = false)
-	private int deliveryType;
+	private Integer deliveryType;
 }

+ 3 - 3
blade-service-api/blade-stock-api/src/main/java/org/springblade/stock/feign/IStockGoodsClient.java

@@ -38,8 +38,8 @@ public interface IStockGoodsClient {
 	 * @return
 	 */
 	@GetMapping(SELECT_STOKE)
-	R<StockGoodsVO> selectStock(@RequestParam("corpId")Long corpId,
-								@RequestParam("storageId")Long storageId,
+	R<StockGoodsVO> selectStock(@RequestParam(value = "corpId",required = false)Long corpId,
+								@RequestParam(value = "storageId",required = false)Long storageId,
 								@RequestParam("goodId")Long goodId,
 								@RequestParam(value = "itemType",required = false)String itemType,
 								@RequestParam(value = "lotNo",required = false)String lotNo,
@@ -53,7 +53,7 @@ public interface IStockGoodsClient {
 	 * @return
 	 */
 	@PostMapping(SAVE_STOCK)
-	R saveStock(@Valid @RequestBody StockGoods stockGoods);
+	R saveStock(@RequestBody StockGoods stockGoods);
 	/**
 	 * 订单明细查询库存总账
 	 * @param stockGoods

+ 26 - 11
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/ExportDeliveryController.java

@@ -35,6 +35,7 @@ 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.enums.DeliveryEnum;
 import org.springblade.deliver.goods.service.IDeliveryService;
 import org.springblade.deliver.goods.vo.DeliveryVO;
 import org.springblade.system.user.entity.User;
@@ -81,7 +82,7 @@ public class ExportDeliveryController extends BladeController {
 		lambdaQueryWrapper.eq(Delivery::getIsDeleted,0);
 		lambdaQueryWrapper.eq(Delivery::getTenantId,SecureUtil.getTenantId());
 		lambdaQueryWrapper.eq(Delivery::getBillType,OrderTypeEnum.SHIP.getType());
-		lambdaQueryWrapper.eq(Delivery::getTradeType,OrderTypeEnum.DOMESTIC.getType());
+		lambdaQueryWrapper.eq(Delivery::getTradeType,OrderTypeEnum.EXPORT.getType());
 		lambdaQueryWrapper.between(StringUtils.isNotBlank(delivery.getCreateStartTime())&&StringUtils.isNotBlank(delivery.getCreateEndTime()),Delivery::getCreateTime,delivery.getCreateStartTime(),delivery.getCreateEndTime());
 		lambdaQueryWrapper.between(StringUtils.isNotBlank(delivery.getBusinessStartDate())&&StringUtils.isNotBlank(delivery.getBusinessEndDate()),Delivery::getBusinessDate,delivery.getBusinessStartDate(),delivery.getBusinessEndDate());
 		IPage<Delivery> pages = deliveryService.page(Condition.getPage(query), lambdaQueryWrapper);
@@ -123,16 +124,6 @@ public class ExportDeliveryController extends BladeController {
 	}
 
 	/**
-	 * 新增 出口发货通知单
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入delivery")
-	public R save(@Valid @RequestBody Delivery delivery) {
-		return R.status(deliveryService.save(delivery));
-	}
-
-	/**
 	 * 修改 出口发货通知单
 	 */
 	@PostMapping("/update")
@@ -167,6 +158,30 @@ public class ExportDeliveryController extends BladeController {
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(deliveryService.removeByIds(Func.toLongList(ids)));
 	}
+	/**
+	 * 确认发货通知单
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入delivery")
+	public R save(@Valid @RequestBody Delivery delivery) {
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
+		delivery.setTradeType(OrderTypeEnum.EXPORT.getType());
+		delivery.setDeliveryType(DeliveryEnum.DELIVER.getType());
+		return deliveryService.submit(delivery);
+	}
+	/**
+	 * 撤销发货通知单
+	 */
+	@PostMapping("/repeal")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "新增", notes = "传入delivery")
+	public R repeal(@Valid @RequestBody Delivery delivery) {
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
+		delivery.setTradeType(OrderTypeEnum.EXPORT.getType());
+		delivery.setDeliveryType(DeliveryEnum.REPEAL.getType());
+		return deliveryService.submit(delivery);
+	}
 
 
 }

+ 26 - 12
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/ImportDeliveryController.java

@@ -36,6 +36,7 @@ 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.enums.DeliveryEnum;
 import org.springblade.deliver.goods.service.IDeliveryService;
 import org.springblade.deliver.goods.vo.DeliveryVO;
 import org.springblade.stock.feign.IStockGoodsClient;
@@ -85,7 +86,7 @@ public class ImportDeliveryController extends BladeController {
 		lambdaQueryWrapper.eq(Delivery::getIsDeleted,0);
 		lambdaQueryWrapper.eq(Delivery::getTenantId,SecureUtil.getTenantId());
 		lambdaQueryWrapper.eq(Delivery::getBillType,OrderTypeEnum.SHIP.getType());
-		lambdaQueryWrapper.eq(Delivery::getTradeType,OrderTypeEnum.DOMESTIC.getType());
+		lambdaQueryWrapper.eq(Delivery::getTradeType,OrderTypeEnum.IMPORT.getType());
 		lambdaQueryWrapper.between(StringUtils.isNotBlank(delivery.getCreateStartTime())&&StringUtils.isNotBlank(delivery.getCreateEndTime()),Delivery::getCreateTime,delivery.getCreateStartTime(),delivery.getCreateEndTime());
 		lambdaQueryWrapper.between(StringUtils.isNotBlank(delivery.getBusinessStartDate())&&StringUtils.isNotBlank(delivery.getBusinessEndDate()),Delivery::getBusinessDate,delivery.getBusinessStartDate(),delivery.getBusinessEndDate());
 		IPage<Delivery> pages = deliveryService.page(Condition.getPage(query), lambdaQueryWrapper);
@@ -127,16 +128,6 @@ public class ImportDeliveryController extends BladeController {
 	}
 
 	/**
-	 * 新增 进口发货通知单
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入delivery")
-	public R save(@Valid @RequestBody Delivery delivery) {
-		return R.status(deliveryService.save(delivery));
-	}
-
-	/**
 	 * 修改 进口发货通知单
 	 */
 	@PostMapping("/update")
@@ -202,7 +193,30 @@ public class ImportDeliveryController extends BladeController {
 		deliveryService.comfire(delivery);
 		return R.success("操作成功");
 	}
-
+	/**
+	 * 确认发货通知单
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入delivery")
+	public R save(@Valid @RequestBody Delivery delivery) {
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
+		delivery.setTradeType(OrderTypeEnum.IMPORT.getType());
+		delivery.setDeliveryType(DeliveryEnum.DELIVER.getType());
+		return deliveryService.submit(delivery);
+	}
+	/**
+	 * 撤销发货通知单
+	 */
+	@PostMapping("/repeal")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "新增", notes = "传入delivery")
+	public R repeal(@Valid @RequestBody Delivery delivery) {
+		delivery.setBillType(OrderTypeEnum.SHIP.getType());
+		delivery.setTradeType(OrderTypeEnum.IMPORT.getType());
+		delivery.setDeliveryType(DeliveryEnum.REPEAL.getType());
+		return deliveryService.submit(delivery);
+	}
 
 
 

+ 5 - 14
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -115,10 +115,10 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 * 提交发货信息
 	 * @param pId
 	 * @param deliveryItemsList
-	 * @param type 操作类型  发货 1 撤销发货 2
+	 * @param
 	 * @return
 	 */
-	public List<DeliveryItems> affirmDeliveryItemsList(Long pId,Delivery delivery,List<DeliveryItems> deliveryItemsList,int type){
+	public List<DeliveryItems> affirmDeliveryItemsList(Long pId,Delivery delivery,List<DeliveryItems> deliveryItemsList){
 		for (DeliveryItems deliveryItems : deliveryItemsList) {
 			deliveryItems.setPid(pId);//父级ID
 			deliveryItems.setTenantId(SecureUtil.getTenantId());//租户id
@@ -199,8 +199,8 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		if (stockGoods.getBalanceQuantity().compareTo(deliveryItems.getActualQuantity()) < 0){
 			throw  new RuntimeException("当前结余数量为:"+stockGoods.getBalanceQuantity() +"小于发货数量,发货数量为:" +deliveryItems.getActualQuantity());
 		}
-		if (stockGoods.getLockingQuantity().compareTo(deliveryItems.getActualQuantity()) < 0){
-			throw  new RuntimeException("当前可用数量为:"+stockGoods.getLockingQuantity() +"小于发货数量,发货数量为:" +deliveryItems.getActualQuantity());
+		if (stockGoods.getSurplusRouteQuantity().compareTo(deliveryItems.getActualQuantity()) < 0){
+			throw  new RuntimeException("当前可用数量为:"+stockGoods.getSurplusRouteQuantity() +"小于发货数量,发货数量为:" +deliveryItems.getActualQuantity());
 		}
 		stockGoods.setOutQuantity(stockGoods.getOutQuantity().add( deliveryItems.getActualQuantity()));//出库数量 加
 		//stockGoods.setLockingQuantity(stockGoods.getLockingQuantity().subtract(deliveryItems.getActualQuantity()));//锁定数量 减
@@ -211,9 +211,6 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 			if (stockGoods.getBalanceWeight().compareTo(deliveryItems.getInvoiceWeight()) < 0){
 				throw  new RuntimeException("当前结余发票重量为:"+stockGoods.getBalanceWeight() +"小于发货发票重量,发货发票重量为:" +deliveryItems.getInvoiceWeight());
 			}
-			if (stockGoods.getLockingWeight().compareTo(deliveryItems.getInvoiceWeight()) < 0){
-				throw  new RuntimeException("当前结余发票重量为:"+stockGoods.getLockingWeight() +"小于发货发票重量,发货发票重量为:" +deliveryItems.getInvoiceWeight());
-			}
 			stockGoods.setOutWeight(stockGoods.getOutWeight().add(deliveryItems.getInvoiceWeight()));//出库发票重量
 			//stockGoods.setLockingWeight(stockGoods.getLockingWeight().subtract(deliveryItems.getInvoiceWeight()));//锁定发票重量
 			stockGoods.setBalanceWeight(stockGoods.getBalanceWeight().subtract(deliveryItems.getInvoiceWeight()));//结余发票重量
@@ -221,9 +218,6 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 			if (stockGoods.getBalanceVolumn().compareTo(deliveryItems.getBillWeight()) < 0){
 				throw  new RuntimeException("当前结余码单重量为:"+stockGoods.getBalanceVolumn() +"小于发货码单重量,发货码单重量为:" +deliveryItems.getBillWeight());
 			}
-			if (stockGoods.getLockingVolumn().compareTo(deliveryItems.getBillWeight()) < 0){
-				throw  new RuntimeException("当前结余码单重量为:"+stockGoods.getLockingVolumn() +"小于发货码单重量,发货码单重量为:" +deliveryItems.getBillWeight());
-			}
 			stockGoods.setOutVolumn(stockGoods.getOutVolumn().add(deliveryItems.getBillWeight()));//出库码单重量
 			//stockGoods.setLockingVolumn(stockGoods.getLockingVolumn().subtract(deliveryItems.getBillWeight()));//锁定码单重量
 			stockGoods.setBalanceVolumn(stockGoods.getBalanceVolumn().subtract(deliveryItems.getBillWeight()));//结余码单重量
@@ -328,6 +322,7 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		stockGoods.setStorageId(storageId);//仓库id
 		stockGoods.setBillNo(deliveryItems.getBillNo());
 		stockGoods.setCntrNo(deliveryItems.getCntrNo());
+		stockGoods.setItemType(deliveryItems.getSpecificationAndModel());
 		stockGoods.setContractNumber(deliveryItems.getContractNumber());
 		stockGoods.setGoodsId(deliveryItems.getItemId());//商品id
 		stockGoods.setInDate(new Date());//入库日期
@@ -352,9 +347,5 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		stockGoods.setTenantId(SecureUtil.getTenantId());
 		stockGoods.setCreateTime(new Date());
 		R saveStock = stockGoodsClient.saveStock(stockGoods);
-		if (!saveStock.isSuccess()){
-			log.error(saveStock.getMsg());
-			throw  new RuntimeException("保存库存总账出错");
-		}
 	}
 }

+ 12 - 2
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -19,6 +19,7 @@ package org.springblade.deliver.goods.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.feign.ICorpsDescClient;
@@ -170,7 +171,15 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	}
 
 	@Override
+	@GlobalTransactional
+	@Transactional(rollbackFor = Exception.class)
 	public R submit(Delivery delivery) {
+		String billStatus = null;//订单状态
+		if (delivery.getDeliveryType() != null && delivery.getDeliveryType() == DeliveryEnum.DELIVER.getType()){
+			billStatus = "已发货";
+		}else if (delivery.getDeliveryType() != null && delivery.getDeliveryType() == DeliveryEnum.REPEAL.getType()){
+			billStatus = "录入";
+		}
 		if (delivery.getId() == null){
 			R billNo = serialClient.getBillNo(delivery.getBillType());
 			if (billNo.isSuccess() && billNo.getData() != null){
@@ -181,7 +190,7 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			delivery.setCreateUser(SecureUtil.getUserId());
 			delivery.setCreateTime(new Date());
 			delivery.setTenantId(SecureUtil.getTenantId());
-			delivery.setDeliveryStatus("已发货");
+			delivery.setDeliveryStatus(billStatus);
 			baseMapper.insert(delivery);
 		}else {
 			Delivery deliverys = baseMapper.selectById(delivery.getId());//查询原始单据
@@ -191,13 +200,14 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 			{
 				throw  new RuntimeException("已撤销发货请勿重复撤销发货");
 			}
+			delivery.setDeliveryStatus(billStatus);
 			delivery.setUpdateUser(SecureUtil.getUserId());
 			delivery.setUpdateTime(new Date());
 			baseMapper.updateById(delivery);
 		}
 		//保存发货明细信息
 		if (CollectionUtils.isNotEmpty(delivery.getDeliveryItemsList())){
-			List<DeliveryItems> deliveryItemsList = deliveryItemsService.affirmDeliveryItemsList(delivery.getId(),delivery, delivery.getDeliveryItemsList(),delivery.getDeliveryType());
+			List<DeliveryItems> deliveryItemsList = deliveryItemsService.affirmDeliveryItemsList(delivery.getId(),delivery, delivery.getDeliveryItemsList());
 			delivery.setDeliveryItemsList(deliveryItemsList);
 		}
 		//保存发货费用信息

+ 1 - 1
blade-service/blade-stock/src/main/java/org/springblade/stock/feign/StockGoodsClient.java

@@ -53,7 +53,7 @@ public class StockGoodsClient implements IStockGoodsClient{
 	 */
 	@Override
 	@PostMapping(SAVE_STOCK)
-	public R saveStock(@Valid StockGoods stockGoods) {
+	public R saveStock(StockGoods stockGoods) {
 		return R.status(stockGoodsService.saveStock(stockGoods));
 	}