Bläddra i källkod

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

lazhaoqian 3 år sedan
förälder
incheckning
9757518d53
19 ändrade filer med 244 tillägg och 9 borttagningar
  1. 3 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java
  2. 4 0
      blade-service-api/blade-deliver-goods-api/src/main/java/org/springblade/deliver/goods/entity/DeliveryItems.java
  3. 2 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/OrderItems.java
  4. 6 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/feign/IOrderItemsClient.java
  5. 5 0
      blade-service-api/blade-stock-api/src/main/java/org/springblade/stock/feign/IStockGoodsClient.java
  6. 3 0
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/SettlementDTO.java
  7. 4 0
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java
  8. 3 0
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java
  9. 1 0
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditPathsActsController.java
  10. 5 1
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java
  11. 3 0
      blade-service/blade-check/src/main/java/org/springblade/check/entity/AuditPathsActs.java
  12. 16 1
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java
  13. 31 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderItemsClient.java
  14. 25 0
      blade-service/blade-stock/src/main/java/org/springblade/stock/feign/StockGoodsClient.java
  15. 11 2
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java
  16. 3 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/ISettlementService.java
  17. 103 4
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java
  18. 10 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/component/impl/DefaultOrderSaveImpl.java
  19. 6 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/PurchaseOrderController.java

+ 3 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java

@@ -218,6 +218,9 @@ public class GoodsDesc implements Serializable {
 	private String corpName;
 
 
+	@ApiModelProperty(value = "箱重量")
+	private String cartonWeight;
+
 
 
 

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

@@ -280,6 +280,10 @@ public class DeliveryItems implements Serializable {
 
     	@ApiModelProperty(value = "库存重量")
 		private BigDecimal inWeight;
+		@ApiModelProperty(value = "币别")
+    	private String currency;
+		@ApiModelProperty(value = "汇率")
+    	private String exRate;
 
 
 }

+ 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);
 }

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

@@ -25,6 +25,7 @@ public interface IStockGoodsClient {
 	String GET_STOCK_BY_ID = API_PREFIX + "/getStockByID";
 	String GET_ONE = API_PREFIX + "/getOne";
 	String GET_STOCK_BY_CONDITIONS = API_PREFIX + "/getStockByCondition";
+	String LIST_STOCK_BY_CONDITIONS = API_PREFIX + "/listStockByCondition";
 
 	/**
 	 * 查询库存总账 是否存在
@@ -89,4 +90,8 @@ public interface IStockGoodsClient {
 	 */
 	@PostMapping(GET_ONE)
 	StockGoods getOneStock(@RequestBody StockGoods stockGoods);
+
+	@GetMapping(LIST_STOCK_BY_CONDITIONS)
+    List<StockGoods> listStockByCondition(@RequestBody StockGoods stockGoods);
+
 }

+ 3 - 0
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/dto/SettlementDTO.java

@@ -44,4 +44,7 @@ public class SettlementDTO extends Settlement {
 
 	@ApiModelProperty(value = "收付款明细列表")
 	private List<Items> itemsList;
+
+	@ApiModelProperty(value = "原结算单状态")
+	private String originBillType;
 }

+ 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;
 }

+ 1 - 0
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditPathsActsController.java

@@ -112,6 +112,7 @@ public class AuditPathsActsController extends BladeController {
 	{
 		LambdaQueryWrapper<AuditPathsActs> auditPathsActsLambdaQueryWrapper=new LambdaQueryWrapper<>();
 		auditPathsActsLambdaQueryWrapper
+			.eq(AuditPathsActs::getIsEnable,1)
 			.eq(AuditPathsActs::getFidStatus,fidStatus)
 			.eq(AuditPathsActs::getTenantId,AuthUtil.getTenantId())
 			.eq(AuditPathsActs::getActId,actId);

+ 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);
 	}
 

+ 3 - 0
blade-service/blade-check/src/main/java/org/springblade/check/entity/AuditPathsActs.java

@@ -75,5 +75,8 @@ public class AuditPathsActs implements Serializable {
 	@TableField(exist = false)
 		private String pathName;
 
+	@ApiModelProperty(value = "是否启用此审批流(1启动 2不启动)")
+	private Integer isEnable;
+
 
 }

+ 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));
+	}
 }

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

@@ -3,6 +3,7 @@ package org.springblade.stock.feign;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.formula.functions.T;
@@ -22,6 +23,7 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 import java.math.BigDecimal;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -125,4 +127,27 @@ public class StockGoodsClient implements IStockGoodsClient{
 
 		return stockGoodsService.getOne(queryWrapper);
 	}
+
+	@Override
+	@GetMapping(LIST_STOCK_BY_CONDITIONS)
+	public List<StockGoods> listStockByCondition(StockGoods stockGoods)
+	{
+		LambdaQueryWrapper<StockGoods> stockGoodsLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		stockGoodsLambdaQueryWrapper
+			.eq(stockGoods.getStorageId()!=null,StockGoods::getStorageId,stockGoods.getStorageId())
+			.eq(StringUtils.isNotBlank(stockGoods.getContractNumber()),StockGoods::getContractNumber,stockGoods.getContractNumber())
+			.eq(StringUtils.isNotBlank(stockGoods.getBillNo()),StockGoods::getBillNo,stockGoods.getBillNo())
+			.eq(StockGoods::getIsDeleted,0)
+			.eq(StockGoods::getTenantId,AuthUtil.getTenantId());
+		List<StockGoods> goodsList = stockGoodsService.list(stockGoodsLambdaQueryWrapper);
+		if(CollectionUtils.isNotEmpty(goodsList))
+		{
+			return goodsList;
+		}
+		else
+		{
+			return Collections.EMPTY_LIST;
+		}
+
+	}
 }

+ 11 - 2
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java

@@ -163,8 +163,17 @@ public class SettlementController extends BladeController {
 	@ApiOperation(value = "修改新增收付款信息", notes = "传入修改新增收付款信息对象")
 	public R modify(@RequestBody SettlementDTO dto)
 	{
-		settlementService.modify(dto);
-		return R.data(dto);
+		Settlement modify = settlementService.modify(dto);
+		return R.data(modify);
+	}
+
+	@PostMapping("cancelModify")
+	@ApiOperation(value = "撤销结算", notes = "撤销结算")
+	public R cancelModify(@RequestBody SettlementDTO dto)
+	{
+
+		Settlement modify = settlementService.cancelModify(dto);
+		return R.data(modify);
 	}
 
 	@PostMapping("saveOrEdit")

+ 3 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/service/ISettlementService.java

@@ -44,7 +44,9 @@ public interface ISettlementService extends IService<Settlement> {
 	IPage<SettlementVO> selectSettlementPage(IPage<SettlementVO> page, SettlementVO settlement);
 
 	/**修改新增收付款信息 */
-	void modify(SettlementDTO settlementDTO);
+	Settlement modify(SettlementDTO settlementDTO);
+    //取消结算
+	Settlement cancelModify(SettlementDTO settlementDTO);
 
 	Settlement apply(List<Items> itemsList, String billType);
 

+ 103 - 4
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -85,12 +85,52 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 	@Override
 	@Transactional
 	@GlobalTransactional
-	public void modify(SettlementDTO settlementDTO)
+	public Settlement cancelModify(SettlementDTO settlementDTO)
+	{
+		Settlement model=new Settlement();
+		BeanUtils.copyProperties(settlementDTO,model);
+		List<Items> itemsList = settlementDTO.getItemsList();
+		if(settlementDTO.getId()==null)
+		{
+			throw new SecurityException("取消结算失败,无主表信息");
+		}
+		//撤销后, 回归主表原来的状态
+		model.setFinanceStatus("待结算");
+		model.setUpdateTime(new Date());
+		model.setUpdateUser(AuthUtil.getUserId());
+		model.setUpdateUserName(AuthUtil.getUser().getRoleName());
+		baseMapper.updateById(model);
+		//撤销后, 回归子表回归原来状态
+		if(CollectionUtils.isNotEmpty(itemsList))
+		{
+			itemsList.forEach(e->{
+
+				e.setUpdateTime(new Date());
+				e.setUpdateUser(AuthUtil.getUserId());
+				e.setUpdateUserName(AuthUtil.getUser().getRoleName());
+				itemsMapper.updateById(e);
+				cancelPayAcc(settlementDTO,e);
+			});
+		}
+		model.setItemsList(itemsList);
+		return model;
+	}
+
+
+
+
+
+
+	@Override
+	@Transactional
+	@GlobalTransactional
+	public Settlement modify(SettlementDTO settlementDTO)
 	{
 		Settlement model=new Settlement();
 		BeanUtils.copyProperties(settlementDTO,model);
 		List<Files> filesList = settlementDTO.getFilesList();
  		List<Items> itemsList = settlementDTO.getItemsList();
+		model.setItemsList(itemsList);
 		//如果id=null, 无论主表还是从表, 必然都是新增
  		Long id = settlementDTO.getId();
 		if(id==null)
@@ -99,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);
@@ -119,9 +160,10 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		//主表更新, 从表视情况更新新增
 		else
 		{
-
+			model.setFinanceStatus("结算完成");
 			model.setUpdateTime(new Date());
 			model.setUpdateUser(AuthUtil.getUserId());
+			model.setSettlementDate(new Date());
 			model.setUpdateUserName(AuthUtil.getUser().getRoleName());
 			baseMapper.updateById(model);
 
@@ -150,11 +192,12 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 						payAcc(settlementDTO,e);
 					}
 
-
 				});
 			}
 
 		}
+		model.setFinanceStatus("结算完成");
+		return model;
 		//验证结算总金额是否超限
 		/*if(settlementDTO.getBillType().equals("收费")||settlementDTO.getBillType().equals("付费"))
 		{
@@ -180,10 +223,62 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 
 
 	}
+	//撤销
+	public void  cancelPayAcc(SettlementDTO settlementDTO,Items items)
+	{
+		Long accId = items.getAccId();
+		if(accId==null)
+		{
+			throw new SecurityException("撤销账单失败,没有绑定明细信息");
+		}
+		Acc acc = accMapper.selectById(accId);
+		if(acc==null)
+		{
+			throw new SecurityException("撤销账单失败,无对应明细信息");
+		}
+		//取消结算后,更新回退acc表金额,采购收费 销售付费
+		if(acc.getSettlementAmount()==null)
+		{
+			throw new SecurityException("撤销账单失败,结算金额为空");
+		}
+		acc.setSettlementAmount(acc.getSettlementAmount().subtract(items.getThisAmount()));
+        //判断是否退款,已收金额为负数
+		BigDecimal settlementAmount = acc.getSettlementAmount();
+		if(settlementAmount.compareTo(new BigDecimal("0")) ==-1)
+		{
+			throw new SecurityException("撤销账单失败,已结算金额为负数");
+		}
+		accMapper.updateById(acc);
+		//修改原业务表数据
+		Long srcParentId = acc.getSrcParentId();
+		if(srcParentId==null)
+		{
+			throw new SecurityException("撤销账单失败,未获取到原业务信息");
+		}
+		Order client = orderDescClient.getById(srcParentId);
+		if(client==null)
+		{
+			throw new SecurityException("撤销账单失败,未获取到原业务信息");
+		}
+		//回退原业务表数据
+		if(client.getSettlmentAmount() == null)
+		{
+			throw new SecurityException("撤销账单失败,原业务表已收金额为空");
+		}
+		client.setSettlmentAmount(client.getSettlmentAmount().subtract(items.getThisAmount()));
+		orderDescClient.updateOrder(client);
+	}
+
+
+
     //修改财务账单和订单表已收金额
 	public void  payAcc(SettlementDTO settlementDTO,Items items)
 	{
 		Long accId = items.getAccId();
+		if(accId==null)
+		{
+			throw new SecurityException("操作失败,没有绑定明细信息");
+		}
 		Acc acc = accMapper.selectById(accId);
 		if(acc==null)
 		{
@@ -200,6 +295,10 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		accMapper.updateById(acc);
 		//修改原业务表数据
 		Long srcParentId = acc.getSrcParentId();
+		if(srcParentId==null)
+		{
+			throw new SecurityException("操作失败,未获取到原业务信息");
+		}
 		Order client = orderDescClient.getById(srcParentId);
         if(client==null)
         {
@@ -232,7 +331,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		   //todo 系统编号暂时按时间戳, 后续按正式
 		   settlement.setSysNo(String.valueOf(System.currentTimeMillis()));
 		   settlement.setCreateTime(new Date());
-		   settlement.setAmount(total);
+		  /* settlement.setAmount(total);*/
 		   settlement.setTenantId(AuthUtil.getTenantId());
 		   settlement.setCreateUser(AuthUtil.getUserId());
 		   settlement.setStatus(0);

+ 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);
 				}