|
|
@@ -190,12 +190,27 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
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;
|
|
|
+ //添加出单员报价的逻辑,
|
|
|
+ boolean isCdy=false;//是否出单员标志
|
|
|
+ if (StringUtils.isNotEmpty(userId)) {
|
|
|
+ SysUserRole userRole = sysUserRoleService.selectByUserId(userId);
|
|
|
+ if(19==userRole.getRoleId()){
|
|
|
+ isCdy=true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isCdy){
|
|
|
+ //如果是出单员 获取最终实际业务员
|
|
|
+ SysUser user = sysUserService.getById(realUserId);
|
|
|
+ realUserId=user.getOperatorCode();
|
|
|
+ }else{
|
|
|
+ //如果传递的业务归属人且与登录人不一致,则是代客录单业务
|
|
|
+ if (StringUtils.isNotEmpty(quoteInfoVo.getUserId()) && !userId.equals(quoteInfoVo.getUserId())) {
|
|
|
+ //实际跟单业务人变更为手工选择的人
|
|
|
+ realUserId = quoteInfoVo.getUserId();
|
|
|
+ daikeFlag = true;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
// 1. 验证订单参数
|
|
|
orderComponents.checkEmpty(quoteInfoVo);
|
|
|
SysUser user = sysUserService.getById(realUserId);
|
|
|
@@ -205,6 +220,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
if (daikeFlag) {//当时代客录单业务时,才需要赋值该字段
|
|
|
insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
|
|
|
}
|
|
|
+ if(isCdy){//赋值出单员 操作人为登录人
|
|
|
+ insOrders.setOperatorid(userId);
|
|
|
+ }
|
|
|
InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
|
|
|
|
|
|
//需要赋值代录单人ID
|
|
|
@@ -251,11 +269,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
@Override
|
|
|
public BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo) {
|
|
|
boolean isTeamLeader = false;
|
|
|
+ boolean isCdy=false;//是否出单员标志
|
|
|
if (StringUtils.isNotEmpty(orderQueryVo.getUserId())) {
|
|
|
SysUserRole userRole = sysUserRoleService.selectByUserId(orderQueryVo.getUserId());
|
|
|
if (21 == userRole.getRoleId() || 1 == userRole.getRoleId()) { //团队长可查询下面所有人员订单
|
|
|
isTeamLeader = true;
|
|
|
}
|
|
|
+ if(19==userRole.getRoleId()){
|
|
|
+ isCdy=true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 构造查询条件
|
|
|
@@ -263,8 +285,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getOrderNo()), InsOrders::getOrderno, orderQueryVo.getOrderNo())
|
|
|
.likeRight(StringUtils.isNotEmpty(orderQueryVo.getDeptId()) && isTeamLeader, InsOrders::getDeptid,
|
|
|
orderQueryVo.getDeptId())
|
|
|
- .eq(!isTeamLeader && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid,
|
|
|
- orderQueryVo.getUserId())
|
|
|
.eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus,
|
|
|
orderQueryVo.getOrderStatus())
|
|
|
.likeRight(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno,
|
|
|
@@ -276,6 +296,16 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
.between(!ObjectUtils.isEmpty(orderQueryVo.getStartDate()) && !ObjectUtils.isEmpty(orderQueryVo.getEndDate()),
|
|
|
InsOrders::getCreatetime, orderQueryVo.getStartDate(), orderQueryVo.getEndDatePlusOneDay())
|
|
|
.orderBy(true, false, InsOrders::getCreatetime);
|
|
|
+
|
|
|
+
|
|
|
+ if(isCdy){//如果是出单员查询时,只查自己的 与代客录单一致,查operatorid (手机前端userid传过来是出单用户,直接用该字段查询查operatorid)
|
|
|
+ wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getOperatorid,
|
|
|
+ orderQueryVo.getUserId());
|
|
|
+ }else{
|
|
|
+ wrapper.eq(!isTeamLeader && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid,
|
|
|
+ orderQueryVo.getUserId());
|
|
|
+ }
|
|
|
+
|
|
|
Page<InsOrders> page = new Page<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize());
|
|
|
|
|
|
if (StringUtils.isNotEmpty(orderQueryVo.getCompanyId())) {
|