|
|
@@ -172,16 +172,36 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
return insOrders;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param userId 当前登录人id
|
|
|
+ * @param quoteInfoVo 报价信息
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public InsOrders generateOrder(String userId, BaseQuoteInfoVo quoteInfoVo) {
|
|
|
+
|
|
|
+ String realUserId=userId;//实际跟单业务人默认登录人
|
|
|
+ boolean daikeFlag=false;//是否代客录单业务
|
|
|
+ //如果传递的业务归属人且与登录人不一致,则是代客录单业务
|
|
|
+ if(StringUtils.isNotEmpty(quoteInfoVo.getUserId())&&!userId.equals(quoteInfoVo.getUserId())){
|
|
|
+ //实际跟单业务人变更为手工选择的人
|
|
|
+ realUserId=quoteInfoVo.getUserId();
|
|
|
+ daikeFlag=true;
|
|
|
+ }
|
|
|
// 1. 验证订单参数
|
|
|
orderComponents.checkEmpty(quoteInfoVo);
|
|
|
- SysUser user = sysUserService.getById(userId);
|
|
|
+ SysUser user = sysUserService.getById(realUserId);
|
|
|
SysDept dept = sysDeptService.getById(user.getDeptId());
|
|
|
// 2 构造订单
|
|
|
InsOrders insOrders = new InsOrders(user, dept, quoteInfoVo);
|
|
|
+ if(daikeFlag){//当时代客录单业务时,才需要赋值该字段
|
|
|
+ insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
|
|
|
+ }
|
|
|
InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
|
|
|
|
|
|
+ //需要赋值代录单人ID
|
|
|
+
|
|
|
if (ObjectUtils.isEmpty(insOrders1)) {
|
|
|
insOrders1 = insOrders;
|
|
|
}
|
|
|
@@ -191,7 +211,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
}
|
|
|
|
|
|
// 3 订单操作
|
|
|
- if (!userId.equals(insOrders1.getUserid()) || StringUtils.isEmpty(quoteInfoVo.getOrderNo())) {
|
|
|
+ if (!realUserId.equals(insOrders1.getUserid()) || StringUtils.isEmpty(quoteInfoVo.getOrderNo())) {
|
|
|
// 存入订单
|
|
|
String orderno = IdGenerate.nextId();
|
|
|
insOrders.setOrderno(orderno);
|