1021934019@qq.com 4 лет назад
Родитель
Сommit
9fddf4fe8e

+ 2 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/OrderItems.java

@@ -391,4 +391,6 @@ public class OrderItems implements Serializable {
 	@ApiModelProperty(value = "币别")
 	private String currency;
 
+	@ApiModelProperty(value = "已收发票重量")
+	private BigDecimal  actualWeight;
 }

+ 6 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IOrderItemsClient.java

@@ -14,6 +14,7 @@ import java.math.BigDecimal;
 public interface IOrderItemsClient {
 	String API_PREFIX = "/client";
 	String ACTUAL_QUANTITY = API_PREFIX + "actualQuantity";
+	String ACTUAL_WEIGHT = API_PREFIX + "actualWeight";
 
 
 	/**
@@ -27,4 +28,9 @@ public interface IOrderItemsClient {
 	R updateActualQuantity(@RequestParam("orderItemsId") Long orderItemsId,
 						   @RequestParam("actualQuantity")BigDecimal actualQuantity,
 						   @RequestParam("deliveryType")int deliveryType);
+
+	@GetMapping(ACTUAL_WEIGHT)
+	R updateActualWeight(@RequestParam("orderItemsId") Long orderItemsId,
+						   @RequestParam("actualWeight")BigDecimal actualWeight,
+						   @RequestParam("deliveryType")int deliveryType);
 }

+ 4 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java

@@ -591,4 +591,8 @@ public class Order extends OrderBase {
 	@ApiModelProperty(value = "发票金额")
 	private BigDecimal invoiceAmount;
 
+	@ApiModelProperty(value = "已收重量")
+	@TableField(exist = false)
+	private BigDecimal actualWeight;
+
 }

+ 3 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java

@@ -359,4 +359,7 @@ public class OrderItems extends OrderBase {
 	 */
 	@ApiModelProperty(value = "币别")
 	private String currency;
+
+	@ApiModelProperty(value = "已收发票重量")
+	private BigDecimal  actualWeight;
 }

+ 5 - 1
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.check.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import org.springblade.check.dto.AuditProecessDTO;
 import io.swagger.annotations.Api;
@@ -27,6 +28,7 @@ import org.springblade.check.entity.AuditProecess;
 import org.springblade.check.service.IAuditProecessService;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -53,7 +55,9 @@ public class AuditProecessController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表-审批流记录", notes = "传入auditProecess")
 	public R<IPage<AuditProecess>> list(AuditProecess auditProecess, Query query) {
-		IPage<AuditProecess> pages = auditProecessService.page(Condition.getPage(query), Condition.getQueryWrapper(auditProecess));
+		LambdaQueryWrapper<AuditProecess> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.like(AuditProecess::getAuditUserId, String.valueOf(AuthUtil.getUserId()));
+		IPage<AuditProecess> pages = auditProecessService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 16 - 1
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -238,6 +238,8 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		    deliveryItemsList.forEach(e->{
 		    	//传入库存
 				BigDecimal inventoryNumber = e.getActualQuantity();
+				//传入发票重量
+				BigDecimal invoiceWeight = e.getInvoiceWeight();
 				//实际库存有没有库存
 				StockGoods model=new StockGoods();
 				model.setGoodsId(e.getItemId());
@@ -289,7 +291,13 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 				R r = iOrderItemsClient.updateActualQuantity(e.getSrcId(), inventoryNumber, 1);
 				if(!r.isSuccess())
 				{
-					throw new SecurityException("更新采购明细失败:"+r.getMsg());
+					throw new SecurityException("更新采购明细失败->已发数量:"+r.getMsg());
+				}
+				//更新item已收发票重量
+				R weightR = iOrderItemsClient.updateActualWeight(e.getSrcId(), invoiceWeight, 1);
+				if(!weightR.isSuccess())
+				{
+					throw new SecurityException("更新采购明细失败->已发发票重量:"+r.getMsg());
 				}
 				//更新库存内容
 				iDeliveryItemsService.updateById(e);
@@ -316,11 +324,18 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		 deliveryItemsList.forEach(e->{
 			 //更新item已发数量
 			 BigDecimal inventoryNumber = e.getActualQuantity();
+			 BigDecimal invoiceWeight = e.getInvoiceWeight();
 			 R r = iOrderItemsClient.updateActualQuantity(e.getSrcId(), inventoryNumber, 2);
 			 if(!r.isSuccess())
 			 {
 				 throw new SecurityException("更新采购明细失败:"+r.getMsg());
 			 }
+			 //更新item 发票重量
+			 R weightR = iOrderItemsClient.updateActualWeight(e.getSrcId(), invoiceWeight, 2);
+			 if(!weightR.isSuccess())
+			 {
+				 throw new SecurityException("更新采购明细失败->已发发票重量:"+r.getMsg());
+			 }
 			 //查询stock,后续更新stock数量
 			 StockGoods model=new StockGoods();
 			 model.setGoodsId(e.getItemId());

+ 31 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderItemsClient.java

@@ -57,4 +57,35 @@ public class OrderItemsClient implements IOrderItemsClient{
 		}
 		return R.data(orderItemsService.updateById(items));
 	}
+
+	@Override
+	@GetMapping(ACTUAL_WEIGHT)
+	public R updateActualWeight(Long orderItemsId, BigDecimal actualWeight, int deliveryType)
+	{
+		OrderItems orderItems = orderItemsService.getById(orderItemsId);
+		if (orderItems == null){
+			throw new RuntimeException("找不到订单明细");
+		}
+		OrderItems items = new OrderItems();
+		if (deliveryType == DeliveryEnum.DELIVER.getType()){ //发货
+			log.info("发货-发票重量为:==>"+actualWeight);
+			log.info("原发票重量:==>"+orderItems.getInvoiceWeight());
+			log.info("已收发票重量:==>"+orderItems.getActualWeight());
+			log.info("原发票重量-已收发票重量:==>"+orderItems.getInvoiceWeight().subtract(orderItems.getActualWeight()));
+
+			//判断 已发货数量 或者 已收货数量 ,不能大于(订货数量-已收数量)
+			if(actualWeight.compareTo(orderItems.getInvoiceWeight().subtract(orderItems.getActualWeight()))>0)
+			{
+				throw  new RuntimeException("操作数量禁止大于订货数量");
+			}
+
+			items.setActualWeight(orderItems.getActualWeight().add(actualWeight));
+		}else if (deliveryType == DeliveryEnum.REPEAL.getType()){ //撤销发货
+			if (orderItems.getActualWeight().compareTo(actualWeight) <0){
+				throw  new RuntimeException("当前可撤销发货数量为"+orderItems.getActualWeight());
+			}
+			items.setActualWeight(orderItems.getActualWeight().subtract(actualWeight));
+		}
+		return R.data(orderItemsService.updateById(items));
+	}
 }

+ 1 - 4
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java

@@ -171,10 +171,7 @@ public class SettlementController extends BladeController {
 	@ApiOperation(value = "撤销结算", notes = "撤销结算")
 	public R cancelModify(@RequestBody SettlementDTO dto)
 	{
-		if(StringUtils.isNotBlank(dto.getOriginBillType())|| !dto.getOriginBillType().equals("收费") || !dto.getOriginBillType().equals("付费"))
-		{
-			throw new SecurityException("撤销失败,originBillType状态不正确");
-		}
+
 		Settlement modify = settlementService.cancelModify(dto);
 		return R.data(modify);
 	}

+ 2 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -139,6 +139,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			model.setFinanceStatus("结算完成");
             model.setTenantId(AuthUtil.getTenantId());
 			model.setCreateTime(new Date());
+			model.setSettlementDate(new Date());
 			model.setCreateUser(AuthUtil.getUserId());
 			model.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
 			baseMapper.insert(model);
@@ -162,6 +163,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			model.setFinanceStatus("结算完成");
 			model.setUpdateTime(new Date());
 			model.setUpdateUser(AuthUtil.getUserId());
+			model.setSettlementDate(new Date());
 			model.setUpdateUserName(AuthUtil.getUser().getRoleName());
 			baseMapper.updateById(model);
 

+ 10 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/component/impl/DefaultOrderSaveImpl.java

@@ -112,10 +112,18 @@ public class DefaultOrderSaveImpl implements IOrderSave {
 			{
 				order.setOrgOrderNo(order.getOrderNo());
 			}
+			//订单编号转大写
+			order.setOrderNo(order.getOrderNo().toUpperCase());
+			order.setSysNo(order.getSysNo().toUpperCase());
+			order.setBillNo(order.getBillNo().toUpperCase());
 			order.setCreateTime(new Date());
 			order.setCreateUser(AuthUtil.getUserId());
 			orderService.insert(order);
 		} else {
+			//防止有人改成小写的字母
+			order.setOrderNo(order.getOrderNo().toUpperCase());
+			order.setSysNo(order.getSysNo().toUpperCase());
+			order.setBillNo(order.getBillNo().toUpperCase());
 			order.setUpdateTime(new Date());
 			order.setUpdateUser(AuthUtil.getUserId());
 			orderService.updateById(order);
@@ -141,10 +149,12 @@ public class DefaultOrderSaveImpl implements IOrderSave {
 				if (Objects.isNull(li.getId())) {
 					li.setCreateTime(new Date());
 					li.setCreateUser(AuthUtil.getUserId());
+					li.setBillNo(li.getBillNo().toUpperCase());
 					orderItemsMapper.insert(li);
 				} else {
 					li.setUpdateTime(new Date());
 					li.setUpdateUser(AuthUtil.getUserId());
+					li.setBillNo(li.getBillNo().toUpperCase());
 					orderItemsMapper.updateById(li);
 				}
 			});

+ 6 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/PurchaseOrderController.java

@@ -233,6 +233,12 @@ public class PurchaseOrderController extends BladeController {
 						.map(OrderItems::getActualQuantity)
 						.reduce(BigDecimal.ZERO, BigDecimal::add);
 					e.setActualQuantity(actualQuantity);
+
+					//已收重量
+					BigDecimal actualWeight = orderItemsList.stream().filter(it -> it.getActualWeight() != null)
+						.map(OrderItems::getActualWeight)
+						.reduce(BigDecimal.ZERO, BigDecimal::add);
+					e.setActualWeight(actualWeight);
 				}