|
|
@@ -64,6 +64,7 @@ import org.springblade.purchase.sales.enums.OrderStatusEnum;
|
|
|
import org.springblade.purchase.sales.excel.*;
|
|
|
import org.springblade.purchase.sales.mapper.*;
|
|
|
import org.springblade.purchase.sales.service.IOrderFilesService;
|
|
|
+import org.springblade.purchase.sales.service.IOrderPartsService;
|
|
|
import org.springblade.purchase.sales.service.IOrderService;
|
|
|
import org.springblade.purchase.sales.vo.*;
|
|
|
import org.springblade.stock.entity.StockGoods;
|
|
|
@@ -172,6 +173,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//收发货
|
|
|
private final IDeliveryClient deliveryClient;
|
|
|
|
|
|
+ private final IOrderPartsService orderPartsService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public IPage<OrderVO> selectOrderPage(IPage<OrderVO> page, OrderVO order) {
|
|
|
@@ -268,7 +271,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
for (String arr : arrs) {
|
|
|
Order selectOrder = baseMapper.selectById(Long.parseLong(arr));
|
|
|
if (ObjectUtils.isNotNull(selectOrder)) {
|
|
|
- selectOrder.setFudaPurchaseDate(new Date());
|
|
|
selectOrder.setUpdateTime(new Date());
|
|
|
selectOrder.setUpdateUser(AuthUtil.getUserId());
|
|
|
selectOrder.setUpdateUserName(AuthUtil.getUserName());
|
|
|
@@ -543,10 +545,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return R.data(order);
|
|
|
}
|
|
|
|
|
|
- public void saveOrderParts(List<OrderParts> orderPartsList, Long itemId, String type, Long orderId) {
|
|
|
+ public void saveOrderParts(List<OrderParts> orderPartsList, Long itemId, String type, Long orderId, BigDecimal orderQuantity) {
|
|
|
//保存配件明细信息
|
|
|
if (CollectionUtils.isNotEmpty(orderPartsList)) {
|
|
|
orderPartsList.forEach(parts -> {
|
|
|
+ parts.setGoodNumber(orderQuantity.multiply(parts.getGoodNumber()));
|
|
|
if (parts.getId() == null) {
|
|
|
parts.setType(type);
|
|
|
parts.setTenantId(SecureUtil.getTenantId());
|
|
|
@@ -1171,6 +1174,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
salesOrder.setOrderStatus(OrderStatusEnum.SUBMIT.getType());
|
|
|
salesOrder.setCheckDate(new Date());
|
|
|
salesOrder.setFudaPurchaseStatus(OrderStatusEnum.SUBMIT.getType());
|
|
|
+ salesOrder.setFudaPurchaseDate(new Date());
|
|
|
}
|
|
|
baseMapper.updateById(salesOrder);
|
|
|
|
|
|
@@ -1593,6 +1597,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setStatus(0);
|
|
|
order.setOrderStatus(OrderStatusEnum.ENTERING.getType());
|
|
|
order.setFudaPurchaseStatus(OrderStatusEnum.PASSCANACEL.getType());
|
|
|
+ order.setFudaPurchaseDate(new Date());
|
|
|
baseMapper.updateById(order);
|
|
|
}
|
|
|
|
|
|
@@ -5066,21 +5071,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems.setFudaPurchaseStatus("待采购");
|
|
|
orderItemsMapper.updateById(orderItems);
|
|
|
//瓶帽配件
|
|
|
+ orderPartsMapper.delete(new LambdaQueryWrapper<OrderParts>().eq(OrderParts::getTenantId, AuthUtil.getTenantId()).eq(OrderParts::getPid, orderItems.getId()));
|
|
|
if (ObjectUtils.isNotNull(orderItems.getPartsCapValue())) {
|
|
|
JSONArray objects = JSONArray.parseArray(orderItems.getPartsCapValue());
|
|
|
List<OrderParts> categoryConstantInfos = objects.toJavaList(OrderParts.class);
|
|
|
- saveOrderParts(categoryConstantInfos, orderItems.getId(), "3", order.getId());
|
|
|
+ saveOrderParts(categoryConstantInfos, orderItems.getId(), "3", order.getId(), orderItems.getOrderQuantity());
|
|
|
}
|
|
|
//阀门配件
|
|
|
if (ObjectUtils.isNotNull(orderItems.getPartsValveValue())) {
|
|
|
JSONArray objects = JSONArray.parseArray(orderItems.getPartsValveValue());
|
|
|
List<OrderParts> categoryConstantInfos = objects.toJavaList(OrderParts.class);
|
|
|
- saveOrderParts(categoryConstantInfos, orderItems.getId(), "4", order.getId());
|
|
|
+ saveOrderParts(categoryConstantInfos, orderItems.getId(), "4", order.getId(), orderItems.getOrderQuantity());
|
|
|
}
|
|
|
}
|
|
|
- //selectOrder.setFudaPurchaseStatus("待采购");
|
|
|
+ selectOrder.setProductionScheduling("待采购");
|
|
|
selectOrder.setOrderStatus("待采购");
|
|
|
- //selectOrder.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ selectOrder.setProductionSchedulingDate(new Date());
|
|
|
baseMapper.updateById(selectOrder);
|
|
|
//循环发送消息
|
|
|
Message sendMessage = new Message();
|
|
|
@@ -5156,16 +5162,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
- public R generatePurchaseBill(String ids) {
|
|
|
- if (ObjectUtils.isNull(ids)) {
|
|
|
+ public R generatePurchaseBill(List<OrderItems> itemsList) {
|
|
|
+ if (ObjectUtils.isNull(itemsList)) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
}
|
|
|
Order order_ = new Order();
|
|
|
List<OrderItems> orderItemsListAll = new ArrayList<>();
|
|
|
List<Order> orderListAll = new ArrayList<>();
|
|
|
- String[] arrs = ids.split(",");
|
|
|
- for (String arr : arrs) {
|
|
|
- OrderItems orderItems = orderItemsMapper.selectById(Long.parseLong(arr));
|
|
|
+ for (OrderItems items : itemsList) {
|
|
|
+ OrderItems orderItems = orderItemsMapper.selectById(items.getId());
|
|
|
if (ObjectUtils.isNotNull(orderItems)) {
|
|
|
Order order = baseMapper.selectById(orderItems.getPid());
|
|
|
if (ObjectUtils.isNotNull(order)) {
|
|
|
@@ -5178,6 +5183,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems_.setPid(null);
|
|
|
orderItems_.setId(null);
|
|
|
orderItems_.setBillType("CG");
|
|
|
+ orderItems_.setOrderQuantity(items.getOrderQuantity());
|
|
|
|
|
|
if (ObjectUtils.isNotNull(orderItems_.getCorpId())) {
|
|
|
CorpsDesc corpsDesc = corpsDescClient.getCorpId(orderItems_.getCorpId());
|
|
|
@@ -5206,6 +5212,33 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems_.setAmount(orderItems_.getPrice().multiply(orderItems_.getActualQuantity()));
|
|
|
}
|
|
|
|
|
|
+ LambdaQueryWrapper<OrderParts> orderPartsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ orderPartsLambdaQueryWrapper.eq(OrderParts::getIsDeleted, 0)
|
|
|
+ .eq(OrderParts::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(OrderParts::getPid, orderItems.getId());
|
|
|
+ List<OrderParts> orderPartsList = orderPartsService.list(orderPartsLambdaQueryWrapper);
|
|
|
+ for (OrderParts orderParts : orderPartsList) {
|
|
|
+ OrderItems orderItems1 = new OrderItems();
|
|
|
+ orderItems1.setSrcOrderNo(order.getOrderNo());
|
|
|
+ orderItems1.setSrcId(order.getId());
|
|
|
+ orderItems1.setOrgOrderNo(order.getSysNo());
|
|
|
+ orderItems1.setSrcItemId(orderParts.getId());
|
|
|
+ orderItems1.setBillType("CG");
|
|
|
+ orderItems1.setOrderQuantity(orderParts.getGoodNumber());
|
|
|
+ orderItems1.setActualQuantity(orderParts.getGoodNumber());
|
|
|
+ orderItems1.setBillNo(orderItems_.getBillNo());
|
|
|
+ orderItems1.setBusinesDate(orderItems_.getBusinesDate());
|
|
|
+ orderItems1.setPlannedDeliveryDate(orderItems_.getPlannedDeliveryDate());
|
|
|
+ orderItems1.setCarry(orderItems_.getCarry());
|
|
|
+ orderItems1.setItemId(orderParts.getGoodId());
|
|
|
+ orderItems1.setCname(orderParts.getGoodName());
|
|
|
+ orderItems1.setPrice(orderParts.getPrice());
|
|
|
+ orderItems1.setAmount(orderParts.getAmout());
|
|
|
+ orderItems1.setPriceCategory(orderParts.getGoodTypeName());
|
|
|
+ orderItems1.setEname(orderParts.getEname());
|
|
|
+ orderItems1.setPartsCost(orderParts.getPartsCost());
|
|
|
+ orderItemsListAll.add(orderItems1);
|
|
|
+ }
|
|
|
orderItemsListAll.add(orderItems_);
|
|
|
orderListAll.add(order);
|
|
|
}
|
|
|
@@ -5241,6 +5274,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order_.setSrcIds(srcIds.substring(0, srcIds.length() - 1));
|
|
|
}
|
|
|
order_.setSrcOrderNo(orderListAll.stream().map(Order::getSysNo).distinct().collect(Collectors.joining(",")));
|
|
|
+ //采购备注
|
|
|
+ order_.setOrderRemark(orderListAll.stream().map(Order::getPurchaseRemark).distinct().collect(Collectors.joining("|")));
|
|
|
} else {
|
|
|
throw new RuntimeException("生成失败,未查到单据信息");
|
|
|
}
|
|
|
@@ -5262,10 +5297,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
if (1 == order.getPurchaseStatusType()) {
|
|
|
detail.setProductionScheduling("排产中");
|
|
|
+ detail.setFudaPurchaseStatus("排产中");
|
|
|
detail.setOrderStatus("排产中");
|
|
|
detail.setProductionSchedulingDate(order.getProductionSchedulingDate());
|
|
|
} else if (2 == order.getPurchaseStatusType()) {
|
|
|
detail.setEstimateGoodGoods("预计货好");
|
|
|
+ detail.setFudaPurchaseStatus("预计货好");
|
|
|
detail.setOrderStatus("预计货好");
|
|
|
detail.setEstimateGoodGoodsDate(order.getEstimateGoodGoodsDate());
|
|
|
} else if (3 == order.getPurchaseStatusType()) {
|
|
|
@@ -5304,16 +5341,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (ObjectUtils.isNotNull(order1)) {
|
|
|
if (1 == order.getPurchaseStatusType()) {
|
|
|
order1.setProductionScheduling("排产中");
|
|
|
- order1.setOrderStatus("采购完成");
|
|
|
+ order1.setOrderStatus("排产中");
|
|
|
order1.setProductionSchedulingDate(order.getProductionSchedulingDate());
|
|
|
} else if (2 == order.getPurchaseStatusType()) {
|
|
|
order1.setProductionScheduling("预计货好");
|
|
|
order1.setOrderStatus("预计货好");
|
|
|
- order1.setEstimateGoodGoodsDate(order.getEstimateGoodGoodsDate());
|
|
|
+ order1.setProductionSchedulingDate(order.getEstimateGoodGoodsDate());
|
|
|
} else if (3 == order.getPurchaseStatusType()) {
|
|
|
order1.setProductionScheduling("货备齐");
|
|
|
order1.setOrderStatus("货备齐");
|
|
|
- order1.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ order1.setProductionSchedulingDate(new Date());
|
|
|
}
|
|
|
if (order1.getStorageQuantity().equals(order1.getPurchaseQuantity().add(purchaseQuantity))) {
|
|
|
order1.setPurchaseQuantity(order1.getPurchaseQuantity().add(purchaseQuantity));
|
|
|
@@ -5355,12 +5392,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "已预计货好,请查看");
|
|
|
selectOrder.setProductionScheduling("预计货好");
|
|
|
selectOrder.setOrderStatus("预计货好");
|
|
|
- selectOrder.setEstimateGoodGoodsDate(order.getEstimateGoodGoodsDate());
|
|
|
+ selectOrder.setProductionSchedulingDate(order.getEstimateGoodGoodsDate());
|
|
|
} else if (3 == order.getPurchaseStatusType()) {
|
|
|
sendMessage.setMessageBody("您的销售订单" + selectOrder.getSysNo() + "已采购完成,请查看");
|
|
|
selectOrder.setProductionScheduling("货备齐");
|
|
|
- selectOrder.setOrderStatus("采购完成");
|
|
|
- selectOrder.setFudaPurchaseDate(order.getFudaPurchaseDate());
|
|
|
+ selectOrder.setOrderStatus("货备齐");
|
|
|
+ selectOrder.setProductionSchedulingDate(new Date());
|
|
|
deliveryClient.updateBySrcId(selectOrder.getId(), "FH", selectOrder.getTradeType());
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|