feat(order): 订单销售员变更时同步更新关联钢卷业务员
- 在订单更新逻辑中增加销售员变更检测功能 - 新增数据库方法批量更新关联钢卷的业务员名称 - 实现订单销售员变更时自动同步到相关钢卷记录 - 添加钢卷与合同关联时的业务员同步机制 - 增加修改关联关系时的业务员信息同步处理 - 完善数据一致性保障机制
This commit is contained in:
@@ -285,9 +285,27 @@ public class CrmOrderServiceImpl implements ICrmOrderService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(CrmOrderBo bo) {
|
||||
// 查询旧订单获取原销售员,用于判断是否需要同步钢卷
|
||||
CrmOrder oldOrder = null;
|
||||
String oldSalesman = null;
|
||||
if (bo.getOrderId() != null) {
|
||||
oldOrder = baseMapper.selectById(bo.getOrderId());
|
||||
oldSalesman = oldOrder != null ? oldOrder.getSalesman() : null;
|
||||
}
|
||||
|
||||
CrmOrder update = BeanUtil.toBean(bo, CrmOrder.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
boolean result = baseMapper.updateById(update) > 0;
|
||||
|
||||
// 如果销售员变更,同步更新所有关联钢卷的业务员名称
|
||||
if (result && oldOrder != null) {
|
||||
String newSalesman = update.getSalesman();
|
||||
if (!Objects.equals(oldSalesman, newSalesman) && StringUtils.isNotBlank(newSalesman)) {
|
||||
coilContractRelMapper.updateCoilSaleNameByOrderId(bo.getOrderId(), newSalesman);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user