diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java index 3bf47bc..d6a08b6 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java @@ -70,6 +70,14 @@ public class OmsSaleOrderController { public R getTransports(){ return R.ok(omsTransportMapper.selectList(null)); } + + @GetMapping("getOrderGiftItems/{orderId}") + public R> getOrderGiftItems(@PathVariable("orderId")Long orderId){ + List gifts = omsSaleOrderService.checkGiftOrderAndBuildItems(omsSaleOrderService.getById(orderId), + omsSaleOrderItemService.list(new LambdaQueryWrapper().eq(OmsSaleOrderItem::getOrderId, orderId))); + return R.ok(gifts); + } + /** * 查看排产预估计划 * @param param diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java index ffdf2c9..c1693d7 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItem.java @@ -153,7 +153,7 @@ public class OmsSaleOrderItem implements Serializable { private Object spuInfo; /** skuBelong */ - private Object skuBelong; + private String skuBelong; /** 分类 */ @TableField(exist = false) diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItemGift.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItemGift.java index 5d12c2c..0c9775f 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItemGift.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrderItemGift.java @@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank; /** * 订单明细 实体类 * @author YenHex - * @since 2025-06-23 + * @since 2025-06-25 */ @Data @TableName("oms_sale_order_item_gift") @@ -38,20 +38,9 @@ public class OmsSaleOrderItemGift implements Serializable { @Length(max = 32,message = "订单sn长度不能超过32字") private String orderSn; - /** erpId */ - @Length(max = 36,message = "erpId长度不能超过36字") - private String orderErpId; - - /** erp明细id */ - @Length(max = 36,message = "erp明细id长度不能超过36字") - private String orderErpItemId; - /** 搭赠ItemId */ private Long giftItemId; - /** erp删除状态 */ - private Integer erpDelFlag; - /** 商品id */ private Long spuId; @@ -63,8 +52,8 @@ public class OmsSaleOrderItemGift implements Serializable { @Length(max = 100,message = "商品名称长度不能超过100字") private String spuTitle; - /** */ - @Length(max = 255,message = "长度不能超过255字") + /** sku标题 */ + @Length(max = 255,message = "sku标题长度不能超过255字") private String skuTitle; /** sku批次id */ @@ -113,10 +102,14 @@ public class OmsSaleOrderItemGift implements Serializable { /** 市场价 */ private BigDecimal marketPrice; - /** */ + /** 重量 */ private BigDecimal weight; - /** */ + /** 毛重 */ + @Length(max = 32,message = "毛重长度不能超过32字") + private String grossWeight; + + /** 体积 */ private BigDecimal volume; /** 备注 */ @@ -153,26 +146,45 @@ public class OmsSaleOrderItemGift implements Serializable { @TableField(fill = FieldFill.UPDATE) private String updateBy; - /** */ - @Length(max = 32,message = "长度不能超过32字") - private String grossWeight; - - /** */ - @Length(max = 255,message = "长度不能超过255字") - private String version; - - /** */ - private Integer erpDelStatus; - /** 预估排产时间 */ - @Length(max = 0,message = "预估排产时间长度不能超过0字") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime preProductionDate; + private LocalDate preProductionDate; /** 生产备注 */ @Length(max = 255,message = "生产备注长度不能超过255字") private String productionRemark; + + public static OmsSaleOrderItemGift toNewObject(OmsSaleOrderItem source){ + OmsSaleOrderItemGift saleOrderItemGift = new OmsSaleOrderItemGift(); + saleOrderItemGift.setId(source.getId()); + saleOrderItemGift.setOrderId(source.getOrderId()); + saleOrderItemGift.setOrderSn(source.getOrderSn()); + saleOrderItemGift.setGiftItemId(source.getGiftItemId()); + saleOrderItemGift.setSpuId(source.getSpuId()); + saleOrderItemGift.setSpuCode(source.getSpuCode()); + saleOrderItemGift.setSpuTitle(source.getSpuTitle()); + saleOrderItemGift.setSkuTitle(source.getSkuTitle()); + saleOrderItemGift.setSkuBatchId(source.getSkuBatchId()); + saleOrderItemGift.setSkuBatchCode(source.getSkuBatchCode()); + saleOrderItemGift.setSkuId(source.getSkuId()); + saleOrderItemGift.setSkuCode(source.getSkuCode()); + saleOrderItemGift.setSkuAddCode(source.getSkuAddCode()); + saleOrderItemGift.setSkuUnit(source.getSkuUnit()); + saleOrderItemGift.setSkuImg(source.getSkuImg()); + saleOrderItemGift.setSkuBelong(source.getSkuBelong()); + saleOrderItemGift.setSpecValues(source.getSpecValues()); + //saleOrderItemGift.setQuantity(source.getQuantity()); + saleOrderItemGift.setSalesPrice(source.getSalesPrice()); + saleOrderItemGift.setCusPrice(source.getCusPrice()); + saleOrderItemGift.setMarketPrice(source.getMarketPrice()); + saleOrderItemGift.setWeight(source.getWeight()); + saleOrderItemGift.setVolume(source.getVolume()); + saleOrderItemGift.setPreProductionDate(source.getPreProductionDate()); + saleOrderItemGift.setProductionRemark(source.getProductionRemark()); + return saleOrderItemGift; + } + } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsSaleOrderItemGiftMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsSaleOrderItemGiftMapper.java new file mode 100644 index 0000000..efc9b68 --- /dev/null +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsSaleOrderItemGiftMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.oms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.oms.entity.OmsSaleOrderItemGift; + +/** + * 订单明细 Mapper + * @author YenHex + * @date 2025-06-25 + */ +public interface OmsSaleOrderItemGiftMapper extends BaseMapper { + +} + diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java index 9cc0e59..9b12ae7 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsSaleOrderService.java @@ -7,6 +7,7 @@ import com.qs.serve.modules.bms.entity.BmsSupplierAddress; import com.qs.serve.modules.goods.entity.GoodsCategoryRule; import com.qs.serve.modules.oms.entity.OmsSaleOrder; import com.qs.serve.modules.oms.entity.OmsSaleOrderItem; +import com.qs.serve.modules.oms.entity.OmsSaleOrderItemGift; import com.qs.serve.modules.oms.entity.bo.*; import com.qs.serve.modules.oms.entity.dto.OmsSaleOrderChange; import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult; @@ -36,6 +37,9 @@ public interface OmsSaleOrderService extends IService { List> selectExpiredOrderRates(); + + List checkGiftOrderAndBuildItems(OmsSaleOrder omsOrder, List orderItemList); + /** * 确认订单 H5 * @param confirmOrder diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java index 8a751b6..1f0c2df 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java @@ -40,10 +40,7 @@ import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult; import com.qs.serve.modules.oms.entity.vo.OmsPlanResult; import com.qs.serve.modules.oms.entity.vo.OmsPromotionGiftItemVo; import com.qs.serve.modules.oms.entity.vo.OmsSpuAssesInfo; -import com.qs.serve.modules.oms.mapper.OmsSaleOrderMapper; -import com.qs.serve.modules.oms.mapper.OmsSeaTankMapper; -import com.qs.serve.modules.oms.mapper.OmsTransportMapper; -import com.qs.serve.modules.oms.mapper.OmsVerSaleOrderMapper; +import com.qs.serve.modules.oms.mapper.*; import com.qs.serve.modules.oms.service.*; import com.qs.serve.modules.oms.utils.OmsOrderUtil; import com.qs.serve.modules.sale.entity.SalePlan; @@ -92,6 +89,7 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl orderItemGiftList = checkGiftOrderAndBuildItems(omsOrder, orderItemList); + for (OmsSaleOrderItemGift gift : orderItemGiftList) { + omsSaleOrderItemGiftMapper.insert(gift); + } + //DEV补充:调度系统写报价单给ERP时,要把地址ID写过去 // if (supplierAddress.getTmsSysId() == null) { // Assert.throwEx("地址缺失TmsSysId关联"); @@ -1433,7 +1435,9 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl orderItemList) { + @Override + public List checkGiftOrderAndBuildItems(OmsSaleOrder omsOrder, List orderItemList) { + List giftItemList = new ArrayList<>(); // 校验订单的搭赠方案,并生成赠品列表 Map> itemMap = orderItemList.stream().filter(a->a.getGiftItemId() != null) .collect(Collectors.groupingBy(OmsSaleOrderItem::getGiftItemId)); @@ -1469,11 +1473,14 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl postUserList = postUserService.listByUserIds(userIds); Map> postMap = postUserList.stream().collect(Collectors.groupingBy(SysPostUser::getUserId)); List result = new ArrayList<>(); + + // 用于去重 + Set existAffairIds = new HashSet<>(); + for (CtpAffair ctpAffair : ctpAffairs) { + if (existAffairIds.contains(ctpAffair.getAffairId())){ + continue; + }else { + existAffairIds.add(ctpAffair.getAffairId()); + } if (StringUtils.isNotEmpty(ctpAffair.getComment())&&ctpAffair.getComment().contains("同意说明:")){ ctpAffair.setComment(ctpAffair.getComment().replace("同意说明:","")); }