Parcourir la source

2022年9月21日18:22:20

纪新园 il y a 3 ans
Parent
commit
adf2d67921
17 fichiers modifiés avec 282 ajouts et 42 suppressions
  1. 12 0
      blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java
  2. 13 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java
  3. 5 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java
  4. 13 1
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java
  5. 2 0
      blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java
  6. 6 0
      blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java
  7. 10 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/IDictBizService.java
  8. 16 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictBizServiceImpl.java
  9. 4 0
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java
  10. 2 1
      blade-service/trade-purchase/src/main/java/com/trade/purchase/agreement/controller/AgreementitemsController.java
  11. 3 15
      blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/CMYWarehousingExcel.java
  12. 1 1
      blade-service/trade-purchase/src/main/java/com/trade/purchase/financing/controller/FinancingController.java
  13. 13 3
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/WoodHarvestingCloudController.java
  14. 1 2
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml
  15. 7 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/IOrderService.java
  16. 1 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderItemsServiceImpl.java
  17. 173 19
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

+ 12 - 0
blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java

@@ -228,4 +228,16 @@ public class AuditProecess implements Serializable {
 		@ApiModelProperty(value = "订单备注")
 		private String orderRemark;
 
+	/**
+	 * 应收金额
+	 */
+	@ApiModelProperty(value = "应收金额")
+	private BigDecimal receivableAmount;
+
+	/**
+	 * 应付金额
+	 */
+	@ApiModelProperty(value = "应付金额")
+	private BigDecimal payAmount;
+
 }

+ 13 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java

@@ -43,6 +43,7 @@ public interface IDictBizClient {
 	String GET_LIST = API_PREFIX + "/dict-biz/get-list";
 	String GET_ID = API_PREFIX + "/dict-biz/get-id";
 	String GET_ONE_VALUE = API_PREFIX + "/dict-biz/get-one-value";
+	String GET_ONE_BY_VALUE = API_PREFIX + "/dict-biz/get_one_by_value";
 	/**
 	 * 获取字典实体
 	 *
@@ -93,4 +94,16 @@ public interface IDictBizClient {
 						  @RequestParam("dictKey") String dictKey,
 						  @RequestParam("tenantId") String tenantId);
 
+	/**
+	 * 获取字典表某一个对应值
+	 *
+	 * @param code    字典编号
+	 * @param dictValue 字典名称
+	 * @return
+	 */
+	@GetMapping(GET_ONE_BY_VALUE)
+	R<String> getOneByValue(@RequestParam("code") String code,
+						  @RequestParam("dictValue") String dictValue,
+						  @RequestParam("tenantId") String tenantId);
+
 }

+ 5 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java

@@ -53,4 +53,9 @@ public class IDictBizClientFallback implements IDictBizClient {
 	public R<String> getOneValue(String code, String dictKey, String tenantId) {
 		return R.fail("获取数据失败");
 	}
+
+	@Override
+	public R<String> getOneByValue(String code, String dictValue, String tenantId) {
+		return R.fail("获取数据失败");
+	}
 }

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

@@ -115,7 +115,19 @@ public class AuditProecessController extends BladeController {
 								auditOrderVO.setCorpsName(corpsDesc.getData().getCname());
 							}
 						}
-					} else {
+					}else if ("RK".equals(e.getCheckType()) || "CK".equals(e.getCheckType()) || "PD".equals(e.getCheckType())){
+						if (e.getBillId() != null) {
+							Order order = orderDescClient.getById(e.getBillId());
+							if (order != null) {
+								auditOrderVO.setOrderDate(order.getCreateTime());
+								auditOrderVO.setOrderNo(order.getOrderNo());
+								auditOrderVO.setAmountReceivable(order.getDebitAmount());
+								if (order.getPurchaserId() != null) {
+									auditOrderVO.setCorpsName(corpsDescClient.getCorpMessage(order.getPurchaserId()).getData().getCname());
+								}
+							}
+						}
+					}else {
 						if (e.getBillId() != null) {
 							Order order = orderDescClient.getById(e.getBillId());
 							if (order != null) {

+ 2 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -176,6 +176,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 			auditProecess.setGrossProfitRate(auditProecessDTO.getGrossProfitRate());
 			auditProecess.setOrderQuantity(auditProecessDTO.getOrderQuantity());
 			auditProecess.setAmount(auditProecessDTO.getAmount());
+			auditProecess.setReceivableAmount(auditProecessDTO.getReceivableAmount());
+			auditProecess.setPayAmount(auditProecessDTO.getPayAmount());
 			//除了第一级是待审,其他都N
 			if (e.getLevelId() == 1) {
 				SimpleDateFormat simpleDateFormat = new SimpleDateFormat();

+ 6 - 0
blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java

@@ -72,4 +72,10 @@ public class DictBizClient implements IDictBizClient {
 		return R.data(service.getOneValue(code, dictKey, tenantId));
 	}
 
+	@Override
+	@GetMapping(GET_ONE_BY_VALUE)
+	public R<String> getOneByValue(String code, String dictValue, String tenantId) {
+		return service.getOneByValue(code, dictValue, tenantId);
+	}
+
 }

+ 10 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/IDictBizService.java

@@ -20,6 +20,7 @@ package org.springblade.system.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.vo.DictBizVO;
 
@@ -116,4 +117,13 @@ public interface IDictBizService extends IService<DictBiz> {
 	 * @return
 	 */
 	String getOneValue(String code, String dictKey, String tenantId);
+
+	/**
+	 *
+	 * @param code
+	 * @param dictValue
+	 * @param tenantId
+	 * @return
+	 */
+	R<String> getOneByValue(String code, String dictValue, String tenantId);
 }

+ 16 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictBizServiceImpl.java

@@ -25,6 +25,7 @@ import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
 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.constant.BladeConstant;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.Func;
@@ -133,4 +134,19 @@ public class DictBizServiceImpl extends ServiceImpl<DictBizMapper, DictBiz> impl
 	public String getOneValue(String code, String dictKey, String tenantId) {
 		return baseMapper.getOneValue(code, dictKey, tenantId);
 	}
+
+	/**
+	 *
+	 * @param code
+	 * @param dictValue
+	 * @param tenantId
+	 * @return
+	 */
+	@Override
+	public R<String> getOneByValue(String code, String dictValue, String tenantId) {
+		LambdaQueryWrapper<DictBiz> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(DictBiz::getCode,code).eq(DictBiz::getDictValue,dictValue).eq(DictBiz::getTenantId,tenantId);
+		DictBiz dictBiz = baseMapper.selectOne(lambdaQueryWrapper);
+		return R.data(dictBiz.getDictKey());
+	}
 }

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

@@ -605,6 +605,10 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			throw new SecurityException("结算金额超过账单明细总金额");
 		}*/
 
+		if (acc.getTradeType().equals("CMY")){
+
+		}
+
 		//修改原业务表和账单明细的数据
 		if (type == 1) {
 			Long srcParentId = acc.getSrcParentId();

+ 2 - 1
blade-service/trade-purchase/src/main/java/com/trade/purchase/agreement/controller/AgreementitemsController.java

@@ -108,7 +108,8 @@ public class AgreementitemsController extends BladeController {
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入agreementitems")
 	public R submit(@Valid @RequestBody Agreementitems agreementitems) {
-		return R.status(agreementitemsService.saveOrUpdate(agreementitems));
+		agreementitemsService.saveOrUpdate(agreementitems);
+		return R.data(agreementitems);
 	}
 
 

+ 3 - 15
blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/CMYWarehousingExcel.java

@@ -73,32 +73,20 @@ public class CMYWarehousingExcel {
 	 * 长度(m)
 	 */
 	@ExcelProperty(value = "长度(m)")
-	private BigDecimal length;
-
-	/**
-	 * 宽度(mm)
-	 */
-	@ExcelProperty(value = "宽度(mm)")
-	private BigDecimal width;
-
-	/**
-	 * 宽度明细
-	 */
-	@ExcelProperty(value = "宽度明细")
-	private String widthItem;
+	private String length;
 
 	/**
 	 * 厚度(mm)
 	 */
 	@ExcelProperty(value = "厚度(mm)")
-	private BigDecimal thickness;
+	private String thickness;
 
 	/**
 	 * 捆包号
 	 */
 	@ExcelProperty(value = "捆包号(必填)")
 	@ExcelPropertyCheck(required = false)
-	private String packingNo;
+	private String billNo;
 
 	/**
 	 * 片数

+ 1 - 1
blade-service/trade-purchase/src/main/java/com/trade/purchase/financing/controller/FinancingController.java

@@ -355,7 +355,7 @@ public class FinancingController extends BladeController {
 		queryWrapper.eq("is_deleted", 0);
 		queryWrapper.eq("tenant_id", AuthUtil.getTenantId());
 		queryWrapper.eq("corp_id", financing.getCorpId());
-		queryWrapper.apply("date_format(financing_date,'%Y-%m') = date_format(" + financing.getFinancingDate() + ",'%Y-%m')");
+//		queryWrapper.apply("date_format(financing_date,'%Y-%m') = date_format(" + financing.getFinancingDate() + ",'%Y-%m')");
 		IPage<Financing> pages = financingService.page(Condition.getPage(query), queryWrapper);
 		List<Financing> financingList = pages.getRecords();
 		for (Financing financings : financingList) {

+ 13 - 3
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/WoodHarvestingCloudController.java

@@ -150,8 +150,7 @@ public class WoodHarvestingCloudController {
 			queryWrapper.eq("special_check_status", 0);
 		}else{
 			if (OrderTypeEnum.INVENTORY.getType().equals(order.getBillType())){
-				queryWrapper.eq("special_check_status", 1);
-				queryWrapper.eq("status", 3);
+				queryWrapper.eq("special_check_status", 0);
 			}
 		}
 		queryWrapper.like(ObjectUtils.isNotNull(order.getOrderRemark()), "order_remark", order.getOrderRemark())
@@ -266,7 +265,7 @@ public class WoodHarvestingCloudController {
 	}
 
 	/**
-	 * 入出库提交审批
+	 * 入出库盘点提交请核
 	 *
 	 * @param submitDto
 	 * @return
@@ -278,6 +277,17 @@ public class WoodHarvestingCloudController {
 	}
 
 	/**
+	 * 入出库盘点撤销请核
+	 *
+	 * @param submitDto
+	 * @return
+	 */
+	@PostMapping("/revokeWarehousing")
+	public R revokeOrder(@RequestBody OrderSubmitDto submitDto) {
+		return R.data(orderService.revokeWarehousing(submitDto));
+	}
+
+	/**
 	 * 客户现有资产是否超出融资金额
 	 *
 	 * @param order

+ 1 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

@@ -388,8 +388,7 @@
         and bo.status = 3
         and bo.bill_type = 'RK'
         and bo.trade_type = 'CMY'
-        and bo.confirm_status = 1
-        AND bo.special_check_status = 0
+        and boi.is_Issue = '1' or boi.is_Issue = '2'
         <if test="Order.sysNo!=null and Order.sysNo != ''">
             and bo.sys_no=#{Order.sysNo}
         </if>

+ 7 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/IOrderService.java

@@ -200,4 +200,11 @@ public interface IOrderService extends IService<Order> {
 	 * @return
 	 */
 	Order updateOutInStatus(Long id);
+
+	/**
+	 * 入出库盘点撤销请核
+	 * @param submitDto
+	 * @return
+	 */
+	OrderSubmitDto revokeWarehousing(OrderSubmitDto submitDto);
 }

+ 1 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderItemsServiceImpl.java

@@ -11,6 +11,7 @@ import com.trade.purchase.order.enums.OrderTypeEnum;
 import com.trade.purchase.order.mapper.OrderItemsMapper;
 import com.trade.purchase.order.mapper.OrderMapper;
 import com.trade.purchase.order.service.IOrderItemsService;
+import com.trade.purchase.order.service.IOrderService;
 import com.trade.purchase.order.vo.OrderItemsVO;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;

+ 173 - 19
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -57,6 +57,8 @@ import org.springblade.mocha.feign.IPriceBankClient;
 import org.springblade.stock.entity.StockGoods;
 import org.springblade.stock.feign.IStockGoodsClient;
 import org.springblade.stock.vo.StockGoodsVO;
+import org.springblade.system.entity.DictBiz;
+import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
@@ -107,6 +109,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	private final AgreementServiceImpl agreementService;//仓储费
 	private final AgreementitemsServiceImpl agreementitemsService;//仓储费明细
 	private FinancingServiceImpl financingService;//融资
+	private IDictBizClient dictBizClient;//字典
 
 
 	@Override
@@ -991,6 +994,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					throw new Error(cMYWarehousingExcel.getGoodsName() + "品名不存在,请先维护信息在导入");
 				}
 			}
+			if (ObjectUtils.isNotNull(cMYWarehousingExcel.getUnit())) {
+				//计价单位
+				R<String> value = dictBizClient.getOneByValue("unit", cMYWarehousingExcel.getUnit(), AuthUtil.getTenantId());
+				if (value.isSuccess()) {
+					cMYWarehousingExcel.setUnit(value.getData());
+				} else {
+					cMYWarehousingExcel.setUnit("");
+				}
+			}
 
 		}
 		return excelList;
@@ -1120,7 +1132,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				}
 				orderItems.setPid(submitDto.getId());
 				orderItems.setTenantId(AuthUtil.getTenantId());
-				orderItems.setBalanceNumber(orderItems.getPurchaseQuantity());//结余量
+				orderItems.setBalanceNumber(orderItems.getStorageInQuantity());//结余量
 				orderItems.setBalanceMoney(orderItems.getStorageAmount());//结余金额
 				if (ObjectUtils.isNotNull(orderItems.getId())) {
 					if (orderItemsBillNo.size() > 1) {
@@ -1233,10 +1245,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							orderItemsMapper.updateById(items);
 						}
 					}
+					orderItems.setIsIssue("2");
 				}
 				orderItems.setPid(submitDto.getId());
 				orderItems.setTenantId(AuthUtil.getTenantId());
-				orderItems.setBalanceNumber(orderItems.getPurchaseQuantity());//结余量
+				orderItems.setBalanceNumber(orderItems.getStorageInQuantity());//结余量
 				orderItems.setBalanceMoney(orderItems.getStorageAmount());//结余金额
 				if (ObjectUtils.isNotNull(orderItems.getId())) {
 					if (orderItemsBillNo.size() > 1) {
@@ -1389,6 +1402,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				auditProecessDTO.setOrderQuantity(BigDecimal.ZERO);
 				auditProecessDTO.setAmount(BigDecimal.ZERO);
 			}
+
+			//获取订单收款信息
+			LambdaQueryWrapper<OrderFees> orderFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			orderFeesLambdaQueryWrapper.eq(OrderFees::getIsDeleted, 0);
+			orderFeesLambdaQueryWrapper.eq(OrderFees::getPid, order.getId());
+			//应付
+			orderFeesLambdaQueryWrapper.eq(OrderFees::getFeesType, 2);
+			List<OrderFees> receivableOrderFeesList = orderFeesService.list(orderFeesLambdaQueryWrapper);
+			auditProecessDTO.setReceivableAmount(receivableOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			//应收
+			orderFeesLambdaQueryWrapper.eq(OrderFees::getFeesType, 1);
+			List<OrderFees> payOrderFeesList = orderFeesService.list(orderFeesLambdaQueryWrapper);
+			auditProecessDTO.setPayAmount(payOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+
 			auditProecessDTO.setOrderQuantity(salesOrder.getStorageQuantity());
 			auditProecessDTO.setAmount(salesOrder.getStorageAmount());
 			auditProecessDTO.setOrderRemark(salesOrder.getOrderRemark());
@@ -1446,7 +1473,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			throw new SecurityException("订单已审批通过请勿重复审批");
 		}
 		order.setStatus(3);
-//		order.setConfirmStatus("1");
+		order.setConfirmStatus("1");
 		order.setOrderStatus("审批通过");
 
 		// ===========================end 审核通过修改入出库订单信息==========================
@@ -1476,6 +1503,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				RKOrderItemsLambdaQueryWrapper
 					.eq(OrderItems::getIsDeleted, 0)
 					.eq(OrderItems::getPid, RKOrder.getId())
+					.eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
 					.eq(OrderItems::getTenantId, AuthUtil.getTenantId());
 				List<OrderItems> RKOrderItemsList = orderItemsMapper.selectList(RKOrderItemsLambdaQueryWrapper);
 				int count = 0;
@@ -1486,8 +1514,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							if (RKOrderItems.getIsIssue().equals("3")) {
 								throw new SecurityException("捆包号:" + RKOrderItems.getBillNo() + "已出库");
 							} else {
-								RKOrderItems.setIsIssue("1");
-								orderItems.setIsIssue("1");
+								RKOrderItems.setIsIssue("3");
+								orderItems.setIsIssue("3");
 							}
 							orderItemsMapper.updateById(RKOrderItems);
 							orderItemsMapper.updateById(orderItems);
@@ -1515,6 +1543,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				RKOrderItemsLambdaQueryWrapper
 					.eq(OrderItems::getIsDeleted, 0)
 					.eq(OrderItems::getPid, RKOrder.getId())
+					.eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
 					.eq(OrderItems::getTenantId, AuthUtil.getTenantId());
 				List<OrderItems> RKOrderItemsList = orderItemsMapper.selectList(RKOrderItemsLambdaQueryWrapper);
 				for (OrderItems orderItems : PDOrderItemsList) {
@@ -1522,7 +1551,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						//判断盘点与入库明细捆包号是否相等 true修改入库盘点量,结余量,结余金额
 						if (orderItems.getBillNo().equals(RKOrderItems.getBillNo())) {
 							RKOrderItems.setInventory(orderItems.getInventory());
-							RKOrderItems.setBalanceNumber(orderItems.getBalanceNumber());
+							RKOrderItems.setBalanceNumber(orderItems.getInventory());
 							RKOrderItems.setBalanceMoney(orderItems.getBalanceMoney());
 							RKOrderItems.setSurplusLoss(orderItems.getSurplusLoss());
 							if (RKOrderItems.getIsIssue().equals("3")) {
@@ -1532,6 +1561,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						}
 					}
 				}
+			} else if (OrderTypeEnum.WAREHOUSING.getType().equals(order.getBillType())) {
+				//入库明细
+				LambdaQueryWrapper<OrderItems> RKOrderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				RKOrderItemsLambdaQueryWrapper
+					.eq(OrderItems::getIsDeleted, 0)
+					.eq(OrderItems::getPid, order.getId())
+					.eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
+					.eq(OrderItems::getTenantId, AuthUtil.getTenantId());
+				List<OrderItems> RKOrderItemsList = orderItemsMapper.selectList(RKOrderItemsLambdaQueryWrapper);
+				for (OrderItems RKOrderItems : RKOrderItemsList) {
+					RKOrderItems.setIsIssue("1");
+					orderItemsMapper.updateById(RKOrderItems);
+				}
 			}
 		}
 		financeClient.updateByOrderId(order.getId());
@@ -1661,6 +1703,108 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	/**
+	 * 入出库盘点撤销请核
+	 *
+	 * @param submitDto
+	 * @return
+	 */
+	@Override
+	@Transactional
+	public OrderSubmitDto revokeWarehousing(OrderSubmitDto submitDto) {
+		Order order = orderMapper.selectById(submitDto.getId());
+		if (ObjectUtils.isNotNull(order)) {
+			List<OrderItemsVO> orderItemsVOList = submitDto.getItemsVOList();
+
+			//入库撤销
+			if (OrderTypeEnum.WAREHOUSING.getType().equals(order.getBillType())) {
+				for (OrderItems orderItems : orderItemsVOList) {
+					if (orderItems.getIsIssue().equals("2")) {
+						throw new SecurityException("捆包号:" + orderItems.getBillNo() + "已生成出库单,撤回失败");
+					}
+					//撤回入库状态
+					orderItems.setIsIssue("0");
+					//置空条形码,二维码 并删除服务器文件
+					try {
+						File oneFile = new File(orderItems.getOneCode());
+						File QrFile = new File(orderItems.getQrCode());
+
+						if (oneFile.delete()) {
+							orderItems.setOneCode(null);
+						}
+						if (QrFile.delete()) {
+							orderItems.setQrCode(null);
+						}
+					} catch (Exception e) {
+						throw new SecurityException("删除文件失败");
+					}
+					orderItemsMapper.updateById(orderItems);
+				}
+				order.setStatus(0);
+				order.setConfirmStatus("0");
+				order.setUpdateTime(new Date());
+				order.setUpdateUser(AuthUtil.getUserId());
+				order.setUpdateUserName(AuthUtil.getUserName());
+				baseMapper.updateById(order);
+
+			} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(order.getBillType())) {//出库撤销
+				QueryWrapper<OrderItems> queryWrapper = new QueryWrapper<>();
+				queryWrapper.eq("pid", order.getId());
+				queryWrapper.eq("tenant_id", AuthUtil.getTenantId());
+				queryWrapper.eq("bill_Type", OrderTypeEnum.WAREHOUSING.getType());
+				queryWrapper.eq("is_deleted", 0);
+				List<OrderItems> RkOrderItemsList = orderItemsMapper.selectList(queryWrapper);
+				for (OrderItems orderItems : orderItemsVOList) {
+					for (OrderItems RkOrderItems : RkOrderItemsList) {
+						if (orderItems.getBillNo().equals(RkOrderItems.getBillNo())) {
+							//撤回状态
+							orderItems.setIsIssue("2");
+							RkOrderItems.setIsIssue("2");
+							orderItemsMapper.updateById(orderItems);
+						}
+					}
+				}
+				order.setStatus(0);
+				order.setConfirmStatus("0");
+				order.setUpdateTime(new Date());
+				order.setUpdateUser(AuthUtil.getUserId());
+				order.setUpdateUserName(AuthUtil.getUserName());
+				baseMapper.updateById(order);
+			} else if (OrderTypeEnum.INVENTORY.getType().equals(order.getBillType())) {//盘点撤销
+				QueryWrapper<OrderItems> queryWrapper = new QueryWrapper<>();
+				queryWrapper.eq("pid", order.getId());
+				queryWrapper.eq("tenant_id", AuthUtil.getTenantId());
+				queryWrapper.eq("bill_Type", OrderTypeEnum.WAREHOUSING.getType());
+				queryWrapper.eq("is_deleted", 0);
+				List<OrderItems> RkOrderItemsList = orderItemsMapper.selectList(queryWrapper);
+				for (OrderItems orderItems : orderItemsVOList) {
+					for (OrderItems Rk : RkOrderItemsList) {
+						if (orderItems.getBillNo().equals(Rk.getBillNo())) {
+							if (orderItems.getBalanceNumber().compareTo(new BigDecimal("0")) > 0) {
+								//撤回
+								Rk.setBalanceNumber(Rk.getBalanceNumber());
+								Rk.setBalanceMoney(Rk.getBalanceMoney());
+								orderItemsMapper.updateById(orderItems);
+							} else {
+								throw new SecurityException("库存为空,撤回失败");
+							}
+						}
+					}
+				}
+				order.setStatus(0);
+				order.setUpdateTime(new Date());
+				order.setUpdateUser(AuthUtil.getUserId());
+				order.setUpdateUserName(AuthUtil.getUserName());
+				baseMapper.updateById(order);
+			} else {
+				throw new SecurityException("撤销失败,单据类型不存在");
+			}
+		} else {
+			throw new SecurityException("撤销失败,未找到单据信息");
+		}
+		return submitDto;
+	}
+
+	/**
 	 * 订单生成账单 并且推送财务消息
 	 *
 	 * @param order    订单信息
@@ -1683,19 +1827,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				order.setCorpName(corpMessage.getData().getCname());
 			}
 		}
-		ApplyDTO applyDTO = new ApplyDTO();
-		applyDTO.setBillType(billType);
-		applyDTO.setTradeType(order.getTradeType());
-		applyDTO.setDc("D");
-		applyDTO.setBelongCompany(order.getBelongToCorpName());
-		applyDTO.setUrl(order.getUrl());
-		applyDTO.setPageStatus(order.getPageStatus());
-		applyDTO.setPageLabel(order.getPageLabel());
-		applyDTO.setCheckType(order.getCheckType());
-		applyDTO.setAccDate(order.getBusinesDate());
-
 		//判断是否未仓储费
 		if (!OrderTypeEnum.STORAGE_FEE.getType().equals(itemType)) {
+			ApplyDTO applyDTO = new ApplyDTO();
+			applyDTO.setBillType(billType);
+			applyDTO.setTradeType(order.getTradeType());
+			applyDTO.setDc("D");
+			applyDTO.setBelongCompany(order.getBelongToCorpName());
+			applyDTO.setUrl(order.getUrl());
+			applyDTO.setPageStatus(order.getPageStatus());
+			applyDTO.setPageLabel(order.getPageLabel());
+			applyDTO.setCheckType(order.getCheckType());
+			applyDTO.setAccDate(order.getBusinesDate());
 
 			BigDecimal amount = BigDecimal.ZERO;//对账金额   销售订单生成的金额  销售金额-本次使用返利金额+费用明细
 			BigDecimal quantity = BigDecimal.ZERO;//对账数量 数量为 就是轮胎条数的和
@@ -1800,6 +1943,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				}
 			}
 		} else {
+			ApplyDTO applyDTO = new ApplyDTO();
+			applyDTO.setBillType(billType);
+			applyDTO.setTradeType(order.getTradeType());
+			applyDTO.setDc("D");
+			applyDTO.setBelongCompany(order.getBelongToCorpName());
+			applyDTO.setUrl(order.getUrl());
+			applyDTO.setPageStatus(order.getPageStatus());
+			applyDTO.setPageLabel(order.getPageLabel());
+			applyDTO.setCheckType(order.getCheckType());
+			applyDTO.setAccDate(order.getBusinesDate());
+
 			BigDecimal amount = BigDecimal.ZERO;//对账金额   销售订单生成的金额  销售金额-本次使用返利金额+费用明细
 			List<Items> itemsList = new ArrayList<>();
 			Items items = new Items();
@@ -1870,8 +2024,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					} else {
 						if (agreementitems.getPrice().compareTo(new BigDecimal(0)) > 0) {
 							//业务天数乘以单价 = 剩余所需收费金额
-							amount = amount.add((new BigDecimal(date + 1)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(order.getStorageQuantity()));
-							text.append(order.getStorageQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(date + 1);
+							amount = amount.add((new BigDecimal(date + 2)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(order.getStorageQuantity()));
+							text.append(order.getStorageQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(date + 2);
 						}
 					}
 					count++;