diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java index c68962f9..71e07a62 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java @@ -340,5 +340,15 @@ public class OmsOrderApi { return R.ok(); } + /** + * 复制订单 + * @param orderId + * @return + */ + @PostMapping("/copyOrder/{orderId}") + public R copyOrder(@PathVariable Long orderId){ + return R.ok(omsOrderService.copyOrder(orderId)); + } + } diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java index 3ad495da..f6918b00 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java @@ -78,5 +78,12 @@ public interface OmsOrderService extends IService { */ OmsOrder modifyImminentOrder(OmsOrderImminentBo param); + /** + * 复制订单 + * @param orderId + * @return + */ + OmsOrder copyOrder(Long orderId); + } diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index 81584e7c..cfed9e39 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -784,6 +784,57 @@ public class OmsOrderServiceImpl extends ServiceImpl im return order; } + @Override + public OmsOrder copyOrder(Long orderId) { + OmsOrder orgOrder = this.getById(orderId); + List orderItems = omsOrderItemService.list(new LambdaQueryWrapper() + .eq(OmsOrderItem::getOrderId,orderId)); + OmsOrder order = new OmsOrder(); + order.setId(null); + order.setOrderType(orgOrder.getOrderType()); + String orderPrefix = null; + if(order.getOrderType().equals(0)){ + orderPrefix = "SN"; + }else if(order.getOrderType().equals(1)){ + orderPrefix = "ZP"; + }else if(order.getOrderType().equals(2)){ + orderPrefix = "SC"; + }else if(order.getOrderType().equals(3)){ + orderPrefix = "SP"; + }else { + Assert.throwEx("订单类型错误"); + } + order.setOrderSn(orderPrefix+CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder)); + SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId()); + order.setUserId(user.getId()); + order.setUserCode(user.getCode()); + order.setUserName(user.getName()); + order.setUserPhone(user.getMobile()); + order.setCheckState(0); + + order.setLatitudeFrom(orgOrder.getLatitudeFrom()); + order.setOrderSource(orgOrder.getOrderSource()); + order.setSupplierId(orgOrder.getSupplierId()); + order.setSupplierCode(orgOrder.getSupplierCode()); + order.setSupplierName(orgOrder.getSupplierName()); + order.setSupplierAddrId(orgOrder.getSupplierAddrId()); + order.setBrandRuleId(orgOrder.getBrandRuleId()); + order.setBrandRuleName(orgOrder.getBrandRuleName()); + + order.setBillType(orgOrder.getBillType()); + order.setCdOrderRemark(orgOrder.getCdOrderRemark()); + order.setRemark(orgOrder.getRemark()); + + + this.save(order); + for (OmsOrderItem item : orderItems) { + item.setId(null); + item.setOrderId(order.getId()); + } + omsOrderItemService.saveBatch(orderItems); + return order; + } + @NotNull private OmsOrderItem createImminentOrderItem(OmsOrder order, List spuList, OmsOrderImminentBo.ItemParam item, GoodsImminentBatch batch, GoodsSku sku) { OmsOrderItem orderItem = new OmsOrderItem(); diff --git a/src/main/java/com/qs/serve/modules/tag/mapper/TagInfoMapper.java b/src/main/java/com/qs/serve/modules/tag/mapper/TagInfoMapper.java index afb71667..f07622da 100644 --- a/src/main/java/com/qs/serve/modules/tag/mapper/TagInfoMapper.java +++ b/src/main/java/com/qs/serve/modules/tag/mapper/TagInfoMapper.java @@ -1,7 +1,12 @@ package com.qs.serve.modules.tag.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.tag.entity.TagInfo; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 标签信息 Mapper @@ -10,5 +15,18 @@ import com.qs.serve.modules.tag.entity.TagInfo; */ public interface TagInfoMapper extends BaseMapper { + @InterceptorIgnore(tenantLine = "1") + @Select(" SELECT " + + " DISTINCT " + + " tag_info.tag_name " + + " FROM `tag_data` " + + " left join tag_info on tag_id = tag_info.id " + + " where " + + " tag_data.del_flag = 0 " + + " and tag_info.del_flag = 0 " + + " and target_type = 'customer' " + + " and target_code = #{supplierCode} ") + List lisTagsBySupplierCode(@Param("supplierCode") String supplierCode); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index 07d69a7e..0b706741 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -47,6 +47,7 @@ import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysConfigService; import com.qs.serve.modules.sys.service.SysUserService; +import com.qs.serve.modules.tag.mapper.TagInfoMapper; import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; @@ -131,6 +132,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl tags = tagInfoMapper.lisTagsBySupplierCode(supplier.getCode()); + data.put("tags",tags); if(contracts.size()>0){ //构建合同DATA @@ -1309,6 +1313,9 @@ public class TbsCostApplyServiceImpl extends ServiceImpl tags = tagInfoMapper.lisTagsBySupplierCode(supplier.getCode()); + data.put("tags",tags); data.put("sub",subList); } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 962ed1fd..9ce5aa41 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -33,6 +33,7 @@ import com.qs.serve.modules.sys.entity.SysSyncLog; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysSyncLogService; import com.qs.serve.modules.sys.service.SysUserService; +import com.qs.serve.modules.tag.mapper.TagInfoMapper; import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; @@ -119,6 +120,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl tags = tagInfoMapper.lisTagsBySupplierCode(activity.getSupplierCode()); + data.put("tags",tags); + List subjectList = activitySubjectService.listByActivityId(activity.getId()); List subjectDTOList = new ArrayList<>(); for (TbsActivitySubject activitySubject : subjectList) {