付费项相关修改

master
ljw 2026-01-28 16:59:35 +08:00
parent 818ebf48b7
commit 4c4b93599d
31 changed files with 664 additions and 413 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
/**/.DS_Store
/**/.njzscloud-dispose
/接口文档
/.vscode

View File

@ -1,24 +0,0 @@
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;
}

View File

@ -0,0 +1,71 @@
package com.njzscloud.dispose.cst.order.controller;
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.OrderPaymentRecordEntity;
import com.njzscloud.dispose.cst.order.pojo.param.SearchOrderPaymentRecordParam;
import com.njzscloud.dispose.cst.order.service.OrderPaymentRecordService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
*
* @author ljw
*/
@Slf4j
@RestController
@RequestMapping("/orderPaymentRecord")
@RequiredArgsConstructor
public class OrderPaymentRecordController {
private final OrderPaymentRecordService orderPaymentRecordService;
/**
*
*/
@PostMapping("/add")
public R<?> add(@RequestBody OrderPaymentRecordEntity orderPaymentRecordEntity) {
orderPaymentRecordService.add(orderPaymentRecordEntity);
return R.success();
}
/**
*
*/
@PostMapping("/modify")
public R<?> modify(@RequestBody OrderPaymentRecordEntity orderPaymentRecordEntity) {
orderPaymentRecordService.modify(orderPaymentRecordEntity);
return R.success();
}
/**
*
*/
@PostMapping("/del")
public R<?> del(@RequestBody List<Long> ids) {
orderPaymentRecordService.del(ids);
return R.success();
}
/**
*
*/
@GetMapping("/detail")
public R<OrderPaymentRecordEntity> detail(@RequestParam("id") Long id) {
return R.success(orderPaymentRecordService.detail(id));
}
/**
*
*/
@GetMapping("/paging")
public R<PageResult<OrderPaymentRecordEntity>> paging(PageParam pageParam, SearchOrderPaymentRecordParam param) {
return R.success(orderPaymentRecordService.paging(pageParam, param));
}
}

View File

@ -0,0 +1,14 @@
package com.njzscloud.dispose.cst.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njzscloud.dispose.cst.order.pojo.entity.OrderPaymentRecordEntity;
import org.apache.ibatis.annotations.Mapper;
/**
*
*
* @author ljw
*/
@Mapper
public interface OrderPaymentRecordMapper extends BaseMapper<OrderPaymentRecordEntity> {
}

View File

@ -1,7 +1,8 @@
package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -9,6 +10,7 @@ import lombok.experimental.Accessors;
/**
* /
*
* @author ljw
*/
@Getter
@ -16,7 +18,13 @@ import lombok.experimental.Accessors;
@ToString
@Accessors(chain = true)
@TableName(value = "cst_order_cargo_place", autoResultMap = true)
public class OrderCargoPlaceEntity extends BaseEntity {
public class OrderCargoPlaceEntity {
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* Id

View File

@ -1,7 +1,6 @@
package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.njzscloud.dispose.cst.order.constant.OrderCategory;
import com.njzscloud.dispose.cst.order.constant.OrderStatus;
import lombok.Getter;
@ -21,7 +20,13 @@ import java.time.LocalDateTime;
@ToString
@Accessors(chain = true)
@TableName(value = "cst_order", autoResultMap = true)
public class OrderEntity extends BaseEntity {
public class OrderEntity {
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
*
@ -132,6 +137,36 @@ public class OrderEntity extends BaseEntity {
*
*/
private String customerMemo;
/**
* Idsys_user.id
*/
@TableField(fill = FieldFill.INSERT)
private Long creatorId;
/**
* Id sys_user.id
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long modifierId;
/**
*
*/
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
*
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime modifyTime;
/**
* 0-->1-->
*/
@TableLogic
private Boolean deleted;
}

View File

@ -1,7 +1,11 @@
package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
import com.njzscloud.dispose.finance.constant.ExpenseItemCategory;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -19,7 +23,18 @@ import java.math.BigDecimal;
@ToString
@Accessors(chain = true)
@TableName(value = "cst_order_expense_items", autoResultMap = true)
public class OrderExpenseItemsEntity extends BaseEntity {
public class OrderExpenseItemsEntity {
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* Idfin_expense_item.id
*/
private Long originExpenseItemsId;
/**
* Id
@ -29,7 +44,12 @@ public class OrderExpenseItemsEntity extends BaseEntity {
/**
* QiTa-->ChanPin-->YunFei-->
*/
private String expenseItemCategory;
private ExpenseItemCategory expenseItemCategory;
/**
* Id"产品"
*/
private Long goodsId;
/**
*
@ -39,18 +59,13 @@ public class OrderExpenseItemsEntity extends BaseEntity {
/**
* expense_strategyMianFei-->TanXing-->GuDing-->Che-->Fang-->JuLi-->
*/
private String expenseStrategy;
private ExpenseStrategy expenseStrategy;
/**
*
*/
private BigDecimal taxRate;
/**
* payerPingTai-->ChanFei-->QingYun-->XiaoNa-->CaiGou-->
*/
private String payer;
/**
* unit
*/
@ -77,83 +92,19 @@ public class OrderExpenseItemsEntity extends BaseEntity {
private Integer everyQuantity;
/**
* {
* strategy: None | All | Specify,
* objs: long[]
* }Wu-->ZhiDing-->SuoYou-->
* Id
*/
private String userScope;
private Long userId;
/**
* {
* strategy: None | All | Specify,
* objs: long[]
* }Wu-->ZhiDing-->SuoYou-->
* Id
*/
private String stationScope;
private Long customerId;
/**
* {
* strategy: None | All | Specify,
* objs: long[]
* }Wu-->ZhiDing-->SuoYou-->
* Id
*/
private String goodsScope;
/**
* MianFei-->WeiZhiFu-->YiZhiFu-->YiTuiKuan-->退
*/
private String paymentStatus;
/**
*
*/
private BigDecimal payTime;
/**
* 退
*/
private BigDecimal refundTime;
/**
*
*/
private BigDecimal totalMoney;
/**
*
*/
private BigDecimal discountMoney;
/**
*
*/
private BigDecimal reviseMoney;
/**
*
*/
private BigDecimal settleMoney;
/**
* YueJie-->YuE-->XianFu-->
*/
private String settlementWay;
/**
* Idsys_user.id
*/
private Long payerUserId;
/**
* Idcst_customer.id
*/
private Long payerCustomerId;
/**
* Id
*/
private Long payerMoneyAccount;
private Long orgId;
}

View File

@ -0,0 +1,115 @@
package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.dispose.cst.customer.constant.SettlementWay;
import com.njzscloud.dispose.cst.order.constant.PaymentStatus;
import com.njzscloud.dispose.finance.constant.Payer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
*
*
* @author ljw
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName(value = "cst_order_payment_record", autoResultMap = true)
public class OrderPaymentRecordEntity {
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* Id
*/
private Long orderId;
/**
* IdQiTa-->ChanPin-->YunFei-->
*/
private Long expenseItemId;
/**
* Id
*/
private Long transId;
/**
* payerPingTai-->ChanFei-->YunShu-->XiaoNa-->CaiGou-->
*/
private Payer payer;
/**
*
*/
private Integer quantity;
/**
* MianFei-->WeiZhiFu-->YiZhiFu-->YiTuiKuan-->退
*/
private PaymentStatus paymentStatus;
/**
*
*/
private LocalDateTime payTime;
/**
* 退
*/
private LocalDateTime refundTime;
/**
*
*/
private BigDecimal totalMoney;
/**
*
*/
private BigDecimal discountMoney;
/**
*
*/
private BigDecimal reviseMoney;
/**
*
*/
private BigDecimal settleMoney;
/**
* YueJie-->YuE-->XianFu-->
*/
private SettlementWay settlementWay;
/**
* Idsys_user.id
*/
private Long payerUserId;
/**
* Idcst_customer.id
*/
private Long payerCustomerId;
/**
* Id
*/
private Long payerMoneyAccountId;
}

View File

@ -1,18 +1,17 @@
package com.njzscloud.dispose.cst.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
import com.njzscloud.dispose.cst.order.constant.CheckStatus;
import com.njzscloud.dispose.cst.order.constant.PaymentStatus;
import com.njzscloud.dispose.cst.order.constant.TransStatus;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ -26,7 +25,13 @@ import java.util.List;
@ToString
@Accessors(chain = true)
@TableName(value = "cst_order_trans", autoResultMap = true)
public class OrderTransEntity extends BaseEntity {
public class OrderTransEntity {
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
*
@ -184,61 +189,6 @@ public class OrderTransEntity extends BaseEntity {
*/
private LocalDateTime outTime;
/**
* MianFei-->WeiZhiFu-->YiZhiFu-->YiTuiKuan-->退
*/
private PaymentStatus paymentStatus;
/**
*
*/
private BigDecimal payTime;
/**
* 退
*/
private BigDecimal refundTime;
/**
*
*/
private BigDecimal totalMoney;
/**
*
*/
private BigDecimal discountMoney;
/**
*
*/
private BigDecimal reviseMoney;
/**
*
*/
private BigDecimal settleMoney;
/**
* YueJie-->YuE-->XianFu-->
*/
private String settlementWay;
/**
* Idsys_user.id
*/
private Long payerUserId;
/**
* Idcst_customer.id
*/
private Long payerCustomerId;
/**
* Id
*/
private Long payerMoneyAccount;
}

View File

@ -15,9 +15,9 @@ import lombok.experimental.Accessors;
public class AssignmentOrgParam {
/**
* ID
* ID
*/
private Long orderTransId;
private Long orderId;
/**
* Id

View File

@ -0,0 +1,46 @@
package com.njzscloud.dispose.cst.order.pojo.param;
import com.njzscloud.dispose.cst.order.constant.PaymentStatus;
import com.njzscloud.dispose.finance.constant.Payer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
*
*
* @author ljw
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class SearchOrderPaymentRecordParam {
/**
* Id
*/
private Long orderId;
/**
* Id
*/
private Long expenseItemId;
/**
* Id
*/
private Long transId;
/**
*
*/
private Payer payer;
/**
*
*/
private PaymentStatus paymentStatus;
}

View File

@ -8,7 +8,6 @@ import com.njzscloud.dispose.cst.order.constant.OrderStatus;
import com.njzscloud.dispose.cst.order.constant.TransStatus;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@ -178,86 +177,6 @@ public class OrderTransResult {
*/
private LocalDateTime outTime;
/**
* MianFei-->WeiZhiFu-->YiZhiFu-->YiTuiKuan-->退
*/
private String paymentStatus;
/**
*
*/
private BigDecimal payTime;
/**
* 退
*/
private BigDecimal refundTime;
/**
*
*/
private BigDecimal totalMoney;
/**
*
*/
private BigDecimal discountMoney;
/**
*
*/
private BigDecimal reviseMoney;
/**
*
*/
private BigDecimal settleMoney;
/**
* YueJie-->YuE-->XianFu-->
*/
private String settlementWay;
/**
* Idsys_user.id
*/
private Long payerUserId;
/**
* Idcst_customer.id
*/
private Long payerCustomerId;
/**
* Id
*/
private Long payerMoneyAccount;
/**
* Idsys_user.id
*/
private Long creatorId;
/**
* Id sys_user.id
*/
private Long modifierId;
/**
*
*/
private LocalDateTime createTime;
/**
*
*/
private LocalDateTime modifyTime;
/**
* 0-->1-->
*/
private Boolean deleted;
/**
* Idcst_org.id
*/

View File

@ -0,0 +1,69 @@
package com.njzscloud.dispose.cst.order.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.dispose.cst.order.mapper.OrderPaymentRecordMapper;
import com.njzscloud.dispose.cst.order.pojo.entity.OrderPaymentRecordEntity;
import com.njzscloud.dispose.cst.order.pojo.param.SearchOrderPaymentRecordParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
*
*
* @author ljw
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class OrderPaymentRecordService extends ServiceImpl<OrderPaymentRecordMapper, OrderPaymentRecordEntity> {
/**
*
*/
@Transactional(rollbackFor = Exception.class)
public void add(OrderPaymentRecordEntity orderPaymentRecordEntity) {
this.save(orderPaymentRecordEntity);
}
/**
*
*/
@Transactional(rollbackFor = Exception.class)
public void modify(OrderPaymentRecordEntity orderPaymentRecordEntity) {
this.updateById(orderPaymentRecordEntity);
}
/**
*
*/
@Transactional(rollbackFor = Exception.class)
public void del(List<Long> ids) {
this.removeBatchByIds(ids);
}
/**
*
*/
public OrderPaymentRecordEntity detail(Long id) {
return this.getById(id);
}
/**
*
*/
public PageResult<OrderPaymentRecordEntity> paging(PageParam pageParam, SearchOrderPaymentRecordParam param) {
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<OrderPaymentRecordEntity>lambdaQuery()
.eq(param.getOrderId() != null, OrderPaymentRecordEntity::getOrderId, param.getOrderId())
.eq(param.getExpenseItemId() != null, OrderPaymentRecordEntity::getExpenseItemId, param.getExpenseItemId())
.eq(param.getTransId() != null, OrderPaymentRecordEntity::getTransId, param.getTransId())
.eq(param.getPayer() != null, OrderPaymentRecordEntity::getPayer, param.getPayer())
.eq(param.getPaymentStatus() != null, OrderPaymentRecordEntity::getPaymentStatus, param.getPaymentStatus())));
}
}

View File

@ -16,21 +16,20 @@ import com.njzscloud.dispose.cst.driver.pojo.entity.DriverEntity;
import com.njzscloud.dispose.cst.order.constant.*;
import com.njzscloud.dispose.cst.order.mapper.OrderMapper;
import com.njzscloud.dispose.cst.order.mapper.OrderTransMapper;
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.entity.*;
import com.njzscloud.dispose.cst.order.pojo.param.*;
import com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult;
import com.njzscloud.dispose.cst.truck.mapper.TruckMapper;
import com.njzscloud.dispose.cst.truck.pojo.entity.TruckEntity;
import com.njzscloud.dispose.finance.constant.ScopeStrategy;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import com.njzscloud.dispose.finance.mapper.MoneyAccountMapper;
import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity;
import com.njzscloud.dispose.finance.pojo.entity.ScopeStrategyConfig;
import com.njzscloud.dispose.finance.pojo.entity.MoneyAccountEntity;
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.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -56,6 +55,8 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
private final TruckMapper truckMapper;
private final CustomerMapper customerMapper;
private final OrderExpenseItemsService orderExpenseItemsService;
private final OrderPaymentRecordService orderPaymentRecordService;
private final MoneyAccountMapper moneyAccountMapper;
@Transactional(rollbackFor = Exception.class)
public void add(CreateOrderParam param) {
@ -93,7 +94,6 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
transEntity.setTransStatus(transOrgId == null ? null : TransStatus.DaiPaiDan);
transEntity.setTransTime(transOrgId == null ? null : LocalDateTime.now());
transEntity.setCheckStatus(CheckStatus.WeiKanLiao);
transEntity.setPaymentStatus(PaymentStatus.WeiZhiFu);
transEntity.setTransDistance(param.getTransDistance());
orderTransMapper.insert(transEntity);
}
@ -124,10 +124,10 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
@Transactional(rollbackFor = Exception.class)
public void assignmentOrg(AssignmentOrgParam orgParam) {
Assert.notNull(orgParam, () -> Exceptions.clierr("请填写参数"));
Assert.notNull(orgParam.getOrderTransId(), () -> Exceptions.clierr("订单运输ID不可为空"));
Assert.notNull(orgParam.getOrderId(), () -> Exceptions.clierr("订单ID不可为空"));
Assert.notNull(orgParam.getTransOrgId(), () -> Exceptions.clierr("清运公司ID不可为空"));
OrderTransResult result = orderTransMapper.getById(orgParam.getOrderTransId());
OrderEntity result = this.getById(orgParam.getOrderId());
Assert.notNull(result, () -> Exceptions.clierr("订单不存在"));
Assert.isNull(result.getTransOrgId(), () -> Exceptions.clierr("当前订单已分配清运公司,无需重复分配"));
Assert.isTrue(OrderStatus.YiYuYue.equals(result.getOrderStatus()), () -> Exceptions.clierr("当前订单状态,无法分配清运公司"));
@ -143,14 +143,17 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
.setTransCustomerId(customer.getId())
.setAssignmentTransTime(LocalDateTime.now())
.setOrderStatus(OrderStatus.JinXingZhong)
.setId(result.getOrderId());
.setId(result.getId());
this.updateById(orderEntity);
// 更新运输信息表 cst_trans_order 的运输状态信息
OrderTransEntity transEntity = new OrderTransEntity();
transEntity.setId(orgParam.getOrderTransId());
transEntity.setTransStatus(TransStatus.DaiPaiDan);
orderTransMapper.updateById(transEntity);
orderTransMapper.update(Wrappers.<OrderTransEntity>lambdaUpdate()
.set(OrderTransEntity::getTransStatus, TransStatus.DaiPaiDan)
.eq(OrderTransEntity::getOrderId, result.getId()));
// 创建订单付费项
OrderEntity newOrderInfo = this.getById(orgParam.getOrderId());
this.createOrderExpenseItems(newOrderInfo);
}
@Transactional(rollbackFor = Exception.class)
@ -287,7 +290,7 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
Assert.notNull(result, () -> Exceptions.clierr("订单不存在"));
Assert.isTrue(OrderStatus.JinXingZhong.equals(result.getOrderStatus())
&& TransStatus.YiJinChang.equals(result.getTransStatus()) && CheckStatus.WeiKanLiao.equals(result.getCheckStatus()),
&& TransStatus.YiJinChang.equals(result.getTransStatus()) && CheckStatus.WeiKanLiao.equals(result.getCheckStatus()),
() -> Exceptions.clierr("当前订单状态,无法看料"));
// 更新运输信息
@ -335,6 +338,38 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
transEntity.setOutBodyPhoto(leavingParam.getBodyPhoto());
transEntity.setOutTime(LocalDateTime.now());
orderTransMapper.updateById(transEntity);
// 更新付费记录的量
this.updatePaymentRecordQuantity(transEntity.getId(), transEntity.getSettleWeight());
}
/**
*
*
* @param transId ID
*/
private void updatePaymentRecordQuantity(Long transId, Integer settleWeight) {
// 1. 通过运输信息ID查询付费记录
List<OrderPaymentRecordEntity> paymentRecords = orderPaymentRecordService.list(Wrappers.<OrderPaymentRecordEntity>lambdaQuery()
.eq(OrderPaymentRecordEntity::getTransId, transId));
if (paymentRecords.isEmpty()) {
return;
}
// 2. 遍历更新每条付费记录的量
for (OrderPaymentRecordEntity record : paymentRecords) {
// 通过付费记录的订单收费项 Id 查询付费项
OrderExpenseItemsEntity expenseItem = orderExpenseItemsService.getById(record.getExpenseItemId());
// 3. 如果计费策略为Che则量为1否则为净重
Integer quantity = ExpenseStrategy.Che.equals(expenseItem.getExpenseStrategy()) ? 1 : settleWeight;
OrderPaymentRecordEntity updateRecord = new OrderPaymentRecordEntity();
updateRecord.setId(record.getId());
updateRecord.setQuantity(quantity);
orderPaymentRecordService.updateById(updateRecord);
}
}
public void updateTruckHisTareWeight(Long truckId, Integer weight) {
@ -380,50 +415,32 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
if (!goodsItems.isEmpty()) {
goodsOrderItem = BeanUtil.copyProperties(goodsItems.getFirst(), OrderExpenseItemsEntity.class)
.setOrderId(orderEntity.getId())
.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal());
.setOriginExpenseItemsId(goodsItems.getFirst().getId());
}
List<OrderExpenseItemsEntity> extraItems = itemEntityList.stream()
.filter(cfg -> {
ScopeStrategyConfig userScope = cfg.getUserScope();
ScopeStrategyConfig goodsScope = cfg.getGoodsScope();
ScopeStrategyConfig stationsScope = cfg.getStationScope();
List<Long> companyIds = userScope != null ? userScope.getIds() : null;
List<Long> goodsIds = goodsScope != null ? goodsScope.getIds() : null;
List<Long> stationsIds = stationsScope != null ? stationsScope.getIds() : null;
Long userId = cfg.getUserId();
Long customerId = cfg.getCustomerId();
Long orgId = cfg.getOrgId();
// 判断客户范围
boolean isComTrue;
if (userScope != null && ScopeStrategy.SuoYou.getVal().equals(userScope.getStrategy())) {
isComTrue = true; // 所有客户都匹配
} else {
isComTrue = companyIds != null && transOrgId != null && companyIds.contains(transOrgId);
}
// 判断用户归属范围
boolean isUserTrue = userId == null || userId.equals(orderEntity.getUserId());
// 判断产品范围
boolean isGoodsTrue;
if (goodsScope != null && ScopeStrategy.SuoYou.getVal().equals(goodsScope.getStrategy())) {
isGoodsTrue = true; // 所有产品都匹配
} else {
isGoodsTrue = goodsIds != null && goodsId != null && goodsIds.contains(goodsId);
}
// 判断客户归属范围
boolean isCustomerTrue = customerId == null || customerId.equals(orderEntity.getCustomerId());
// 判断站点范围
boolean isStationsTrue;
if (stationsScope != null && ScopeStrategy.SuoYou.getVal().equals(stationsScope.getStrategy())) {
isStationsTrue = true; // 所有站点都匹配
} else {
isStationsTrue = stationsIds != null && stationId != null && stationsIds.contains(stationId);
}
// 判断组织归属范围
boolean isOrgTrue = orgId == null || orgId.equals(orderEntity.getTransOrgId());
// 只有当三个条件都为true时才返回true
return isComTrue && isGoodsTrue && isStationsTrue;
return isUserTrue && isCustomerTrue && isOrgTrue;
})
// 复制配置为订单付费项(数量口径与产品一致:按车=1否则=settleWeight
.map(cfg -> {
OrderExpenseItemsEntity entity = BeanUtil.copyProperties(cfg, OrderExpenseItemsEntity.class);
entity.setOrderId(orderEntity.getId());
entity.setPaymentStatus(PaymentStatus.WeiZhiFu.getVal());
entity.setOriginExpenseItemsId(cfg.getId());
return entity;
})
.collect(Collectors.toList());
@ -439,5 +456,55 @@ public class OrderService extends ServiceImpl<OrderMapper, OrderEntity> {
// 批量保存付费项
orderExpenseItemsService.saveBatch(extraItems);
// 获取订单的所有运输记录
List<OrderTransEntity> transList = orderTransMapper.selectList(Wrappers.<OrderTransEntity>lambdaQuery()
.eq(OrderTransEntity::getOrderId, orderEntity.getId()));
List<OrderPaymentRecordEntity> recordList = Lists.newArrayList();
for (OrderTransEntity transEntity : transList) {
List<OrderPaymentRecordEntity> paymentRecords = extraItems.stream()
.map(item -> {
OrderPaymentRecordEntity record = new OrderPaymentRecordEntity()
.setOrderId(orderEntity.getId())
.setExpenseItemId(item.getId())
.setTransId(transEntity.getId())
.setPaymentStatus(PaymentStatus.WeiZhiFu);
// 根据归属字段获取结算方式和账户信息
Long customerId = item.getCustomerId();
if (customerId == null) {
// 如果没有归属客户,尝试从订单获取
customerId = orderEntity.getCustomerId();
}
CustomerEntity customer = customerMapper.selectOne(Wrappers.<CustomerEntity>lambdaQuery()
.eq(CustomerEntity::getId, customerId));
if (customer != null && customer.getSettlementWay() != null) {
record.setSettlementWay(customer.getSettlementWay());
record.setPayerCustomerId(customer.getId());
record.setPayerUserId(customer.getUserId());
} else {
throw Exceptions.clierr("付款人客户信息不存在或未配置付费方式");
}
// 查询资金账户
MoneyAccountEntity moneyAccount = moneyAccountMapper.selectOne(Wrappers.<MoneyAccountEntity>lambdaQuery()
.eq(MoneyAccountEntity::getCustomerId, customerId)
.eq(MoneyAccountEntity::getDeleted, Boolean.FALSE));
if (moneyAccount != null) {
record.setPayerMoneyAccountId(moneyAccount.getId());
} else {
throw Exceptions.clierr("付款人资金账户不存在");
}
return record;
})
.toList();
recordList.addAll(paymentRecords);
}
// 批量新增付费记录
orderPaymentRecordService.saveBatch(recordList);
}
}

View File

@ -6,11 +6,14 @@ import com.njzscloud.common.oss.util.AliOSS;
import com.njzscloud.dispose.cst.order.constant.*;
import com.njzscloud.dispose.cst.order.mapper.OrderTransMapper;
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.OrderPaymentRecordEntity;
import com.njzscloud.dispose.cst.order.pojo.entity.OrderTransEntity;
import com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult;
import com.njzscloud.dispose.dev.DiscoverTruckMsg;
import com.njzscloud.dispose.dev.ObtainTruckDataResultMsg;
import com.njzscloud.dispose.dev.WbsHandle;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -35,6 +38,8 @@ public class TruckWeighingBusinessService {
private final OrderService orderService;
private final OrderTransMapper orderTransMapper;
private final OrderPaymentRecordService orderPaymentRecordService;
private final OrderExpenseItemsService orderExpenseItemsService;
/**
* -
@ -226,6 +231,43 @@ public class TruckWeighingBusinessService {
Integer settleWeight = transEntity.getSettleWeight();
log.info("车辆出场称重完成订单ID: {}, 重量: {}kg, 净重: {}kg",
orderTrans.getId(), weight, settleWeight);
// 更新付费记录的量
this.updatePaymentRecordQuantity(orderTrans.getId(), settleWeight);
}
/**
*
*
* @param transId ID
* @param settleWeight
*/
private void updatePaymentRecordQuantity(Long transId, Integer settleWeight) {
// 1. 通过运输信息ID查询付费记录
List<OrderPaymentRecordEntity> paymentRecords = orderPaymentRecordService.list(Wrappers.<OrderPaymentRecordEntity>lambdaQuery()
.eq(OrderPaymentRecordEntity::getTransId, transId));
if (paymentRecords.isEmpty()) {
return;
}
// 2. 遍历更新每条付费记录的量
for (OrderPaymentRecordEntity record : paymentRecords) {
// 通过付费记录的订单收费项 Id 查询付费项
OrderExpenseItemsEntity expenseItem = orderExpenseItemsService.getById(record.getExpenseItemId());
if (expenseItem == null) {
continue;
}
// 3. 如果计费策略为Che则量为1否则为净重
Integer quantity = ExpenseStrategy.Che.equals(expenseItem.getExpenseStrategy()) ? 1 : settleWeight;
OrderPaymentRecordEntity updateRecord = new OrderPaymentRecordEntity();
updateRecord.setId(record.getId());
updateRecord.setQuantity(quantity);
orderPaymentRecordService.updateById(updateRecord);
}
log.info("运输记录 {} 的付费记录量更新完成", transId);
}
/**
@ -361,7 +403,6 @@ public class TruckWeighingBusinessService {
List<OrderTransEntity> transList = orderTransMapper.selectList(
Wrappers.<OrderTransEntity>lambdaQuery()
.eq(OrderTransEntity::getOrderId, orderId)
.eq(OrderTransEntity::getDeleted, Boolean.FALSE)
);
if (transList.isEmpty()) {

View File

@ -11,7 +11,7 @@ import lombok.RequiredArgsConstructor;
@Getter
@RequiredArgsConstructor
public enum OrgCategory implements DictStr {
GeTiHu("GeTiHu", "个体"),
GeTi("GeTi", "个体"),
QiYe("QiYe", "企业"),

View File

@ -33,10 +33,7 @@ public class TruckServiceImpl extends ServiceImpl<TruckMapper, TruckEntity> impl
MyResult userDetail = SecurityUtil.loginUser();
Long customerId = userDetail.getCurrentCustomerId();
truckEntity.setCustomerId(customerId);
IdentityInfo identityInfo = userDetail.currentIdentity();
if (identityInfo.getManager()) {
truckEntity.setOrgId(identityInfo.getOrgId());
}
truckEntity.setOrgId(userDetail.getCurrentOrgId());
truckEntity.setTareWeight(0);
this.save(truckEntity);
}

View File

@ -1,14 +1,11 @@
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
@RequiredArgsConstructor
@ -17,7 +14,7 @@ public enum Payer implements DictStr {
ChanFei("ChanFei", "产废方"),
QingYun("YunShuFang", "运输方"),
YunShu("YunShu", "运输方"),
XiaoNa("XiaoNa", "消纳方"),

View File

@ -8,7 +8,6 @@ import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
import com.njzscloud.dispose.common.pojo.entity.BaseEntity;
import com.njzscloud.dispose.finance.constant.ExpenseItemCategory;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import com.njzscloud.dispose.finance.constant.Payer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -59,11 +58,6 @@ public class ExpenseItemEntity extends BaseEntity {
*/
private BigDecimal taxRate;
/**
* payer
*/
private Payer payer;
/**
* -->
*/
@ -85,22 +79,19 @@ public class ExpenseItemEntity extends BaseEntity {
private Integer everyQuantity;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
@TableField(typeHandler = JsonTypeHandler.class)
private ScopeStrategyConfig userScope;
private Long userId;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
@TableField(typeHandler = JsonTypeHandler.class)
private ScopeStrategyConfig stationScope;
private Long customerId;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
@TableField(typeHandler = JsonTypeHandler.class)
private ScopeStrategyConfig goodsScope;
private Long orgId;
/**
* 0-->1-->

View File

@ -2,8 +2,6 @@ package com.njzscloud.dispose.finance.pojo.param;
import com.njzscloud.dispose.finance.constant.ExpenseItemCategory;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import com.njzscloud.dispose.finance.constant.Payer;
import com.njzscloud.dispose.finance.pojo.entity.ScopeStrategyConfig;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -42,11 +40,6 @@ public class AddExpenseItemParam {
*/
private BigDecimal taxRate;
/**
* payer
*/
private Payer payer;
/**
* -->
*/
@ -67,20 +60,6 @@ public class AddExpenseItemParam {
*/
private Integer everyQuantity;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
*/
private ScopeStrategyConfig userScope;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
*/
private ScopeStrategyConfig stationScope;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
*/
private ScopeStrategyConfig goodsScope;
/**
* Id
*/

View File

@ -2,8 +2,6 @@ package com.njzscloud.dispose.finance.pojo.param;
import com.njzscloud.dispose.finance.constant.ExpenseItemCategory;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import com.njzscloud.dispose.finance.constant.Payer;
import com.njzscloud.dispose.finance.pojo.entity.ScopeStrategyConfig;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -46,11 +44,6 @@ public class ModifyExpenseItemParam {
*/
private BigDecimal taxRate;
/**
* payer
*/
private Payer payer;
/**
* -->
*/
@ -72,19 +65,20 @@ public class ModifyExpenseItemParam {
private Integer everyQuantity;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
private ScopeStrategyConfig userScope;
private Long userId;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
private ScopeStrategyConfig stationScope;
private Long customerId;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
private ScopeStrategyConfig goodsScope;
private Long orgId;
/**
* Id
*/

View File

@ -2,8 +2,6 @@ package com.njzscloud.dispose.finance.pojo.result;
import com.njzscloud.dispose.finance.constant.ExpenseItemCategory;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import com.njzscloud.dispose.finance.constant.Payer;
import com.njzscloud.dispose.finance.pojo.entity.ScopeStrategyConfig;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -42,7 +40,6 @@ public class SearchExpenseItemResult {
*/
private ExpenseStrategy expenseStrategy;
/**
* unit
*/
@ -53,12 +50,6 @@ public class SearchExpenseItemResult {
*/
private BigDecimal taxRate;
/**
* payer
*/
private Payer payer;
/**
* -->
*/
@ -80,19 +71,19 @@ public class SearchExpenseItemResult {
private Integer everyQuantity;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
private ScopeStrategyConfig userScope;
private Long userId;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
private ScopeStrategyConfig stationScope;
private Long customerId;
/**
* {strategy: Wu | ZhiDing | SuoYou,ids:long[]}
* Id
*/
private ScopeStrategyConfig goodsScope;
private Long orgId;
/**
* 0-->1-->

View File

@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.security.util.SecurityUtil;
import com.njzscloud.dispose.finance.mapper.ExpenseItemMapper;
import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity;
import com.njzscloud.dispose.finance.pojo.param.AddExpenseItemParam;
import com.njzscloud.dispose.finance.pojo.param.ModifyExpenseItemParam;
import com.njzscloud.dispose.sys.auth.pojo.result.MyResult;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -30,7 +32,11 @@ public class ExpenseItemService extends ServiceImpl<ExpenseItemMapper, ExpenseIt
*
*/
public void add(AddExpenseItemParam addExpenseItemParam) {
this.save(BeanUtil.copyProperties(addExpenseItemParam, ExpenseItemEntity.class));
MyResult userDetail = SecurityUtil.loginUser();
this.save(BeanUtil.copyProperties(addExpenseItemParam, ExpenseItemEntity.class)
.setUserId(userDetail.getUserId())
.setCustomerId(userDetail.getCurrentCustomerId())
.setOrgId(userDetail.getCurrentOrgId()));
}
/**

View File

@ -36,6 +36,11 @@ public class GoodsCategoryEntity {
*/
private String categoryName;
/**
*
*/
private String sn;
/**
*
*/
@ -46,6 +51,11 @@ public class GoodsCategoryEntity {
*/
private Integer sort;
/**
*
*/
private String memo;
/**
* Idsys_user.id
*/

View File

@ -4,8 +4,11 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.Strings;
import com.njzscloud.common.core.ex.Exceptions;
import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.sn.support.SnUtil;
import com.njzscloud.dispose.goods.contant.BizType;
import com.njzscloud.dispose.goods.mapper.GoodsCategoryMapper;
import com.njzscloud.dispose.goods.pojo.entity.GoodsCategoryEntity;
@ -32,6 +35,14 @@ public class GoodsCategoryService extends ServiceImpl<GoodsCategoryMapper, Goods
*
*/
public void add(GoodsCategoryEntity goodsCategoryEntity) {
if (goodsCategoryEntity.getBizType() == null) {
throw Exceptions.clierr("业务类型不可为空");
}
if (BizType.HuiShouPin.equals(goodsCategoryEntity.getBizType()) && Strings.isNullOrEmpty(goodsCategoryEntity.getSn())) {
throw Exceptions.clierr("回收品分类码不可为空");
} else {
goodsCategoryEntity.setSn(this.generateSn());
}
this.save(goodsCategoryEntity);
}
@ -74,6 +85,20 @@ public class GoodsCategoryService extends ServiceImpl<GoodsCategoryMapper, Goods
);
return PageResult.of(page);
}
/**
*
*
* @return sn
*/
public String generateSn() {
String sn = SnUtil.next("GC-SN");
if (this.exists(Wrappers.<GoodsCategoryEntity>lambdaQuery().eq(GoodsCategoryEntity::getSn, sn)
.eq(GoodsCategoryEntity::getDeleted, Boolean.FALSE))) {
this.generateSn();
}
return sn;
}
}

View File

@ -45,6 +45,12 @@ public class MyResult extends UserDetail {
*/
private Long currentCustomerId;
/**
* Id
*
*/
private Long currentOrgId;
/**
*
*/

View File

@ -8,6 +8,8 @@ import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.sn.support.SnUtil;
import com.njzscloud.dispose.cst.order.mapper.OrderTransMapper;
import com.njzscloud.dispose.cst.order.mapper.OrderPaymentRecordMapper;
import com.njzscloud.dispose.cst.order.pojo.entity.OrderPaymentRecordEntity;
import com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult;
import com.njzscloud.dispose.wh.constant.PurchaseOrderStatus;
import com.njzscloud.dispose.wh.mapper.PurchaseOrderMapper;
@ -17,8 +19,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
/**
*
@ -31,6 +35,7 @@ import java.util.List;
public class PurchaseOrderService extends ServiceImpl<PurchaseOrderMapper, PurchaseOrderEntity> {
private final OrderTransMapper orderTransMapper;
private final OrderPaymentRecordMapper orderPaymentRecordMapper;
/**
*
@ -45,6 +50,14 @@ public class PurchaseOrderService extends ServiceImpl<PurchaseOrderMapper, Purch
@Transactional(rollbackFor = Exception.class)
public void add(Long transOrderId) {
OrderTransResult orderTrans = orderTransMapper.getById(transOrderId);
// 通过transOrderId查询付费记录表计算settle_money的总和
BigDecimal totalMoney = orderPaymentRecordMapper.selectList(
Wrappers.<OrderPaymentRecordEntity>lambdaQuery()
.eq(OrderPaymentRecordEntity::getTransId, transOrderId)
).stream()
.map(OrderPaymentRecordEntity::getSettleMoney)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
this.add(BeanUtil.copyProperties(orderTrans, PurchaseOrderEntity.class)
.setOrderTransId(transOrderId)
.setSn(this.generateSn())
@ -52,7 +65,7 @@ public class PurchaseOrderService extends ServiceImpl<PurchaseOrderMapper, Purch
.setPurchaseDate(orderTrans.getOrderTime().toLocalDate())
.setArrivalDate(LocalDate.now())
.setQuantity(orderTrans.getEstimatedQuantity())
.setTotalMoney(orderTrans.getSettleMoney())
.setTotalMoney(totalMoney)
.setMemo(""));
}

View File

@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.sn.support.SnUtil;
import com.njzscloud.dispose.cst.order.mapper.OrderPaymentRecordMapper;
import com.njzscloud.dispose.cst.order.mapper.OrderTransMapper;
import com.njzscloud.dispose.cst.order.pojo.entity.OrderPaymentRecordEntity;
import com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult;
import com.njzscloud.dispose.wh.constant.SalesOrderStatus;
import com.njzscloud.dispose.wh.mapper.SalesOrderMapper;
@ -18,8 +20,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
/**
*
@ -32,6 +36,7 @@ import java.util.List;
public class SalesOrderService extends ServiceImpl<SalesOrderMapper, SalesOrderEntity> {
private final OrderTransMapper orderTransMapper;
private final OrderPaymentRecordMapper orderPaymentRecordMapper;
/**
*
@ -47,6 +52,14 @@ public class SalesOrderService extends ServiceImpl<SalesOrderMapper, SalesOrderE
@Transactional(rollbackFor = Exception.class)
public void add(Long transOrderId) {
OrderTransResult orderTrans = orderTransMapper.getById(transOrderId);
// 通过transOrderId查询付费记录表计算settle_money的总和
BigDecimal totalMoney = orderPaymentRecordMapper.selectList(
Wrappers.<OrderPaymentRecordEntity>lambdaQuery()
.eq(OrderPaymentRecordEntity::getTransId, transOrderId)
).stream()
.map(OrderPaymentRecordEntity::getSettleMoney)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
this.add(BeanUtil.copyProperties(orderTrans, AddSalesOrderParam.class)
.setOrderTransId(transOrderId)
.setSn(this.generateSn())
@ -54,7 +67,7 @@ public class SalesOrderService extends ServiceImpl<SalesOrderMapper, SalesOrderE
.setOrderDate(orderTrans.getOrderTime().toLocalDate())
.setShipmentDate(LocalDate.now())
.setQuantity(orderTrans.getEstimatedQuantity())
.setTotalMoney(orderTrans.getSettleMoney())
.setTotalMoney(totalMoney)
.setMemo(""));
}

View File

@ -17,17 +17,11 @@
<result column="address" property="address"/>
<result column="lng" property="lng"/>
<result column="lat" property="lat"/>
<result column="creator_id" property="creatorId"/>
<result column="modifier_id" property="modifierId"/>
<result column="create_time" property="createTime"/>
<result column="modify_time" property="modifyTime"/>
<result column="deleted" property="deleted"/>
</resultMap>
<sql id="Base_Column_List">
id, order_id, zx, province, city, area, town,
province_name, city_name, area_name, town_name, address, lng, lat,
creator_id, modifier_id, create_time, modify_time, deleted
province_name, city_name, area_name, town_name, address, lng, lat
</sql>
</mapper>

View File

@ -9,27 +9,20 @@
<result column="expense_item_name" property="expenseItemName"/>
<result column="expense_strategy" property="expenseStrategy"/>
<result column="tax_rate" property="taxRate"/>
<result column="payer" property="payer"/>
<result column="unit" property="unit"/>
<result column="unit_price" property="unitPrice"/>
<result column="initial_price" property="initialPrice"/>
<result column="initial_quantity" property="initialQuantity"/>
<result column="every_quantity" property="everyQuantity"/>
<result column="user_scope" property="userScope"/>
<result column="station_scope" property="stationScope"/>
<result column="goods_scope" property="goodsScope"/>
<result column="creator_id" property="creatorId"/>
<result column="modifier_id" property="modifierId"/>
<result column="create_time" property="createTime"/>
<result column="modify_time" property="modifyTime"/>
<result column="deleted" property="deleted"/>
<result column="user_id" property="userId"/>
<result column="customer_id" property="customerId"/>
<result column="org_id" property="orgId"/>
</resultMap>
<sql id="Base_Column_List">
id, order_id, expense_item_category, expense_item_name, expense_strategy,
tax_rate, payer, unit, unit_price, initial_price, initial_quantity,
every_quantity, user_scope, station_scope, goods_scope,
creator_id, modifier_id, create_time, modify_time, deleted
tax_rate, unit, unit_price, initial_price, initial_quantity,
every_quantity, user_id, customer_id, org_id
</sql>
</mapper>

View File

@ -34,17 +34,6 @@
<result column="out_body_photo" property="outBodyPhoto"/>
<result column="in_time" property="inTime"/>
<result column="out_time" property="outTime"/>
<result column="payment_status" property="paymentStatus"/>
<result column="pay_time" property="payTime"/>
<result column="refund_time" property="refundTime"/>
<result column="total_money" property="totalMoney"/>
<result column="discount_money" property="discountMoney"/>
<result column="revise_money" property="reviseMoney"/>
<result column="settle_money" property="settleMoney"/>
<result column="settlement_way" property="settlementWay"/>
<result column="payerUserId" property="payerUserId"/>
<result column="payerCustomerId" property="payerCustomerId"/>
<result column="payerMoneyAccount" property="payerMoneyAccount"/>
<result column="trans_org_id" property="transOrgId"/>
<result column="trans_customer_id" property="transCustomerId"/>
<result column="assignment_trans_time" property="assignmentTransTime"/>
@ -58,11 +47,6 @@
<result column="goods_sn" property="goodsSn"/>
<result column="estimated_quantity" property="estimatedQuantity"/>
<result column="unit" property="unit"/>
<result column="creator_id" property="creatorId"/>
<result column="modifier_id" property="modifierId"/>
<result column="create_time" property="createTime"/>
<result column="modify_time" property="modifyTime"/>
<result column="deleted" property="deleted"/>
</resultMap>
<sql id="Base_Column_List">
@ -98,11 +82,6 @@
cot.out_body_photo AS out_body_photo,
cot.in_time AS in_time,
cot.out_time AS out_time,
cot.creator_id AS creator_id,
cot.modifier_id AS modifier_id,
cot.create_time AS create_time,
cot.modify_time AS modify_time,
cot.deleted AS deleted,
co.trans_org_id AS trans_org_id,
co.trans_customer_id AS trans_customer_id,
co.assignment_trans_time AS assignment_trans_time,