Compare commits
2 Commits
3f13341a3b
...
f8f361881b
| Author | SHA1 | Date |
|---|---|---|
|
|
f8f361881b | |
|
|
fb4ed3c5a3 |
|
|
@ -0,0 +1,24 @@
|
|||
package com.njzscloud.dispose.cst.order.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 字典代码:check_status
|
||||
* 字典名称:勘料状态
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum CheckStatus implements DictStr {
|
||||
Wu("Wu", "无需勘料"),
|
||||
|
||||
YiKanLiao("YiKanLiao", "已勘料"),
|
||||
|
||||
WeiKanLiao("WeiKanLiao", "未勘料"),
|
||||
|
||||
;
|
||||
private final String val;
|
||||
|
||||
private final String txt;
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.njzscloud.dispose.cst.order.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 字典代码:payment_status
|
||||
* 字典名称:支付状态
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum PaymentStatus implements DictStr {
|
||||
MianFei("MianFei", "免费"),
|
||||
|
||||
WeiZhiFu("WeiZhiFu", "未支付"),
|
||||
|
||||
YiZhiFu("YiZhiFu", "已支付"),
|
||||
|
||||
YiTuiKuan("YiTuiKuan", "已退款"),
|
||||
|
||||
;
|
||||
private final String val;
|
||||
|
||||
private final String txt;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
package com.njzscloud.dispose.cst.order.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 字典代码:settlement_way
|
||||
* 字典名称:结算方式
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum SettlementWay implements DictStr {
|
||||
YueJie("YueJie", "月结"),
|
||||
|
||||
YuE("YuE", "余额"),
|
||||
|
||||
XianFu("XianFu", "现付"),
|
||||
|
||||
;
|
||||
private final String val;
|
||||
|
||||
private final String txt;
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package com.njzscloud.dispose.cst.order.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 字典代码:trans_status
|
||||
* 字典名称:运输状态
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum TransStatus implements DictStr {
|
||||
DaiPaiDan("DaiPaiDan", "待派单"),
|
||||
|
||||
DaiJieDan("DaiJieDan", "待接单"),
|
||||
|
||||
YiJieDan("YiJieDan", "已接单"),
|
||||
|
||||
YunShuZhong("YunShuZhong", "运输中"),
|
||||
|
||||
YiJinChang("YiJinChang", "已进场"),
|
||||
|
||||
YiChuChang("YiChuChang", "已出场"),
|
||||
|
||||
YiWanCheng("YiWanCheng", "已完成"),
|
||||
|
||||
YiQuXiao("YiQuXiao", "已取消"),
|
||||
|
||||
;
|
||||
private final String val;
|
||||
|
||||
private final String txt;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.njzscloud.dispose.cst.order.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 字典代码:zx
|
||||
* 字典名称:装/卸货
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum Zx implements DictStr {
|
||||
ZhuangHuo("ZhuangHuo", "装货地址"),
|
||||
|
||||
XieHuo("XieHuo", "卸货地址"),
|
||||
|
||||
;
|
||||
private final String val;
|
||||
|
||||
private final String txt;
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import com.njzscloud.common.core.utils.R;
|
|||
import com.njzscloud.common.mp.support.PageParam;
|
||||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.dispose.cst.order.pojo.entity.OrderEntity;
|
||||
import com.njzscloud.dispose.cst.order.pojo.param.CreateOrderParam;
|
||||
import com.njzscloud.dispose.cst.order.service.OrderService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -13,6 +14,7 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 收/销订单
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
@Slf4j
|
||||
|
|
@ -27,8 +29,8 @@ public class OrderController {
|
|||
* 新增
|
||||
*/
|
||||
@PostMapping("/add")
|
||||
public R<?> add(@RequestBody OrderEntity orderEntity) {
|
||||
orderService.add(orderEntity);
|
||||
public synchronized R<?> add(@RequestBody CreateOrderParam param) {
|
||||
orderService.add(param);
|
||||
return R.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ import lombok.Setter;
|
|||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 收/销订单
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
@Getter
|
||||
|
|
@ -84,7 +84,7 @@ public class OrderEntity extends BaseEntity {
|
|||
/**
|
||||
* 指派清运公司时间
|
||||
*/
|
||||
private BigDecimal assignmentTransTime;
|
||||
private LocalDateTime assignmentTransTime;
|
||||
|
||||
/**
|
||||
* 站点 Id;cst_station.id
|
||||
|
|
|
|||
|
|
@ -32,11 +32,6 @@ public class OrderTransEntity extends BaseEntity {
|
|||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 站点 Id
|
||||
*/
|
||||
private Long stationId;
|
||||
|
||||
/**
|
||||
* 运输状态;字典代码:trans_status,DaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
package com.njzscloud.dispose.cst.order.pojo.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 装/卸货地信息
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
@Data
|
||||
public class CreateOrderCargoPlaceParam {
|
||||
|
||||
/**
|
||||
* 省;代码
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 市;代码
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 区县;代码
|
||||
*/
|
||||
private String area;
|
||||
|
||||
/**
|
||||
* 乡镇街道;代码
|
||||
*/
|
||||
private String town;
|
||||
|
||||
/**
|
||||
* 省;名称
|
||||
*/
|
||||
private String provinceName;
|
||||
|
||||
/**
|
||||
* 市;名称
|
||||
*/
|
||||
private String cityName;
|
||||
|
||||
/**
|
||||
* 区县;名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 乡镇街道;名称
|
||||
*/
|
||||
private String townName;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private Double lng;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private Double lat;
|
||||
}
|
||||
|
|
@ -1,11 +1,7 @@
|
|||
package com.njzscloud.dispose.cst.order.pojo.param;
|
||||
|
||||
import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
|
||||
import com.njzscloud.dispose.cst.project.pojo.entity.ProjectEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
|
|
@ -15,29 +11,13 @@ import java.time.LocalDateTime;
|
|||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CreateOrderParamEntity extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
private String sn;
|
||||
public class CreateOrderParam {
|
||||
|
||||
/**
|
||||
* 项目 Id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 下单人 Id;sys_user.id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 下单人客户 Id;cst_customer.id
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 下单人姓名
|
||||
*/
|
||||
|
|
@ -48,11 +28,6 @@ public class CreateOrderParamEntity extends BaseEntity {
|
|||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 下单时间
|
||||
*/
|
||||
private LocalDateTime orderTime;
|
||||
|
||||
/**
|
||||
* 订单类型;字典代码:order_category,HuiShouYuYue-->回收预约单、XiaoShouYuYue-->销售预约单、DuanBoRu-->短驳入、DuanBoChu-->短驳出
|
||||
*/
|
||||
|
|
@ -81,7 +56,7 @@ public class CreateOrderParamEntity extends BaseEntity {
|
|||
/**
|
||||
* 指派清运公司时间
|
||||
*/
|
||||
private BigDecimal assignmentTransTime;
|
||||
private LocalDateTime assignmentTransTime;
|
||||
|
||||
/**
|
||||
* 站点 Id;cst_station.id
|
||||
|
|
@ -129,9 +104,9 @@ public class CreateOrderParamEntity extends BaseEntity {
|
|||
private String customerMemo;
|
||||
|
||||
/**
|
||||
* 项目信息
|
||||
* 装卸货信息
|
||||
*/
|
||||
private ProjectEntity projectInfo;
|
||||
private CreateOrderCargoPlaceParam cargoPlaceParam;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.njzscloud.dispose.cst.order.pojo.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ljw
|
||||
* @apiNote
|
||||
* @date 2025/12/20
|
||||
*/
|
||||
@Data
|
||||
public class Scope {
|
||||
|
||||
private String strategy;
|
||||
|
||||
@TableField(typeHandler = JsonTypeHandler.class)
|
||||
private List<Long> ids;
|
||||
|
||||
}
|
||||
|
|
@ -4,16 +4,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import com.njzscloud.common.mp.support.PageParam;
|
||||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.dispose.cst.order.pojo.entity.OrderEntity;
|
||||
import com.njzscloud.dispose.cst.order.pojo.param.CreateOrderParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收/销订单
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
public interface OrderService extends IService<OrderEntity> {
|
||||
|
||||
void add(OrderEntity orderEntity);
|
||||
void add(CreateOrderParam param);
|
||||
|
||||
void modify(OrderEntity orderEntity);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,42 @@
|
|||
package com.njzscloud.dispose.cst.order.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njzscloud.common.core.fastjson.Fastjson;
|
||||
import com.njzscloud.common.mp.support.PageParam;
|
||||
import com.njzscloud.common.mp.support.PageResult;
|
||||
import com.njzscloud.common.security.util.SecurityUtil;
|
||||
import com.njzscloud.common.sn.support.SnUtil;
|
||||
import com.njzscloud.dispose.cst.order.constant.*;
|
||||
import com.njzscloud.dispose.cst.order.mapper.OrderMapper;
|
||||
import com.njzscloud.dispose.cst.order.pojo.entity.OrderCargoPlaceEntity;
|
||||
import com.njzscloud.dispose.cst.order.pojo.entity.OrderEntity;
|
||||
import com.njzscloud.dispose.cst.order.pojo.entity.OrderExpenseItemsEntity;
|
||||
import com.njzscloud.dispose.cst.order.pojo.entity.OrderTransEntity;
|
||||
import com.njzscloud.dispose.cst.order.pojo.param.CreateOrderCargoPlaceParam;
|
||||
import com.njzscloud.dispose.cst.order.pojo.param.CreateOrderParam;
|
||||
import com.njzscloud.dispose.cst.order.pojo.vo.Scope;
|
||||
import com.njzscloud.dispose.cst.order.service.OrderCargoPlaceService;
|
||||
import com.njzscloud.dispose.cst.order.service.OrderExpenseItemsService;
|
||||
import com.njzscloud.dispose.cst.order.service.OrderService;
|
||||
import com.njzscloud.dispose.cst.order.service.OrderTransService;
|
||||
import com.njzscloud.dispose.finance.constant.ScopeStrategy;
|
||||
import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity;
|
||||
import com.njzscloud.dispose.finance.service.ExpenseItemService;
|
||||
import com.njzscloud.dispose.sys.auth.pojo.result.MyResult;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 收/销订单
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
@Slf4j
|
||||
|
|
@ -23,10 +44,56 @@ import java.util.List;
|
|||
@RequiredArgsConstructor
|
||||
public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderEntity> implements OrderService {
|
||||
|
||||
private final OrderCargoPlaceService orderCargoPlaceService;
|
||||
private final OrderTransService orderTransService;
|
||||
private final ExpenseItemService expenseItemService;
|
||||
private final OrderExpenseItemsService orderExpenseItemsService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void add(OrderEntity orderEntity) {
|
||||
public void add(CreateOrderParam param) {
|
||||
// 订单信息
|
||||
param.setOrderStatus(OrderStatus.YiYuYue.getVal());
|
||||
Long transOrgId = param.getTransOrgId();
|
||||
OrderStatus orderStatus = transOrgId == null ? OrderStatus.YiYuYue : OrderStatus.JinXingZhong;
|
||||
MyResult userDetail = SecurityUtil.loginUser();
|
||||
OrderEntity orderEntity = BeanUtil.copyProperties(param, OrderEntity.class)
|
||||
.setSn(this.generateSn())
|
||||
.setUserId(SecurityUtil.currentUserId())
|
||||
.setCustomerId(userDetail.getCurrentCustomerId())
|
||||
.setOrderTime(LocalDateTime.now())
|
||||
.setOrderStatus(orderStatus.getVal())
|
||||
.setAssignmentTransTime(transOrgId == null ? null : LocalDateTime.now());
|
||||
this.save(orderEntity);
|
||||
|
||||
// 装卸货信息
|
||||
CreateOrderCargoPlaceParam cargoPlace = param.getCargoPlaceParam();
|
||||
OrderCargoPlaceEntity placeEntity = BeanUtil.copyProperties(cargoPlace, OrderCargoPlaceEntity.class)
|
||||
.setOrderId(orderEntity.getId());
|
||||
if (OrderCategory.HuiShouYuYue.getVal().equals(param.getOrderCategory())) {
|
||||
placeEntity.setZx(Zx.ZhuangHuo.getVal());
|
||||
} else if (OrderCategory.XiaoShouYuYue.getVal().equals(param.getOrderCategory())) {
|
||||
placeEntity.setZx(Zx.XieHuo.getVal());
|
||||
}
|
||||
orderCargoPlaceService.add(placeEntity);
|
||||
|
||||
// 运输信息
|
||||
int transNum = orderEntity.getEstimatedTrainNum();
|
||||
OrderTransEntity transEntity = new OrderTransEntity();
|
||||
transEntity.setOrderId(orderEntity.getId());
|
||||
for (int i = 1; i <= transNum; i++) {
|
||||
transEntity.setTrainNum(i);
|
||||
transEntity.setTransStatus(transOrgId == null ? null : TransStatus.DaiPaiDan.getVal());
|
||||
transEntity.setTransTime(transOrgId == null ? null : LocalDateTime.now());
|
||||
transEntity.setCheckStatus(CheckStatus.WeiKanLiao.getVal());
|
||||
transEntity.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal());
|
||||
orderTransService.add(transEntity);
|
||||
}
|
||||
|
||||
// 付费项
|
||||
if (transOrgId != null) {
|
||||
this.createOrderExpenseItems(orderEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -50,6 +117,100 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderEntity> impl
|
|||
public PageResult<OrderEntity> paging(PageParam pageParam, OrderEntity orderEntity) {
|
||||
return PageResult.of(this.page(pageParam.toPage(), Wrappers.query(orderEntity)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成订单号
|
||||
*
|
||||
* @return sn 订单号
|
||||
*/
|
||||
public String generateSn() {
|
||||
String sn = SnUtil.next("Booking-Order-SN");
|
||||
if (this.exists(Wrappers.<OrderEntity>lambdaQuery().eq(OrderEntity::getSn, sn).eq(OrderEntity::getDeleted, Boolean.FALSE))) {
|
||||
this.generateSn();
|
||||
}
|
||||
return sn;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建订单付费项
|
||||
*
|
||||
* @param orderEntity 订单信息
|
||||
*/
|
||||
public void createOrderExpenseItems(OrderEntity orderEntity) {
|
||||
// 读取启用的付费项配置,并按过滤
|
||||
List<ExpenseItemEntity> itemEntityList = expenseItemService.list(Wrappers.<ExpenseItemEntity>lambdaQuery()
|
||||
.eq(ExpenseItemEntity::getCanuse, Boolean.TRUE)
|
||||
.eq(ExpenseItemEntity::getDeleted, Boolean.FALSE));
|
||||
Long transOrgId = orderEntity.getTransOrgId();
|
||||
Long goodsId = orderEntity.getGoodsId();
|
||||
Long stationId = orderEntity.getStationId();
|
||||
List<ExpenseItemEntity> goodsItems = itemEntityList.stream().filter(item ->
|
||||
item.getGoodsId().equals(goodsId)).toList();
|
||||
|
||||
OrderExpenseItemsEntity goodsOrderItem = null;
|
||||
if (!goodsItems.isEmpty()) {
|
||||
goodsOrderItem = BeanUtil.copyProperties(goodsItems.getFirst(), OrderExpenseItemsEntity.class)
|
||||
.setOrderId(orderEntity.getId())
|
||||
.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal());
|
||||
}
|
||||
|
||||
List<OrderExpenseItemsEntity> extraItems = itemEntityList.stream()
|
||||
.filter(cfg -> {
|
||||
Scope userScope = Fastjson.toBean(cfg.getUserScope(), Scope.class);
|
||||
Scope goodsScope = Fastjson.toBean(cfg.getGoodsScope(), Scope.class);
|
||||
Scope stationsScope = Fastjson.toBean(cfg.getStationScope(), Scope.class);
|
||||
List<Long> companyIds = userScope != null ? userScope.getIds() : null;
|
||||
List<Long> goodsIds = goodsScope != null ? goodsScope.getIds() : null;
|
||||
List<Long> stationsIds = stationsScope != null ? stationsScope.getIds() : null;
|
||||
|
||||
// 判断客户范围
|
||||
boolean isComTrue;
|
||||
if (userScope != null && ScopeStrategy.SuoYou.getVal().equals(userScope.getStrategy())) {
|
||||
isComTrue = true; // 所有客户都匹配
|
||||
} else {
|
||||
isComTrue = companyIds != null && transOrgId != null && companyIds.contains(transOrgId);
|
||||
}
|
||||
|
||||
// 判断产品范围
|
||||
boolean isGoodsTrue;
|
||||
if (goodsScope != null && ScopeStrategy.SuoYou.getVal().equals(goodsScope.getStrategy())) {
|
||||
isGoodsTrue = true; // 所有产品都匹配
|
||||
} else {
|
||||
isGoodsTrue = goodsIds != null && goodsId != null && goodsIds.contains(goodsId);
|
||||
}
|
||||
|
||||
// 判断站点范围
|
||||
boolean isStationsTrue;
|
||||
if (stationsScope != null && ScopeStrategy.SuoYou.getVal().equals(stationsScope.getStrategy())) {
|
||||
isStationsTrue = true; // 所有站点都匹配
|
||||
} else {
|
||||
isStationsTrue = stationsIds != null && stationId != null && stationsIds.contains(stationId);
|
||||
}
|
||||
|
||||
// 只有当三个条件都为true时,才返回true
|
||||
return isComTrue && isGoodsTrue && isStationsTrue;
|
||||
})
|
||||
// 复制配置为订单付费项(数量口径与产品一致:按车=1,否则=settleWeight)
|
||||
.map(cfg -> {
|
||||
OrderExpenseItemsEntity entity = BeanUtil.copyProperties(cfg, OrderExpenseItemsEntity.class);
|
||||
entity.setOrderId(orderEntity.getId());
|
||||
entity.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal());
|
||||
return entity;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 第三步:合并集合并计算金额,然后批量落库
|
||||
if (goodsOrderItem != null) {
|
||||
extraItems.addFirst(goodsOrderItem);
|
||||
}
|
||||
|
||||
if (extraItems.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 批量保存付费项
|
||||
orderExpenseItemsService.saveBatch(extraItems);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package com.njzscloud.dispose.finance.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
|
||||
/**
|
||||
* 字典代码:payer
|
||||
* 字典名称:付费方
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
@Getter
|
||||
|
|
@ -15,7 +17,7 @@ public enum Payer implements DictStr {
|
|||
|
||||
ChanFei("ChanFei", "产废方"),
|
||||
|
||||
QingYun("QingYun", "清运方"),
|
||||
QingYun("YunShuFang", "运输方"),
|
||||
|
||||
XiaoNa("XiaoNa", "消纳方"),
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,21 @@
|
|||
package com.njzscloud.dispose.finance.constant;
|
||||
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.njzscloud.common.core.ienum.DictStr;
|
||||
|
||||
/**
|
||||
* 字典代码:scope_strategy
|
||||
* 字典名称:适用用户
|
||||
*
|
||||
* @author ljw
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
public enum ScopeStrategy implements DictStr {
|
||||
|
||||
Wu("Wu", "无"),
|
||||
|
||||
ZhiDing("ZhiDing", "指定"),
|
||||
|
||||
SuoYou("SuoYou", "所有"),
|
||||
|
|
|
|||
|
|
@ -38,8 +38,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsEntity> impl
|
|||
expenseItem.setGoodsId(goodsEntity.getId());
|
||||
expenseItem.setExpenseItemCategory(ExpenseItemCategory.ChanPin.getVal());
|
||||
expenseItem.setExpenseItemName(goodsEntity.getGoodsName());
|
||||
// goodsScope默认传{strategy: 'ZhiDing',ids:[goodsEntity.getId()]}
|
||||
expenseItem.setGoodsScope("{\"strategy\":\"ZhiDing\",\"ids\":[" + goodsEntity.getId() + "]}");
|
||||
expenseItemService.save(expenseItem);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue