Browse Source

修改结算

ioioio 4 years ago
parent
commit
59d092d1cc

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

@@ -27,4 +27,7 @@ public interface IOrderFeesClient {
 	@PostMapping("/orderfees/submit")
 	R submit(@RequestBody OrderFees orderFees);
 
+	@GetMapping("/orderfees/getById")
+	OrderFees getById(@RequestParam("id") Long id);
+
 }

+ 7 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderFeesController.java

@@ -27,6 +27,7 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.purchase.sales.entity.Order;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.purchase.sales.entity.OrderFees;
@@ -59,6 +60,12 @@ public class OrderFeesController extends BladeController {
 		return R.data(detail);
 	}
 
+	@GetMapping("/getById")
+	OrderFees getById(@RequestParam("id") Long id)
+	{
+		return  orderFeesService.getById(id);
+	}
+
 	/**
 	 * 分页 订单费用明细表
 	 */

+ 16 - 17
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -295,22 +295,24 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			{
 				throw new SecurityException("撤销账单失败,未获取到原业务信息");
 			}
-			OrderFees orderFees=new OrderFees();
-			orderFees.setId(srcFeesId);
-			orderFees.setTenantId(AuthUtil.getTenantId());
-			R<OrderFees> detail = orderFeesClient.detail(orderFees);
-			if(detail==null)
+
+			OrderFees orderFees = orderFeesClient.getById(srcFeesId);
+			if(orderFees==null)
 			{
 				throw new SecurityException("修改原单据失败");
 			}
-			OrderFees fees = detail.getData();
 			//回退原业务表数据
-			if(fees.getSettlmentAmount() == null)
+			if(orderFees.getSettlmentAmount() == null)
 			{
 				throw new SecurityException("撤销账单失败,原业务表已收金额为空");
 			}
-			fees.setSettlmentAmount(fees.getSettlmentAmount().subtract(items.getThisAmount()));
-			orderFeesClient.submit(fees);
+			BigDecimal decimal = orderFees.getSettlmentAmount().subtract(items.getThisAmount());
+			if(decimal.compareTo(BigDecimal.ZERO)==-1)
+			{
+				throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+			}
+			orderFees.setSettlmentAmount(decimal);
+			orderFeesClient.submit(orderFees);
 		}
 
 	}
@@ -372,17 +374,14 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			{
 				throw new SecurityException("操作失败,未获取到原业务信息");
 			}
-			OrderFees orderFees=new OrderFees();
-			orderFees.setId(srcFeesId);
-			orderFees.setTenantId(AuthUtil.getTenantId());
-			R<OrderFees> detail = orderFeesClient.detail(orderFees);
-			if(detail==null)
+
+			OrderFees orderFees = orderFeesClient.getById(srcFeesId);
+			if(orderFees==null)
 			{
 				throw new SecurityException("修改原单据失败");
 			}
-			OrderFees fees = detail.getData();
-			fees.setSettlmentAmount(fees.getSettlmentAmount()!=null?fees.getSettlmentAmount().add(items.getThisAmount()):new BigDecimal("0").add(items.getThisAmount()));
-			orderFeesClient.submit(fees);
+			orderFees.setSettlmentAmount(orderFees.getSettlmentAmount()!=null?orderFees.getSettlmentAmount().add(items.getThisAmount()):new BigDecimal("0").add(items.getThisAmount()));
+			orderFeesClient.submit(orderFees);
 		}
 		else
 		{

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

@@ -141,17 +141,17 @@ 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.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.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);