|
@@ -27,6 +27,8 @@ import vip.xiaonuo.biz.modular.bizloadtime.entity.BizLoadTime;
|
|
|
import vip.xiaonuo.biz.modular.bizloadtime.service.BizLoadTimeService;
|
|
|
import vip.xiaonuo.biz.modular.bizorder.entity.BizOrder;
|
|
|
import vip.xiaonuo.biz.modular.bizorder.service.BizOrderService;
|
|
|
+import vip.xiaonuo.biz.modular.bizorderconfig.entity.BizOrderConfig;
|
|
|
+import vip.xiaonuo.biz.modular.bizorderconfig.service.BizOrderConfigService;
|
|
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
|
import vip.xiaonuo.common.exception.CommonException;
|
|
|
import vip.xiaonuo.common.page.CommonPageRequest;
|
|
@@ -38,6 +40,7 @@ import vip.xiaonuo.biz.modular.bizorderload.param.BizOrderLoadIdParam;
|
|
|
import vip.xiaonuo.biz.modular.bizorderload.param.BizOrderLoadPageParam;
|
|
|
import vip.xiaonuo.biz.modular.bizorderload.service.BizOrderLoadService;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -53,6 +56,8 @@ public class BizOrderLoadServiceImpl extends ServiceImpl<BizOrderLoadMapper, Biz
|
|
|
private BizOrderService bizOrderService;
|
|
|
@Resource
|
|
|
private BizLoadTimeService bizLoadTimeService;
|
|
|
+ @Resource
|
|
|
+ private BizOrderConfigService bizOrderConfigService;
|
|
|
|
|
|
@Override
|
|
|
public Page<BizOrderLoad> page(BizOrderLoadPageParam bizOrderLoadPageParam) {
|
|
@@ -87,6 +92,34 @@ public class BizOrderLoadServiceImpl extends ServiceImpl<BizOrderLoadMapper, Biz
|
|
|
if(count>0){
|
|
|
throw new CommonException("装卸点位和时间已经添加过!");
|
|
|
}
|
|
|
+
|
|
|
+ //判断物流订单提货时段的总预约次数
|
|
|
+ BizOrder bizOrder = bizOrderService.getById(bizOrderLoadAddParam.getOrderId());
|
|
|
+ if(ObjectUtil.isNotNull(bizOrder)){
|
|
|
+ QueryWrapper<BizOrderLoad> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq("bol.delete_flag","NOT_DELETE");
|
|
|
+ wrapper.eq("blt.delete_flag","NOT_DELETE");
|
|
|
+ wrapper.eq("bol.order_id",bizOrder.getId());
|
|
|
+ Integer avaNumber = this.getBaseMapper().getAvaNumber(wrapper);
|
|
|
+ Integer avaCount = 0;
|
|
|
+ Integer orderNumber = 0;
|
|
|
+ if(ObjectUtil.isNotEmpty(bizOrderLoadAddParam.getLoadTimeId())){
|
|
|
+ BizLoadTime bizLoadTime = bizLoadTimeService.getById(bizOrderLoadAddParam.getLoadTimeId());
|
|
|
+ if(ObjectUtil.isNotNull(bizLoadTime)){
|
|
|
+ avaCount = bizLoadTime.getAvailableNumber();
|
|
|
+ }
|
|
|
+ //查询物流订单申请数量
|
|
|
+ BizOrderConfig bizOrderConfig = bizOrderConfigService.getOne(new QueryWrapper<BizOrderConfig>().lambda().
|
|
|
+ eq(BizOrderConfig::getOrderId, bizOrder.getId()).
|
|
|
+ last("limit 1"));
|
|
|
+ if(ObjectUtil.isNotNull(bizOrderConfig)){
|
|
|
+ orderNumber = bizOrderConfig.getApplyNumber();
|
|
|
+ }
|
|
|
+ if(avaCount+avaNumber > orderNumber){
|
|
|
+ throw new CommonException("物流订单申请预约数量:"+bizOrderConfig.getApplyNumber()+",装卸时段已添加预约:"+avaNumber+",还可添加预约:"+(orderNumber-avaNumber));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|