Browse Source

Merge remote-tracking branch 'origin/dev' into dev

lazhaoqian 4 years ago
parent
commit
7e37b84108

+ 11 - 4
blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsTypeController.java

@@ -19,6 +19,7 @@ package org.springblade.client.goods.controller;
 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.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
@@ -29,6 +30,7 @@ import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.entity.GoodsType;
 import org.springblade.client.entity.GoodsTypeDesc;
 import org.springblade.client.goods.enums.GoodsTypeEnum;
+import org.springblade.client.goods.service.IGoodsDescService;
 import org.springblade.client.goods.service.IGoodsTypeDescService;
 import org.springblade.client.goods.service.IGoodsTypeService;
 import org.springblade.client.vo.GoodsTypeVO;
@@ -38,6 +40,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.*;
 
@@ -60,6 +63,8 @@ public class GoodsTypeController extends BladeController {
 
 	private final IGoodsTypeDescService iGoodsTypeDescService;
 
+	private final IGoodsDescService goodsDescService;
+
 	/**
 	 * 详情
 	 */
@@ -125,9 +130,11 @@ public class GoodsTypeController extends BladeController {
 		if (count != null && count > 0) {
 			return R.fail(500, "存在下级类别不能删除");
 		}
-		LambdaQueryWrapper<GoodsTypeDesc> lambdaQueryWrapper=new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(GoodsTypeDesc::getGoodsTypeId,goodsType.getId());
-		if(iGoodsTypeDescService.count(lambdaQueryWrapper)>0)
+		LambdaQueryWrapper<GoodsDesc> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.apply("find_in_set('"+goodsType.getId()+"',goods_type_id)")
+		    .eq(GoodsDesc::getTenantId,AuthUtil.getTenantId())
+			.eq(GoodsDesc::getIsDeleted,0);
+		if(goodsDescService.count(lambdaQueryWrapper)>0)
 		{
 			return R.fail(500, "存在绑定商品无法删除");
 		}
@@ -148,7 +155,7 @@ public class GoodsTypeController extends BladeController {
 		if (StringUtils.isBlank(goodsType.getCname())) {
 			return R.fail(500, "名称不能为空");
 		}
-		goodsTypeService.selectGoodsTypeCname(goodsType);
+		//goodsTypeService.selectGoodsTypeCname(goodsType);
 		goodsType.setType(GoodsTypeEnum.GOODS.getType());
 		return R.data(goodsTypeService.saveMessage(goodsType));
 	}

+ 1 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsDescServiceImpl.java

@@ -187,6 +187,7 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
 		lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted,0);
 		lambdaQueryWrapper.eq(GoodsDesc::getCode,goodsDesc.getCode());
 		lambdaQueryWrapper.eq(GoodsDesc::getCname,goodsDesc.getCname());
+		lambdaQueryWrapper.eq(GoodsDesc::getTenantId,AuthUtil.getTenantId());
 		GoodsDesc selectOne = baseMapper.selectOne(lambdaQueryWrapper);
 		if(selectOne != null && goodsDesc.getId() == null) {
 			throw new ServiceException("存在重复数据,请修改后添加");

+ 2 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsTypeServiceImpl.java

@@ -105,6 +105,8 @@ public class GoodsTypeServiceImpl extends ServiceImpl<GoodsTypeMapper, GoodsType
 		}
 		goodsType.setTenantId(AuthUtil.getTenantId());
 		if (goodsType.getId() == null) {
+			//验证名称唯一性
+			this.selectGoodsTypeCname(goodsType);
 			goodsType.setTenantId(AuthUtil.getTenantId());
 			goodsType.setCreateUser(AuthUtil.getUserId());
 			goodsType.setCreateTime(new Date());

+ 9 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/DeliveryController.java

@@ -188,5 +188,14 @@ public class DeliveryController extends BladeController {
 		return R.status(deliveryService.removeByIds(Func.toLongList(ids)));
 	}
 
+	@PostMapping("comfire")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "确认收货", notes = "确认收货")
+	public R comfire(@RequestBody Delivery delivery)
+	{
+		deliveryService.comfire(delivery);
+		return R.success("操作成功");
+	}
+
 
 }

+ 9 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/ExportDeliveryController.java

@@ -183,5 +183,14 @@ public class ExportDeliveryController extends BladeController {
 		return deliveryService.submit(delivery);
 	}
 
+	@PostMapping("comfire")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "确认收货", notes = "确认收货")
+	public R comfire(@RequestBody Delivery delivery)
+	{
+		deliveryService.comfire(delivery);
+		return R.success("操作成功");
+	}
+
 
 }

+ 21 - 6
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -318,13 +318,10 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 	 */
 	public void saveStock(String tradeType,Long corpId,Long storageId,DeliveryItems deliveryItems){
 		StockGoods stockGoods = new StockGoods();
-		stockGoods.setCorpId(corpId);//客户
-		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.setItemType(deliveryItems.getSpecificationAndModel());//规格明细
+
+		//入库数量
 		stockGoods.setInDate(new Date());//入库日期
 		stockGoods.setInQuantity(deliveryItems.getActualQuantity());//入库数量
 		stockGoods.setOutQuantity(new BigDecimal(0.00));//出库数量
@@ -334,6 +331,14 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		stockGoods.setSurplusRouteQuantity(deliveryItems.getActualQuantity());//可用数量
 		//进口贸易 还需要追加码单重量 和 发票重量
 		if (tradeType.equals(OrderTypeEnum.IMPORT.getType())){
+			stockGoods.setBillNo(deliveryItems.getBillNo());//提单号
+			stockGoods.setContractNumber(deliveryItems.getContractNumber());//合同号
+			stockGoods.setCorpId(corpId);//供应商
+			stockGoods.setStorageId(storageId);//仓库id
+			stockGoods.setTypeno(deliveryItems.getSpecificationAndModel());//规格型号
+			stockGoods.setCntrNo(deliveryItems.getCntrNo());//箱号
+
+
 			stockGoods.setInWeight(deliveryItems.getInvoiceWeight());//入库发票重量
 			stockGoods.setOutWeight(new BigDecimal(0.00));//出库发票重量
 			stockGoods.setLockingWeight(new BigDecimal(0.00));//锁定发票重量
@@ -343,6 +348,16 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 			stockGoods.setLockingVolumn(new BigDecimal(0.00));//锁定码单重量
 			stockGoods.setBalanceVolumn(deliveryItems.getBillWeight());//结余码单重量
 		}
+		//国内
+		else if(tradeType.equals(OrderTypeEnum.DOMESTIC.getType()))
+		{
+			stockGoods.setStorageId(storageId);//仓库id
+		}
+		//出口
+		else if(tradeType.equals(OrderTypeEnum.EXPORT.getType()))
+		{
+			stockGoods.setCorpId(corpId);//供应商
+		}
 		stockGoods.setCreateUser(SecureUtil.getUserId());
 		stockGoods.setTenantId(SecureUtil.getTenantId());
 		stockGoods.setCreateTime(new Date());

+ 23 - 4
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -238,11 +238,30 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 				BigDecimal inventoryNumber = e.getActualQuantity();
 				//实际库存有没有库存
 				StockGoods model=new StockGoods();
-				model.setCntrNo(e.getCntrNo());
-				model.setBillNo(e.getBillNo());
-				model.setCorpId(delivery.getCorpId());
-				model.setStorageId(delivery.getStorageId());
 				model.setGoodsId(e.getItemId());
+				//不同的出口对应不同的查询条件
+				if(delivery.getTradeType().equals("JK"))
+				{
+					model.setCntrNo(e.getCntrNo());
+					model.setBillNo(e.getBillNo());
+					model.setCorpId(delivery.getCorpId());
+					model.setStorageId(delivery.getStorageId());
+					model.setItemType(e.getSpecificationAndModel());
+				}
+				else if(delivery.getTradeType().equals("CK"))
+				{
+					model.setCorpId(delivery.getCorpId());
+					model.setItemType(e.getSpecificationAndModel());
+				}
+				else if(delivery.getTradeType().equals("GN"))
+				{
+					model.setStorageId(delivery.getStorageId());
+					model.setItemType(e.getSpecificationAndModel());
+				}
+				else
+				{
+					throw new SecurityException("贸易类型未指定");
+				}
 				StockGoods stock=stockGoodsClient.getOneStock(model);
 
 				// 比较2个库存值是否相等