|
|
@@ -82,6 +82,7 @@ import java.math.RoundingMode;
|
|
|
import java.text.DateFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static org.springblade.common.constant.TenantConstant.*;
|
|
|
|
|
|
@@ -255,6 +256,55 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setOrgOrderNo((String) clientBillNo.getData());
|
|
|
}
|
|
|
}
|
|
|
+ if ("CG".equals(order.getBillType()) && ObjectUtils.isNotNull(order.getSrcIds())) {
|
|
|
+ String[] arrs = order.getSrcIds().split(",");
|
|
|
+ for (String arr : arrs) {
|
|
|
+ Order selectOrder = baseMapper.selectById(Long.parseLong(arr));
|
|
|
+ if (ObjectUtils.isNotNull(selectOrder)) {
|
|
|
+ selectOrder.setFudaPurchaseDate(new Date());
|
|
|
+ selectOrder.setFudaPurchaseStatus("采购中");
|
|
|
+ selectOrder.setUpdateTime(new Date());
|
|
|
+ selectOrder.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ selectOrder.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ baseMapper.updateById(selectOrder);
|
|
|
+
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(selectOrder.getId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl(selectOrder.getUrl());
|
|
|
+ sendMessage.setPageLabel(selectOrder.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(selectOrder.getPageStatus());
|
|
|
+ if (true) {
|
|
|
+ sendMessage.setToUserId(selectOrder.getCreateUser());
|
|
|
+ sendMessage.setToUserName(selectOrder.getCreateUserName());
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "正在采购中,请查看");
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (true) {
|
|
|
+ sendMessage.setToUserId(selectOrder.getDocumenterId());
|
|
|
+ sendMessage.setToUserName(selectOrder.getDocumenterName());
|
|
|
+ sendMessage.setMessageBody("销售订单" + selectOrder.getSysNo() + "正在采购中,请查看");
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ order.setFudaPurchaseDate(new Date());
|
|
|
+ order.setFudaPurchaseStatus("采购中");
|
|
|
+ order.setBuyerName(order.get$buyerId());
|
|
|
+ order.setDocumenterName(order.get$documenterId());
|
|
|
+ }
|
|
|
} else {
|
|
|
R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(order.getCorpId());
|
|
|
if (corpMessage.isSuccess()) {
|
|
|
@@ -275,13 +325,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (StringUtils.isBlank(order.getMorderNo()) && order.getTradeType().equals(OrderTypeEnum.DOMESTIC.getType())) {
|
|
|
order.setMorderNo(order.getOrderNo());
|
|
|
}
|
|
|
- if (ObjectUtils.isNotNull(order.getSrcOrderNo())) {
|
|
|
- String[] arrs = order.getSrcOrderNo().split(",");
|
|
|
- for (String arr : arrs) {
|
|
|
- Order order1 = baseMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getSysNo, arr));
|
|
|
- if (ObjectUtils.isNotNull(order1)) {
|
|
|
- order1.setSrcOrderNo(order.getSysNo());
|
|
|
- baseMapper.updateById(order1);
|
|
|
+ if (!"577435".equals(AuthUtil.getTenantId())) {
|
|
|
+ if (ObjectUtils.isNotNull(order.getSrcOrderNo())) {
|
|
|
+ String[] arrs = order.getSrcOrderNo().split(",");
|
|
|
+ for (String arr : arrs) {
|
|
|
+ Order order1 = baseMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getSysNo, arr));
|
|
|
+ if (ObjectUtils.isNotNull(order1)) {
|
|
|
+ order1.setSrcOrderNo(order.getSysNo());
|
|
|
+ baseMapper.updateById(order1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -352,6 +404,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setTenantId(SecureUtil.getTenantId());
|
|
|
order.setUpdateTime(date);
|
|
|
order.setUpdateUser(SecureUtil.getUserId());
|
|
|
+ order.setBuyerName(order.get$buyerId());
|
|
|
+ order.setDocumenterName(order.get$documenterId());
|
|
|
baseMapper.updateById(order);
|
|
|
}
|
|
|
// 保存订单费用明细
|
|
|
@@ -361,8 +415,53 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
// 保存订单明细
|
|
|
if (CollectionUtils.isNotEmpty(order.getOrderItemsList())) {
|
|
|
- List<OrderItems> orderItemsList = orderItemsService.saveOrderItemsMessage(order.getOrderItemsList(), date, order.getId());
|
|
|
- order.setOrderItemsList(orderItemsList);
|
|
|
+ order.getOrderItemsList().forEach(item -> {
|
|
|
+ if (ObjectUtils.isNotNull(item.getCorpId())) {
|
|
|
+ CorpsDesc corpsDesc = corpsDescClient.getCorpId(item.getCorpId());
|
|
|
+ if (ObjectUtils.isNotNull(corpsDesc)) {
|
|
|
+ item.setCorpAddress(corpsDesc.getBelongtoarea());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ item.setBillNo(order.getOrderNo());
|
|
|
+ item.setBusinesDate(order.getBusinesDate());
|
|
|
+ item.setPlannedDeliveryDate(order.getPlannedDeliveryDate());
|
|
|
+ if (item.getId() == null) {
|
|
|
+ item.setTenantId(SecureUtil.getTenantId());
|
|
|
+ item.setCreateUser(SecureUtil.getUserId());
|
|
|
+ item.setCreateTime(date);
|
|
|
+ item.setPid(order.getId());
|
|
|
+ item.setBillType(order.getBillType());
|
|
|
+ orderItemsMapper.insert(item);
|
|
|
+ } else {
|
|
|
+ item.setTenantId(SecureUtil.getTenantId());
|
|
|
+ item.setUpdateUser(SecureUtil.getUserId());
|
|
|
+ item.setUpdateTime(date);
|
|
|
+ item.setPid(order.getId());
|
|
|
+ item.setBillType(order.getBillType());
|
|
|
+ orderItemsMapper.updateById(item);
|
|
|
+ }
|
|
|
+ //保存配件明细信息
|
|
|
+ if (CollectionUtils.isNotEmpty(item.getPartsList())) {
|
|
|
+ item.getPartsList().forEach(parts -> {
|
|
|
+ if (parts.getId() == null) {
|
|
|
+ parts.setTenantId(SecureUtil.getTenantId());
|
|
|
+ parts.setCreateTime(new Date());
|
|
|
+ parts.setCreateUser(SecureUtil.getUserId());
|
|
|
+ parts.setPid(item.getId());
|
|
|
+ parts.setSrcPid(item.getPid());
|
|
|
+ orderPartsMapper.insert(parts);
|
|
|
+ } else {
|
|
|
+ parts.setUpdateTime(new Date());
|
|
|
+ parts.setUpdateUser(SecureUtil.getUserId());
|
|
|
+ parts.setPid(item.getId());
|
|
|
+ parts.setSrcPid(item.getPid());
|
|
|
+ orderPartsMapper.updateById(parts);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+// List<OrderItems> orderItemsList = orderItemsService.saveOrderItemsMessage(order.getOrderItemsList(), date, order.getId());
|
|
|
+ order.setOrderItemsList(order.getOrderItemsList());
|
|
|
}
|
|
|
// 保存订单文件信息
|
|
|
if (CollectionUtils.isNotEmpty(order.getOrderFilesList())) {
|
|
|
@@ -445,6 +544,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
// 毛利率
|
|
|
orderMessage.setGrossProfitRate(new BigDecimal(BigInteger.ZERO));
|
|
|
}
|
|
|
+ orderMessage.setStorageQuantity(order.getOrderItemsList().stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
baseMapper.updateById(orderMessage);
|
|
|
order.setGrossProfit(orderMessage.getGrossProfit());
|
|
|
order.setGrossProfitRate(orderMessage.getGrossProfitRate());
|
|
|
@@ -1475,7 +1575,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 申请退单审批通过
|
|
|
+ * 申请退单审批通过
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -1605,7 +1705,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
|
|
//删除账单明细
|
|
|
Acc acc = financeClient.selectByParentId(orderMessage.getId());
|
|
|
- if (ObjectUtil.isNotEmpty(acc)){
|
|
|
+ if (ObjectUtil.isNotEmpty(acc)) {
|
|
|
financeClient.remove(acc.getId().toString());
|
|
|
}
|
|
|
|
|
|
@@ -2611,10 +2711,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Override
|
|
|
public R collectPayment(Order order) {
|
|
|
if ("线上".equals(order.getOrderSource())) {
|
|
|
- R r = this.payPrepay(order.getId());
|
|
|
- if (!r.isSuccess() || r.getCode() != 200) {
|
|
|
- throw new RuntimeException("支付失败!原因:" + r.getData());
|
|
|
- }
|
|
|
order.setStatus(2);
|
|
|
Order selectOrder = baseMapper.selectById(order.getId());
|
|
|
if (null == selectOrder) {
|
|
|
@@ -4118,6 +4214,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (ObjectUtils.isNull(corpsDesc)) {
|
|
|
throw new RuntimeException("未找到客户信息");
|
|
|
}
|
|
|
+ //通联支付下单处理
|
|
|
+ R r = this.payPrepay(order.getId());
|
|
|
+ if (!r.isSuccess() || r.getCode() != 200) {
|
|
|
+ throw new RuntimeException("支付失败!原因:" + r.getData());
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(corpsDesc.getAdminProfiles())) {
|
|
|
String[] arrs = corpsDesc.getAdminProfiles().split(",");
|
|
|
for (String arr : arrs) {
|
|
|
@@ -4882,6 +4983,317 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
+ public R generatePurchase(Order order) {
|
|
|
+ if (null == order.getId()) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ Order selectOrder = baseMapper.selectById(order.getId());
|
|
|
+ if (ObjectUtils.isNotNull(selectOrder)) {
|
|
|
+
|
|
|
+ selectOrder.setFudaPurchaseStatus("待采购");
|
|
|
+ selectOrder.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ baseMapper.updateById(selectOrder);
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(selectOrder.getId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setToUserId(selectOrder.getBuyerId());
|
|
|
+ sendMessage.setToUserName(selectOrder.getBuyerName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl("/exportTrade/salesContract/index");
|
|
|
+ sendMessage.setPageLabel(order.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(order.getPageStatus());
|
|
|
+ sendMessage.setMessageBody("您有采购订单" + selectOrder.getSysNo() + "待处理,请查看");
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.data(selectOrder);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
+ public R generateShipment(Order order) {
|
|
|
+ // 获取销售单主表信息
|
|
|
+ Order orderMessage = baseMapper.selectById(order.getId());
|
|
|
+ // 获取客户中文名
|
|
|
+ if (orderMessage.getCorpId() != null) {
|
|
|
+ R<List<Map<String, Object>>> corpMessage = corpsDescClient.getCorpsMessage(orderMessage.getCorpId().toString());
|
|
|
+ if (corpMessage.isSuccess() && corpMessage.getData() != null) {
|
|
|
+ orderMessage.setCorpName(corpMessage.getData());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<OrderItems> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(OrderItems::getPid, orderMessage.getId()).eq(OrderItems::getIsDeleted, 0).eq(OrderItems::getTenantId, AuthUtil.getTenantId());
|
|
|
+ // 获取销售单明细数据
|
|
|
+ List<OrderItems> orderItemsList = orderItemsService.list(lambdaQueryWrapper);
|
|
|
+ orderMessage.setOrderItemsList(orderItemsList);
|
|
|
+ orderMessage.setDeliverQuantity(orderItemsList.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ orderMessage.setDocumentaryStatus("" +
|
|
|
+ "");
|
|
|
+ orderMessage.setDocumentaryDate(order.getDocumentaryDate());
|
|
|
+ baseMapper.updateById(orderMessage);
|
|
|
+
|
|
|
+ //发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(orderMessage.getId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setToUserId(orderMessage.getDocumenterId());
|
|
|
+ sendMessage.setToUserName(orderMessage.getDocumenterName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl("/exportTrade/invoice/index");
|
|
|
+ sendMessage.setPageLabel(order.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(order.getPageStatus());
|
|
|
+ sendMessage.setMessageBody("您有销售订单" + orderMessage.getSysNo() + "待处理,请查看");
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ //生成跟单数据
|
|
|
+ return deliveryClient.saveAddDelivery(orderMessage);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
+ public R generatePurchaseBill(String ids) {
|
|
|
+ if (ObjectUtils.isNull(ids)) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ Order order_ = new Order();
|
|
|
+ List<OrderItems> orderItemsListAll = new ArrayList<>();
|
|
|
+ List<Order> orderListAll = new ArrayList<>();
|
|
|
+ String[] arrs = ids.split(",");
|
|
|
+ StringBuilder srcIds = new StringBuilder();
|
|
|
+ StringBuilder srcOrderNos = new StringBuilder();
|
|
|
+ for (String arr : arrs) {
|
|
|
+ OrderItems orderItems = orderItemsMapper.selectById(Long.parseLong(arr));
|
|
|
+ if (ObjectUtils.isNotNull(orderItems)) {
|
|
|
+ Order order = baseMapper.selectById(orderItems.getPid());
|
|
|
+ if (ObjectUtils.isNotNull(order)) {
|
|
|
+ OrderItems orderItems_ = new OrderItems();
|
|
|
+ BeanUtil.copyProperties(orderItems, orderItems_);
|
|
|
+ orderItems_.setSrcOrderNo(order.getOrderNo());
|
|
|
+ orderItems_.setSrcId(order.getId());
|
|
|
+ orderItems_.setOrgOrderNo(order.getSysNo());
|
|
|
+ orderItems_.setSrcItemId(orderItems_.getId());
|
|
|
+ orderItems_.setPid(null);
|
|
|
+ orderItems_.setId(null);
|
|
|
+ orderItemsListAll.add(orderItems_);
|
|
|
+ orderListAll.add(order);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /*Order order = baseMapper.selectById(Long.parseLong(arr));
|
|
|
+ if (ObjectUtils.isNotNull(order)) {
|
|
|
+ srcIds.append(order.getId()).append(",");
|
|
|
+ srcOrderNos.append(order.getSysNo()).append(",");
|
|
|
+ LambdaQueryWrapper<OrderItems> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(OrderItems::getIsDeleted, 0)
|
|
|
+ .eq(OrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(OrderItems::getPid, order.getId());
|
|
|
+ List<OrderItems> orderItemsList = orderItemsMapper.selectList(lambdaQueryWrapper);
|
|
|
+ for (OrderItems orderItems : orderItemsList) {
|
|
|
+ OrderItems orderItems_ = new OrderItems();
|
|
|
+ BeanUtil.copyProperties(orderItems, orderItems_);
|
|
|
+ orderItems_.setSrcOrderNo(order.getOrderNo());
|
|
|
+ orderItems_.setSrcId(order.getId());
|
|
|
+ orderItems_.setOrgOrderNo(order.getSysNo());
|
|
|
+ orderItems_.setPid(null);
|
|
|
+ orderItems_.setId(null);
|
|
|
+ orderItemsListAll.add(orderItems_);
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(srcIds) && ObjectUtils.isNotNull(srcOrderNos)) {
|
|
|
+ order_.setSrcIds(orderListAll.stream().map(Order::getSysNo).distinct().collect(Collectors.joining(",")));
|
|
|
+ order_.setSrcOrderNo(orderListAll.stream().map(Order::getSysNo).distinct().collect(Collectors.joining(",")));
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("生成失败,未查到单据信息");
|
|
|
+ }
|
|
|
+ order_.setOrderItemsList(orderItemsListAll);
|
|
|
+ return R.data(order_);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
+ public R purchaseStatusUpdate(Order order) {
|
|
|
+ if (null == order.getId()) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ Order detail = baseMapper.selectById(order.getId());
|
|
|
+ if (ObjectUtils.isNull(detail)) {
|
|
|
+ throw new RuntimeException("未找到单据信息");
|
|
|
+ }
|
|
|
+ if (1 == order.getPurchaseStatusType()) {
|
|
|
+ detail.setProductionScheduling("排产中");
|
|
|
+ detail.setProductionSchedulingDate(order.getProductionSchedulingDate());
|
|
|
+ } else if (2 == order.getPurchaseStatusType()) {
|
|
|
+ detail.setEstimateGoodGoods("预计货好");
|
|
|
+ detail.setEstimateGoodGoodsDate(order.getEstimateGoodGoodsDate());
|
|
|
+ } else if (3 == order.getPurchaseStatusType()) {
|
|
|
+ detail.setFudaPurchaseStatus("采购完成");
|
|
|
+ detail.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<OrderItems> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(OrderItems::getIsDeleted, 0).eq(OrderItems::getTenantId, AuthUtil.getTenantId()).eq(OrderItems::getPid, detail.getId());
|
|
|
+ List<OrderItems> orderItemsList = orderItemsMapper.selectList(lambdaQueryWrapper);
|
|
|
+ if (ObjectUtils.isNotNull(orderItemsList) && orderItemsList.size() > 0) {
|
|
|
+ List<Long> pids = orderItemsList.stream().map(OrderItems::getSrcId).distinct().collect(Collectors.toList());
|
|
|
+ for (Long pid : pids) {
|
|
|
+ Order order1 = baseMapper.selectById(pid);
|
|
|
+ BigDecimal purchaseQuantity = orderItemsList.stream().filter(e -> e.getSrcId().equals(pid)).map(OrderItems::getPurchaseQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (ObjectUtils.isNotNull(order1)) {
|
|
|
+ if (order1.getStorageQuantity().equals(order1.getPurchaseQuantity().add(purchaseQuantity))) {
|
|
|
+ if (1 == order.getPurchaseStatusType()) {
|
|
|
+ order1.setProductionScheduling("排产中");
|
|
|
+ order1.setProductionSchedulingDate(order.getProductionSchedulingDate());
|
|
|
+ } else if (2 == order.getPurchaseStatusType()) {
|
|
|
+ order1.setEstimateGoodGoods("预计货好");
|
|
|
+ order1.setEstimateGoodGoodsDate(order.getEstimateGoodGoodsDate());
|
|
|
+ } else if (3 == order.getPurchaseStatusType()) {
|
|
|
+ order1.setFudaPurchaseStatus("采购完成");
|
|
|
+ order1.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ }
|
|
|
+ order1.setPurchaseQuantity(order1.getPurchaseQuantity().add(purchaseQuantity));
|
|
|
+ }
|
|
|
+ baseMapper.updateById(order1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String[] arrs = detail.getSrcIds().split(",");
|
|
|
+ for (String arr : arrs) {
|
|
|
+ Order selectOrder = baseMapper.selectById(Long.parseLong(arr));
|
|
|
+ if (ObjectUtils.isNotNull(selectOrder)) {
|
|
|
+ selectOrder.setUpdateTime(new Date());
|
|
|
+ selectOrder.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ selectOrder.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(selectOrder.getId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl("/exportTrade/purchaseContract/index");
|
|
|
+ sendMessage.setPageLabel(selectOrder.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(selectOrder.getPageStatus());
|
|
|
+ if (true) {
|
|
|
+ sendMessage.setToUserId(selectOrder.getCreateUser());
|
|
|
+ sendMessage.setToUserName(selectOrder.getCreateUserName());
|
|
|
+ if (1 == order.getPurchaseStatusType()) {
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "正在排产中,请查看");
|
|
|
+ selectOrder.setProductionScheduling("排产中");
|
|
|
+ selectOrder.setProductionSchedulingDate(order.getProductionSchedulingDate());
|
|
|
+ } else if (2 == order.getPurchaseStatusType()) {
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "已预计货好,请查看");
|
|
|
+ selectOrder.setEstimateGoodGoods("预计货好");
|
|
|
+ selectOrder.setEstimateGoodGoodsDate(order.getEstimateGoodGoodsDate());
|
|
|
+ deliveryClient.updateBySrcId(selectOrder.getId() + "", selectOrder.getBillType(), selectOrder.getTradeType());
|
|
|
+ } else if (3 == order.getPurchaseStatusType()) {
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "已采购完成,请查看");
|
|
|
+ selectOrder.setFudaPurchaseStatus("采购完成");
|
|
|
+ selectOrder.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ }
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (true) {
|
|
|
+ sendMessage.setToUserId(selectOrder.getDocumenterId());
|
|
|
+ sendMessage.setToUserName(selectOrder.getDocumenterName());
|
|
|
+ if (1 == order.getPurchaseStatusType()) {
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "正在排产中,请查看");
|
|
|
+ } else if (2 == order.getPurchaseStatusType()) {
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "已预计货好,请查看");
|
|
|
+ } else if (3 == order.getPurchaseStatusType()) {
|
|
|
+ sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "已采购完成,请查看");
|
|
|
+ }
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ baseMapper.updateById(selectOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.data(detail);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R documentQuantityStatistics(Order order) {
|
|
|
+
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ List<Order> orderList = baseMapper.selectList(new LambdaQueryWrapper<Order>()
|
|
|
+ .eq(Order::getIsDeleted, 0)
|
|
|
+ .eq(Order::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .ge(Order::getBusinesDate, order.getDateList().get(0))
|
|
|
+ .le(Order::getBusinesDate, order.getDateList().get(1))
|
|
|
+ );
|
|
|
+ if (ObjectUtils.isNotNull(orderList) && orderList.size() > 0) {
|
|
|
+ List<Long> userIdList = orderList.stream().map(Order::getCreateUser).distinct().collect(Collectors.toList());
|
|
|
+ for (Long userId : userIdList) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ R<User> res = userClient.userInfoById(userId);
|
|
|
+ if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
|
|
|
+ map.put("name", res.getData().getRealName());
|
|
|
+ int cg = baseMapper.selectCount(new LambdaQueryWrapper<Order>().eq(Order::getIsDeleted, 0)
|
|
|
+ .eq(Order::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Order::getCreateUser, userId)
|
|
|
+ .eq(Order::getBillType, "CG"));
|
|
|
+ if (cg != 0){
|
|
|
+ map.put("number", cg);
|
|
|
+ map.put("billType", "采购单");
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ int xs = baseMapper.selectCount(new LambdaQueryWrapper<Order>().eq(Order::getIsDeleted, 0)
|
|
|
+ .eq(Order::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Order::getCreateUser, userId)
|
|
|
+ .eq(Order::getBillType, "XS"));
|
|
|
+ if (xs != 0){
|
|
|
+ map.put("number", xs);
|
|
|
+ map.put("billType", "销售单");
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ int cgxj = baseMapper.selectCount(new LambdaQueryWrapper<Order>().eq(Order::getIsDeleted, 0)
|
|
|
+ .eq(Order::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Order::getCreateUser, userId)
|
|
|
+ .eq(Order::getBillType, "CGXJ"));
|
|
|
+ if (cgxj != 0){
|
|
|
+ map.put("number", cgxj);
|
|
|
+ map.put("billType", "报价单");
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ int gd = deliveryClient.selectCount(userId);
|
|
|
+ if (gd != 0){
|
|
|
+ map.put("number", gd);
|
|
|
+ map.put("billType", "跟单");
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.data(mapList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public MonthSales monthSales(OrderVO order) {
|
|
|
MonthSales monthSales = new MonthSales();
|
|
|
if (AuthUtil.getTenantId().equals("673511")) {
|