sunyize 2 年之前
父節點
當前提交
4819ca7785

+ 12 - 0
tnc-base/tnc-base-core/src/main/java/org/jeecg/common/constant/DataBaseConstant.java

@@ -47,6 +47,18 @@ public interface DataBaseConstant {
 	 * 数据-所属机构编码
 	 */
 	public static final String SYS_ORG_CODE_TABLE = "sys_org_code";
+
+
+
+	/**
+	 * 系统日期"yyyy-MM-dd"
+	 */
+	public static final String STAFF_NO = "staffNo";
+	/**
+	 * 系统日期"yyyy-MM-dd"
+	 */
+	public static final String STAFF_NO_TABLE = "staff_no";
+
 	/**
 	 * 数据-所属机构编码
 	 */

+ 8 - 0
tnc-base/tnc-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java

@@ -207,6 +207,14 @@ public class JwtUtil {
 				returnValue = user.getSysOrgCode();
 			}
 		}
+		//替换为系统用户登录所使用的机构编码
+		else if (key.equals(DataBaseConstant.STAFF_NO)|| key.toLowerCase().equals(DataBaseConstant.STAFF_NO_TABLE)) {
+			if(user==null) {
+				returnValue = sysUser.getWorkNo();
+			}else {
+				returnValue = user.getSysUserCode();
+			}
+		}
 		//替换为系统用户所拥有的所有机构编码
 		else if (key.equals(DataBaseConstant.SYS_MULTI_ORG_CODE)|| key.toLowerCase().equals(DataBaseConstant.SYS_MULTI_ORG_CODE_TABLE)) {
 			if(user==null){

+ 102 - 1
tnc-sms/src/main/java/org/jeecg/modules/smscheck/controller/SmsCheckCustomerDataController.java

@@ -1,6 +1,10 @@
 package org.jeecg.modules.smscheck.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.lang.Tuple;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -16,9 +20,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.SysDepartModel;
 import org.jeecg.common.util.CommonUtils;
 import org.jeecg.common.util.MinioUtil;
 import org.jeecg.common.util.oConvertUtils;
@@ -26,6 +32,7 @@ import org.jeecg.modules.smscheck.configs.CheckStateCode;
 import org.jeecg.modules.smscheck.configs.ObjectComparator;
 import org.jeecg.modules.smscheck.entity.*;
 import org.jeecg.modules.smscheck.service.*;
+import org.jeecg.modules.smscheck.vo.SmsCheckCustomerInfoVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cglib.beans.BeanMap;
@@ -36,9 +43,12 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Array;
 import java.lang.reflect.Field;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * @description 客户资料
@@ -62,7 +72,12 @@ public class SmsCheckCustomerDataController extends JeecgController<SmsCheckCust
     private ISmsCheckCustomerInfoService iSmsCheckCustomerInfoService;
     @Autowired
     private SmsCheckZGHistoryService smsCheckZGHistoryService;
-
+    @Autowired
+    private ISysUserService sysUserService;
+    @Autowired
+    private ISmsCheckCustomerInfoService customerInfoService;
+    @Autowired
+    private ISmsCheckTaskService taskService;
     /**
      * 分页列表查询
      *
@@ -225,7 +240,93 @@ public class SmsCheckCustomerDataController extends JeecgController<SmsCheckCust
     }
 
 
+    @AutoLog(value = "客户资料-转派")
+    @ApiOperation(value = "客户资料转派", notes = "客户资料转派")
+    @PostMapping(value = "/transfer")
+    public Result<String> transfer(@RequestBody TransferVo transferVo) throws IllegalAccessException {
+
+        String userId = transferVo.getUserId();
+        SysUser userServiceById = sysUserService.getById(userId);
+        List<String> ids = transferVo.getIds();
+
+        for (String id : ids) {
+            SmsCheckCustomerInfo byId = customerInfoService.getById(id);
+            byId.setStaffNo(userServiceById.getWorkNo());
+            byId.setStaffInfo(userServiceById.getWorkNo());
+            SmsCheckCustomerInfo smsCheckCustomerInfo = checkCustomerInfo(byId);
+            customerInfoService.saveOrUpdate(smsCheckCustomerInfo);
+        }
+        return null;
+    }
 
+    private SmsCheckCustomerInfo checkCustomerInfo(SmsCheckCustomerInfo vo ) {
+        // TODO 客户重复性校验、数据合法性校验等
+        // 过滤客户编号和员工编号为空的信息
+        if (StrUtil.isBlank(vo.getCustomerNo()) && StrUtil.isBlank(vo.getUserNo())) {
+            return null;
+        }
+
+        //  员工工号
+        String staffInfo = vo.getStaffInfo();
+        vo.setStaffNo(staffInfo);
+        // }
+
+        //用户状态
+        List<SysUser> userList = sysUserService.list(new LambdaQueryWrapper<SysUser>()
+                .eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0));
+        Map<String, SysUser> userMap
+                = userList.stream().collect(Collectors.toMap(SysUser::getWorkNo, Function.identity(), (o, n) -> o));
+        SysUser sysUser = userMap.get(vo.getStaffNo());
+        //  状态(1:正常  2:冻结 )
+        String orgCode="";
+        //员工姓名
+        if (sysUser!=null){
+            vo.setStaffName(sysUser.getRealname());
+            vo.setStaffUsername( sysUser.getUsername());
+            Integer status = sysUser.getStatus();
+            if (status==1){
+                vo.setUserState("冻结");
+            }else {
+                vo.setUserState("正常");
+            }
+            orgCode = sysUser.getOrgCode();
+        }
+
+        List<SysDepartModel> sysDepartModel = customerInfoService.getSysDepartModel();
+        Map<String, SysDepartModel> sysDepartModelMap
+                = sysDepartModel.stream().collect(Collectors.toMap(SysDepartModel::getOrgCode,Function.identity(), (o, n) -> o));
+        //员工二级部门
+        if (sysUser!=null){
+            List<String> deptNameByUserId = taskService.getDeptNameByUserId( sysUser.getWorkNo());
+            if (!deptNameByUserId.isEmpty()){
+                Set<String>strings=new HashSet<>();
+                Set<String>stringsOrg=new HashSet<>();
+                Set<String>stringsThree=new HashSet<>();
+                Set<String>stringsThreeOrg=new HashSet<>();
+                for (String s : deptNameByUserId) {
+                    if (s.length()>=3){
+                        String substring = s.substring(0, 3);
+                        strings.add(sysDepartModelMap.get(substring).getDepartName());
+                        stringsOrg.add(substring);
+                    }
+                    if (s.length()>=6){
+                        String substring = s.substring(0, 6);
+                        stringsThree.add(sysDepartModelMap.get(substring).getDepartName());
+                        stringsThreeOrg.add(substring);
+                    }
+                }
+                // 等确认
+                vo.setSysOrgCode(deptNameByUserId.get(0));
+                vo.setStaffDeptLevel2No(stringsOrg.toString());
+                vo.setStaffDeptLevel2Name(strings.toString());
+                vo.setStaffDeptLevel2(strings.toString()+"("+stringsOrg.toString()+")");
+                vo.setStaffDeptLevel3No(stringsThreeOrg.toString());
+                vo.setStaffDeptLevel3Name(stringsThree.toString());
+                vo.setStaffDeptLevel3(stringsThree.toString()+"("+stringsThreeOrg.toString()+")");
+            }
+        }
+        return vo;
+    }
 
     private Map<String,String>getMapByResult(SmsCheckCustomerDataLog smsCheckCustomerDataLog){
         HashMap <String,String> map =new HashMap<>();

+ 2 - 1
tnc-sms/src/main/java/org/jeecg/modules/smscheck/controller/SmsCheckTaskController.java

@@ -87,7 +87,7 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
     //@AutoLog(value = "稽核任务-分页列表查询")
     @ApiOperation(value = "稽核任务-分页列表查询", notes = "稽核任务-分页列表查询")
     @GetMapping(value = "/list")
-    @PermissionData(pageComponent = "smscheck/modules/TaskList")
+    //@PermissionData(pageComponent = "smscheck/modules/TaskList") 权限暂时注释
     public Result<IPage<SmsCheckTask>> queryPageList(SmsCheckTask smsCheckTask,
                                                      @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@@ -303,6 +303,7 @@ public class SmsCheckTaskController extends JeecgController<SmsCheckTask, ISmsCh
             }
 
             info.setStaffUsername(user.getUsername());
+//            info.setSysOrgCode(user.getWorkNo());
             info.setDelFlag(CommonConstant.DEL_FLAG_0);
             // 0:未处理;1:未完善;2:待稽核;3:待整改;4:已整改;5:稽核通过 6 未上传;
             info.setCheckState(CheckStateCode.CHECK_STSTE_0);

+ 13 - 0
tnc-sms/src/main/java/org/jeecg/modules/smscheck/entity/TransferVo.java

@@ -0,0 +1,13 @@
+package org.jeecg.modules.smscheck.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class TransferVo {
+
+    private List<String> ids;
+
+    private String userId;
+}

+ 4 - 1
tnc-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -46,7 +46,10 @@
 
 	<!-- 根据角色Id查询 -->
 	<select id="getUserByRoleId" resultType="org.jeecg.modules.system.entity.SysUser">
-		select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_role where role_id=#{roleId})
+		select * from sys_user where del_flag = 0
+		 <if test="roleId !=null and roleId!=''">
+			 and id in (select user_id from sys_user_role where role_id=#{roleId})
+		 </if>
 		<if test="username!=null and username!=''">
 			and username = #{username}
 		</if>