|
|
@@ -44,6 +44,8 @@ import org.springblade.salesPart.ship.mapper.ShipMapper;
|
|
|
import org.springblade.salesPart.stock.mapper.StockDescMapper;
|
|
|
import org.springblade.salesPart.storage.mapper.StorageDescMapper;
|
|
|
import org.springblade.salesPart.vo.OrderVO;
|
|
|
+import org.springblade.system.entity.Dept;
|
|
|
+import org.springblade.system.feign.ISysClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -78,6 +80,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
private final StockDescMapper stockDescMapper;
|
|
|
private final ProductLaunchMapper productLaunchMapper;
|
|
|
private final GoodsDescMapper goodsDescMapper;
|
|
|
+ private final ISysClient sysClient;
|
|
|
|
|
|
/**
|
|
|
* 获取销售订单详情
|
|
|
@@ -157,17 +160,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
order.setTenantId(AuthUtil.getTenantId());
|
|
|
order.setStatus(OrderTypeEnum.XSLR.getType());
|
|
|
order.setBusinessSource(OrderTypeEnum.WEB.getType());
|
|
|
+ //所属公司
|
|
|
+ R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
+ if (ObjectUtil.isNotEmpty(dept)) {
|
|
|
+ order.setSalesCompanyId(dept.getData().getId());
|
|
|
+ order.setSalesCompanyName(dept.getData().getFullName());
|
|
|
+ order.setSharedCompanyId(dept.getData().getId());
|
|
|
+ order.setSharedCompanyName(dept.getData().getFullName());
|
|
|
+ } else {
|
|
|
+ throw new SecurityException("未维护所属公司");
|
|
|
+ }
|
|
|
+
|
|
|
//根据客户账期计算应结日期
|
|
|
if (ObjectUtil.isNotEmpty(corpsDesc.getAccountPeriod())){
|
|
|
-
|
|
|
Date now = new Date(); // 获取当前时间
|
|
|
- System.out.println("当前时间: " + now);
|
|
|
-
|
|
|
long sevenDays = corpsDesc.getAccountPeriod() * 24 * 60 * 60 * 1000L;
|
|
|
Date afterSevenDays = new Date(now.getTime() + sevenDays);
|
|
|
- System.out.println("加账期后的时间: " + afterSevenDays);
|
|
|
order.setDueDate(afterSevenDays);
|
|
|
-
|
|
|
}else {
|
|
|
order.setDueDate(new Date());
|
|
|
}
|
|
|
@@ -258,12 +267,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
},BigDecimal::add).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
order.setSalesAmount(totalMoney);
|
|
|
+ order.setTotalMoney(totalMoney);
|
|
|
|
|
|
- if (order.getOrderItemsList().size() == 1){//只有一条明细加5元运费
|
|
|
- totalMoney.add(new BigDecimal(5));
|
|
|
+ if (order.getGoodsTotalNum().compareTo(new BigDecimal(1)) == 0) {//只有一条轮胎加5元运费
|
|
|
+ order.setTotalMoney(totalMoney.add(new BigDecimal(5)));
|
|
|
order.setFreight(new BigDecimal(5));
|
|
|
}
|
|
|
- order.setTotalMoney(totalMoney);
|
|
|
|
|
|
//毛利
|
|
|
order.setGrossProfit(order.getOrderItemsList().stream().filter(e ->e.getGrossProfit() != null).map(PjOrderItems::getGrossProfit).reduce(BigDecimal.ZERO,BigDecimal::add));
|
|
|
@@ -278,6 +287,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
order.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
order.setTenantId(AuthUtil.getTenantId());
|
|
|
order.setStatus(OrderTypeEnum.XSLR.getType());
|
|
|
+ //所属公司
|
|
|
+ R<Dept> dept = sysClient.getDept(Long.valueOf(AuthUtil.getDeptId()));
|
|
|
+ if (ObjectUtil.isNotEmpty(dept)) {
|
|
|
+ order.setSalesCompanyId(dept.getData().getId());
|
|
|
+ order.setSalesCompanyName(dept.getData().getFullName());
|
|
|
+ } else {
|
|
|
+ throw new SecurityException("未维护所属公司");
|
|
|
+ }
|
|
|
baseMapper.insert(order);
|
|
|
}else {
|
|
|
order.setUpdateUser(AuthUtil.getUserId());
|
|
|
@@ -366,6 +383,31 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
pjOrder.setStatus(OrderTypeEnum.XSDFH.getType());
|
|
|
baseMapper.updateById(pjOrder);
|
|
|
|
|
|
+ //内部销售修改上架管理的库存
|
|
|
+ if (pjOrder.getBusinessSource().equals(OrderTypeEnum.WEB.getType())){
|
|
|
+ LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjOrderItems::getIsDeleted, 0)
|
|
|
+ .eq(PjOrderItems::getPid, pjOrder.getId());
|
|
|
+ List<PjOrderItems> itemsList = orderItemsMapper.selectList(itemsLambdaQueryWrapper);
|
|
|
+ if (ObjectUtil.isNotEmpty(itemsList)){
|
|
|
+ itemsList.forEach(e -> {
|
|
|
+ LambdaQueryWrapper<PjProductLaunch> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PjProductLaunch::getIsDeleted, 0)
|
|
|
+ .and(i -> i.eq(PjProductLaunch::getSalesCompanyId, pjOrder.getSalesCompanyId()).or().in(PjProductLaunch::getSourceCompanyId, pjOrder.getSalesCompanyId()))
|
|
|
+ .eq(PjProductLaunch::getGoodsId, e.getGoodsId());
|
|
|
+ List<PjProductLaunch> launchList = productLaunchMapper.selectList(queryWrapper);
|
|
|
+ if (ObjectUtil.isNotEmpty(launchList)){
|
|
|
+ launchList.forEach( productLaunch -> {
|
|
|
+ productLaunch.setInventory(productLaunch.getInventory().subtract(e.getGoodsNum()));
|
|
|
+ productLaunchMapper.updateById(productLaunch);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return R.success("操作成功");
|
|
|
}
|
|
|
|
|
|
@@ -488,6 +530,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
|
|
|
declare.setStatus("退款中");
|
|
|
+ order.setCheckStatus("审核请核");
|
|
|
baseMapper.updateById(declare);
|
|
|
|
|
|
return declare;
|
|
|
@@ -523,11 +566,27 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
throw new SecurityException("审批通过失败");
|
|
|
}
|
|
|
|
|
|
- order.setStatus("退款中");
|
|
|
order.setCheckStatus("审批中");
|
|
|
baseMapper.updateById(order);
|
|
|
|
|
|
return R.success("操作成功");
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 审核不通过
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public R passCancel(Long id) {
|
|
|
+ PjOrder order = baseMapper.selectById(id);
|
|
|
+ if (order == null) {
|
|
|
+ throw new SecurityException("审批驳回失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ order.setStatus("审批驳回");
|
|
|
+ order.setCheckStatus("审批驳回");
|
|
|
+ baseMapper.updateById(order);
|
|
|
+
|
|
|
+ return R.success("操作成功");
|
|
|
+ }
|
|
|
+
|
|
|
}
|