From 9e5c68dd9b53655083e32edc5bad0f709513c22d Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 23 Dec 2024 16:43:22 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=B8=B4=E6=97=B6=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/controller/api/OmsSaleOrderApi.java | 43 +++++++++++-------- .../modules/oms/entity/ErpSaleOrder.java | 2 +- .../modules/oms/entity/ErpSaleOrderItem.java | 1 + .../modules/oms/entity/OmsSaleOrder.java | 20 ++++++++- .../listener/OrderCreateCacheListener.java | 26 +++++++++-- .../impl/OmsSaleOrderPart1ServiceImpl.java | 9 ++-- .../service/impl/OmsSaleOrderServiceImpl.java | 30 ++++--------- .../controller/TzcPolicyTestController.java | 2 +- .../modules/tzc/entity/dto/PolicyItemDto.java | 2 + .../impl/TzcPolicyApplicationServiceImpl.java | 1 + 10 files changed, 82 insertions(+), 54 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsSaleOrderApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsSaleOrderApi.java index 97c1a66c..ab268a54 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsSaleOrderApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsSaleOrderApi.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.oms.controller.api; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.framework.mybatis.handler.meta.TableNameAppendHandler; import com.qs.serve.common.model.annotation.SysLog; @@ -293,41 +294,45 @@ public class OmsSaleOrderApi { public R> getPageUnder4Pc(OmsSaleOrder param){ String loginUserId = AuthContextUtils.getSysUserId(); List userIds = postUserService.listByChildIds(loginUserId); - if(CollectionUtil.isEmpty(userIds)){ - return R.byEmptyList(); - } + userIds.add(loginUserId); PageUtil.startPage(); LambdaQueryWrapper orderWrapper = new LambdaQueryWrapper<>(param); orderWrapper.in(OmsSaleOrder::getUserId,userIds); orderWrapper.orderByDesc(OmsSaleOrder::getId); List list = omsSaleOrderService.list(orderWrapper); - + if(CollectionUtil.isEmpty(list)){ + return R.byEmptyList(); + } Set addrIds = list.stream().map(OmsSaleOrder::getSupplierAddrId).filter(Objects::nonNull).collect(Collectors.toSet()); + addrIds.add(0L); List supplierAddressList = bmsSupplierAddressService.listByIds(addrIds); Set checkUserIds = list.stream().map(OmsSaleOrder::getCheckUserId).filter(Objects::nonNull).collect(Collectors.toSet()); + checkUserIds.add(AuthContextUtils.getSysUserId()); List sysUsers = sysUserService.listByIds(checkUserIds); Set orderIds = list.stream().map(OmsSaleOrder::getId).filter(Objects::nonNull).collect(Collectors.toSet()); - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.in(OmsSaleOrderItem::getOrderId,orderIds); - List items = omsSaleOrderItemService.list(lqw); - Map> orderItemMap = items.stream().collect(Collectors.groupingBy(OmsSaleOrderItem::getOrderId)); - for (OmsSaleOrder order : list) { - if(order.getSupplierAddrId()!=null){ - for (BmsSupplierAddress address : supplierAddressList) { - if(order.getSupplierAddrId().equals(address.getId())){ - order.setAddressInfo(address); + if(CollUtil.isNotEmpty(orderIds)){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(OmsSaleOrderItem::getOrderId,orderIds); + List items = omsSaleOrderItemService.list(lqw); + Map> orderItemMap = items.stream().collect(Collectors.groupingBy(OmsSaleOrderItem::getOrderId)); + for (OmsSaleOrder order : list) { + if(order.getSupplierAddrId()!=null){ + for (BmsSupplierAddress address : supplierAddressList) { + if(order.getSupplierAddrId().equals(address.getId())){ + order.setAddressInfo(address); + } } } - } - for (SysUser sysUser : sysUsers) { - if(sysUser.getId().equals(order.getCheckUserId())){ - order.setCheckUserInfo(sysUser.toSysUserVo()); - break; + for (SysUser sysUser : sysUsers) { + if(sysUser.getId().equals(order.getCheckUserId())){ + order.setCheckUserInfo(sysUser.toSysUserVo()); + break; + } } + order.setOrderItems(orderItemMap.get(order.getId())); } - order.setOrderItems(orderItemMap.get(order.getId())); } return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrder.java b/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrder.java index a89d70d2..38d8e82b 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrder.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrder.java @@ -181,6 +181,6 @@ public class ErpSaleOrder implements Serializable { private String verifierName; private String currency; private Integer exchangeRate; - + private String version; } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrderItem.java b/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrderItem.java index 1f6edd99..4c46197c 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrderItem.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/ErpSaleOrderItem.java @@ -115,5 +115,6 @@ public class ErpSaleOrderItem implements Serializable { @JsonProperty private String delFlag; + private String version; } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java b/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java index 505310cf..3cf2e2b4 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java @@ -14,6 +14,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.Date; import java.util.List; /** @@ -31,8 +32,6 @@ public class OmsSaleOrder implements Serializable { @TableId(type = IdType.AUTO) private Long id; - private String latitudeFrom; - /** 订单号 */ @NotBlank(message = "订单号不能为空") @Length(max = 20,message = "订单号长度不能超过20字") @@ -241,6 +240,23 @@ public class OmsSaleOrder implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private LocalDate checkEndTime; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate preFinishedDate; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate preDeliveryDate; + private String businessType; + private String saleDept; + private String saleType; + private String closerName; + private String verifierName; + private String currency; + private Integer exchangeRate; + private String version; + /** * 折扣信息 */ diff --git a/src/main/java/com/qs/serve/modules/oms/listener/OrderCreateCacheListener.java b/src/main/java/com/qs/serve/modules/oms/listener/OrderCreateCacheListener.java index f1eb4188..6f19d4d7 100644 --- a/src/main/java/com/qs/serve/modules/oms/listener/OrderCreateCacheListener.java +++ b/src/main/java/com/qs/serve/modules/oms/listener/OrderCreateCacheListener.java @@ -1,6 +1,9 @@ package com.qs.serve.modules.oms.listener; import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.modules.oms.entity.ErpSaleOrder; +import com.qs.serve.modules.oms.entity.ErpSaleOrderItem; import com.qs.serve.modules.oms.entity.OmsSaleOrder; import com.qs.serve.modules.oms.entity.OmsSaleOrderItem; import com.qs.serve.modules.oms.event.OrderCreateCacheEvent; @@ -41,10 +44,25 @@ public class OrderCreateCacheListener { // 2.查询订单明细 List orderItemList = omsSaleOrderItemService.listByOrderId(omsSaleOrder.getId()); // 3.保存到ERP订单 - erpSaleOrderMapper.insert(omsSaleOrder); - for (OmsSaleOrderItem orderItem : orderItemList) { - erpSaleOrderItemMapper.insert(orderItem); - } +// ErpSaleOrder erpSaleOrder = CopierUtil.copy(omsSaleOrder, new ErpSaleOrder()); +// erpSaleOrder.setOrderSource("CMS"); +// erpSaleOrder.setCurrency("人民币"); +// erpSaleOrder.setExchangeRate(1); +// erpSaleOrder.setErpStatus(0); +// erpSaleOrder.setVersion("1"); +// long rs = erpSaleOrderMapper.insert(erpSaleOrder); +// if (rs==0) { +// return; +// } +// for (OmsSaleOrderItem orderItem : orderItemList) { +// ErpSaleOrderItem erpSaleOrderItem = CopierUtil.copy(orderItem, new ErpSaleOrderItem()); +// erpSaleOrderItem.setVersion("1"); +// erpSaleOrderItemMapper.insert(erpSaleOrderItem); +// } + omsSaleOrder.setOrderSource(""); + omsSaleOrder.setCurrency("人民币"); + omsSaleOrder.setExchangeRate(1); + omsSaleOrder.setVersion("1"); omsSaleOrder.setStatus(2); omsSaleOrderService.updateById(omsSaleOrder); } diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java index 365b11fe..ae90ccb0 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java @@ -82,13 +82,13 @@ public class OmsSaleOrderPart1ServiceImpl implements OmsSaleOrderPart1Service { order.setOrderType(orgOrder.getOrderType()); String orderPrefix = null; if (order.getOrderType().equals(0)) { - orderPrefix = "SN"; + orderPrefix = "SSN"; } else if (order.getOrderType().equals(1)) { - orderPrefix = "ZP"; + orderPrefix = "SZP"; } else if (order.getOrderType().equals(2)) { - orderPrefix = "SC"; + orderPrefix = "SSC"; } else if (order.getOrderType().equals(3)) { - orderPrefix = "SP"; + orderPrefix = "SSP"; } else { Assert.throwEx("订单类型错误"); } @@ -101,7 +101,6 @@ public class OmsSaleOrderPart1ServiceImpl implements OmsSaleOrderPart1Service { order.setCheckState(0); order.setStatus(0); order.setOrderCheckState(OmsOrderCheckState.UnPublish.getCode()); - order.setLatitudeFrom(orgOrder.getLatitudeFrom()); order.setOrderSource(orgOrder.getOrderSource()); order.setSupplierId(orgOrder.getSupplierId()); order.setSupplierCode(orgOrder.getSupplierCode()); diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java index 3282ab53..ef2f83af 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java @@ -303,24 +303,8 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl newOrderItemList = new ArrayList<>(); List orderModifyItems = param.getOrderItems(); for (OmsOrderModifyParam.OmsOrderItemModifyBo modifyItem : orderModifyItems) { - GoodsSku goodsSku = null; - GoodsSpu goodsSpu = null; - if (order.getLatitudeFrom().equals("sku")) { - //H5下单 - goodsSku = goodsSkuService.getById(modifyItem.getSkuId()); - goodsSpu = goodsSpuService.getById(goodsSku.getSpuId()); - } else { - //PC下单 - goodsSpu = goodsSpuMap.get(modifyItem.getSpuId()); - //防止切换ID - if (modifyItem.getSkuId() != null) { - goodsSku = goodsSkuService.getById(modifyItem.getSkuId()); - } else { -// String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); -// goodsSku = goodsSkuService.getByCode(skuCode); - Assert.throwEx("订单无货或下架了"); - } - } + GoodsSku goodsSku = goodsSkuService.getById(modifyItem.getSkuId()); + GoodsSpu goodsSpu = goodsSpuMap.get(modifyItem.getSpuId()); OmsSaleOrderItem orderItem = new OmsSaleOrderItem(); orderItem.setOrderId(order.getId()); orderItem.setOrderSn(order.getOrderSn()); @@ -579,14 +563,13 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl shoppingCarts = confirmOrder.getShoppingCarts(); OmsSaleOrder order = new OmsSaleOrder(); - order.setLatitudeFrom(confirmOrder.getLatitudeFrom().toLowerCase(Locale.ROOT)); String orderPrefix = null; if (order.getOrderType() == null || order.getOrderType().equals(0)) { - orderPrefix = "RSN"; + orderPrefix = "SSN"; } else if (order.getOrderType().equals(1)) { - orderPrefix = "RZP"; + orderPrefix = "SZP"; } else if (order.getOrderType().equals(2)) { - orderPrefix = "RSC"; + orderPrefix = "SSC"; } order.setOrderSn(orderPrefix + CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder)); @@ -1062,6 +1045,9 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl syncPolicy(Long policyId){ - //tzcPolicyApplicationService.syncPolicyItem(policyId); + tzcPolicyApplicationService.syncPolicyItem(policyId); return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/tzc/entity/dto/PolicyItemDto.java b/src/main/java/com/qs/serve/modules/tzc/entity/dto/PolicyItemDto.java index 02d872b9..f611b7ef 100644 --- a/src/main/java/com/qs/serve/modules/tzc/entity/dto/PolicyItemDto.java +++ b/src/main/java/com/qs/serve/modules/tzc/entity/dto/PolicyItemDto.java @@ -25,6 +25,8 @@ public class PolicyItemDto { private String cusCode; + private String cusName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date startDate; diff --git a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java index 7ec64c8f..5d24caec 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java @@ -303,6 +303,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ PolicyItemDto policyItemDto = new PolicyItemDto(); policyItemDto.setTitle(policyItem.getTitle()); policyItemDto.setCusCode(policyItem.getSupplierCode()); + policyItemDto.setCusName(policyItem.getSupplierName()); policyItemDto.setPolicyItemCode(policyItem.getPolicyItemCode()); policyItemDto.setStartDate(DateUtils.localDateToDate(policyItem.getPolicyStartDate())); policyItemDto.setEndDate(DateUtils.localDateToDate(policyItem.getPolicyEndDate()));