guoweisong 2 лет назад
Родитель
Сommit
4caed834e9

+ 2 - 2
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -682,7 +682,7 @@ public class SysUserController extends BaseController {
             throw new SystemException("角色id不能为空");
         }
         if (!StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
-            if ("21".equals(sysUser.getRoleId()) || "20".equals(sysUser.getRoleId())) {//21	团队长 20	代理人
+            if ("21".equals(sysUser.getRoleId()) || "20".equals(sysUser.getRoleId())|| "19".equals(sysUser.getRoleId())) {//19 出单员 21	团队长 20	代理人
                 boolean teamflag = false;
                 char[] deptids = sysUser.getDeptId().toCharArray();
                 char ch1 = 'D';
@@ -691,7 +691,7 @@ public class SysUserController extends BaseController {
                     teamflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] == ch2;
                 }
                 if (!teamflag) {
-                    throw new SystemException("团队长和代理人只能归属团队中");
+                    throw new SystemException("团队长、代理人、出单员只能归属团队中");
                 }
             } else if ("22".equals(sysUser.getRoleId())) {//22	后线人员
                 boolean deptflag = false;

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/SysUser.java

@@ -145,6 +145,10 @@ public class SysUser extends BaseEntity {
     @TableField(value = "logout_time")
     private Date logoutTime;
 
+    @Excel(name = "出单员归属业务员")
+    @TableField(value = "operatorCode")
+    private String operatorCode;
+
     @TableField(exist = false)
     @Excel(name = "推荐人ID")
     private String referrerId;

+ 34 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -379,6 +379,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public HttpResult saveUserInfo(SysUser2Vo sysUserVo) {
 
         SysUser sysUser = sysUserVo.getSysUser();
+
         //处理密码
         if (StringUtils.isNotEmpty(sysUser.getPassword())) {
             String salt = PasswordUtils.getSalt();
@@ -388,6 +389,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         } else {
             return HttpResult.error("密码不能为空");
         }
+        if ( "19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
+            return checkChuDanUser(sysUser);
+        }
         String userId = gainNextUserId(sysUser.getDeptId());
         sysUser.setId(userId);
         save(sysUser);
@@ -424,6 +428,32 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return HttpResult.ok("新增成功");
     }
 
+    /**
+     * 新增修改出单员
+     * @param sysUser
+     * @return
+     */
+    HttpResult checkChuDanUser(SysUser sysUser ){
+        if (StringUtils.isEmpty(sysUser.getReferrerId())){
+            return HttpResult.error("业务员工号不能为空");
+        }
+        //归属业务员和出单员部门必须一致
+        SysUser user=getById(sysUser.getReferrerId());
+        if(user==null ||!user.getDeptId().equals(sysUser.getDeptId())){
+            return HttpResult.error("出单员机构必须和归属业务员机构一致");
+        }
+        sysUser.setOperatorCode(sysUser.getReferrerId());
+        if (StringUtils.isEmpty(sysUser.getId())){
+            String userId = gainNextUserId(sysUser.getDeptId());
+            sysUser.setId(userId);
+            save(sysUser);
+        }else {
+            updateById(sysUser);
+        }
+
+        return HttpResult.ok("操作成功");
+    }
+
     @Override
     @Transactional
     public HttpResult updateUserInfo(String userId, SysUser2Vo sysUserVo) {
@@ -439,7 +469,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }*/
         //删除状态必须有离司时间
         if(StringUtils.isNotEmpty(sysUser.getStatus().toString())){
-            if(sysUser.getStatus()==0&& sysUser.getLogoutTime()==null){
+            if(sysUser.getStatus()==0&& sysUser.getLogoutTime()==null&& !sysUser.getRoleId().equals("19")){
                 return HttpResult.error("删除状态,离职时间必填");
             }
         }else{
@@ -448,6 +478,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         SysUser sysUser_org =findByUserId(sysUser.getId());
         sysUser.setPassword(sysUser_org.getPassword());
         sysUser.setSalt(sysUser_org.getSalt());
+        if ( "19".equals(sysUser.getRoleId())) {//19 出单员 校验机构和业务员机构是否一致
+            return checkChuDanUser(sysUser);
+        }
         updateById(sysUser);