package com.philisense.www.controller.web;

import com.philisense.www.annotation.log.OperateLog;
import com.philisense.www.common.config.CommonConst;
import com.philisense.www.constant.Constants;
import com.philisense.www.constant.RedisConstant;
import com.philisense.www.controller.BaseUtilController;
import com.philisense.www.core.text.Convert;
import com.philisense.www.service.ProUserService;
import com.philisense.www.utils.ActiveUserUtils;
import com.philisense.www.utils.AssertUtils;
import com.philisense.www.utils.RandUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.concurrent.TimeUnit;

@RestController
@RequestMapping(CommonConst.WEB_REST_SERVICE_PREFICX + "prouser")
@Api(tags = "ProUserControllerForWeb|一个用来操作-{用户表}-业务模块的控制器")
public class ProUserControllerForWeb extends BaseUtilController {

    @Autowired
    private ProUserService proUserService;

    @Autowired
    private StringRedisTemplate redisTemplate;

    @GetMapping("/delete")
    @ApiOperation(value = "根据-{用户表}-主键删除记录", notes = "成功返回:{\"success\":true,\"message\",\"数据删除成功\"},失败返回:{\"success\":false,\"message\",\"数据删除失败\"}")
    @ApiImplicitParam(paramType = "query", name = "recordid", value = "记录主键", required = true, dataTypeClass = String.class)
    @OperateLog(name = "根据-{用户表}-主键删除记录", value = "delete", type = "PC")
    public Map<String, Object> deleteByPrimaryKeyForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestParam String recordid) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            int flag = proUserService.deleteByPrimaryKey(recordid);
            if (1 == flag) {
                result.put(DATASUCCESS, SUCCESSFLAG);
                result.put(DATAMESSAGE, DELETE_SUCCESS_MSG);
            } else {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, DELETE_FAIL_MSG);
            }

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, DELETE_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @GetMapping("/get")
    @ApiOperation(value = "根据-{用户表}-主键查询记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"datarecord\":\"{}\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParam(paramType = "body", name = "recordid", value = "记录主键", required = true, dataTypeClass = String.class)
    @OperateLog(name = "根据-{用户表}-主键查询记录", value = "query", type = "PC")
    public Map<String, Object> selectByPrimaryKeyForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestParam String recordid) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATARECORD, proUserService.selectByPrimaryKey(recordid));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/insert")
    @ApiOperation(value = "根据-{用户表}-对象插入记录", notes = "成功返回:{\"success\":true,\"message\",\"数据插入成功\"},失败返回:{\"success\":false,\"message\",\"数据插入失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象插入记录", value = "insert", type = "PC")
    public Map<String, Object> insertForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            String password = Convert.toStr(map.get("password"), Constants.DEFAULT_PASSWORD);
            String userid = Convert.toStr(map.get("user_id"), "");
            String user_name = Convert.toStr(map.get("user_name"), "");

            // 判断登录用户不能为空
            if (StringUtils.isEmpty(user_name)) {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, INSERT_FAIL_MSG + "用户名不能为空！");
                return result;
            }

            // 判断登录用户不能重复
            Map<String, Object> paramMap = new HashMap<>();
            paramMap.put("user_name", user_name);
            Map<String, Object> userMap = proUserService.getOneByUserName(paramMap);
            if (null != userMap && !userMap.isEmpty() && !userid.equals(userMap.get("user_id"))) {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, INSERT_FAIL_MSG + "用户名已存在！");
                return result;
            }

            map.put("user_id", user_name);
            BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
            map.put("password", bCryptPasswordEncoder.encode(password));
            map.put("pwd_security_level", 0);
            map.put("zindex", StringUtils.isNotEmpty(user_name) ? user_name.substring(0, 1).toUpperCase() : "");
            map.put("status", Convert.toStr(map.get("status"), "0"));
            map.put("is_system_user", Convert.toStr(map.get("is_system_user"), "1"));

            map.put("wx_msg", Convert.toStr(map.get("wx_msg"), "0"));
            map.put("email_msg", Convert.toStr(map.get("email_msg"), "0"));
            map.put("system_msg", Convert.toStr(map.get("is_system_user"), "0"));

            proUserService.insert(map);
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, INSERT_SUCCESS_MSG);
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, INSERT_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/update")
    @ApiOperation(value = "根据-{用户表}-对象更新记录", notes = "成功返回:{\"success\":true,\"message\",\"数据更新成功\"},失败返回:{\"success\":false,\"message\",\"数据更新失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象更新记录", value = "update", type = "PC")
    public Map<String, Object> updateForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            String userid = Convert.toStr(map.get("user_id"));
            if (StringUtils.isEmpty(userid)) {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG + "记录ID不能为空");
                return result;
            }

            Map<String, Object> temmap = proUserService.selectByPrimaryKey(userid);
            if (null == temmap || temmap.size() == 0) {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG + "[" + userid + "] 记录不存在");
                return result;
            }

            Map<String, Object> paramMap = new HashMap<>();
            paramMap.put("user_name", Convert.toStr(map.get("user_name")));
            Map<String, Object> userMap = proUserService.getOneByUserName(paramMap);
            if (null != userMap && !userMap.isEmpty() && !userid.equals(userMap.get("user_id"))) {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG + "用户名已存在！");
                return result;
            }

            temmap.putAll(map);
            int flag = proUserService.update(temmap);
            if (1 == flag) {
                result.put(DATASUCCESS, SUCCESSFLAG);
                result.put(DATAMESSAGE, UPDATE_SUCCESS_MSG);
            } else {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG);
            }

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, UPDATE_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/deleteByMap")
    @ApiOperation(value = "根据-{用户表}-对象Map删除记录", notes = "成功返回:{\"success\":true,\"message\",\"数据删除成功\"},失败返回:{\"success\":false,\"message\",\"数据删除失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map删除记录", value = "delete", type = "PC")
    public Map<String, Object> deleteByMapForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            int flag = proUserService.deleteByMap(map);
            if (1 == flag) {
                result.put(DATASUCCESS, SUCCESSFLAG);
                result.put(DATAMESSAGE, DELETE_SUCCESS_MSG);
            } else {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, DELETE_FAIL_MSG);
            }

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, DELETE_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/updateByMap")
    @ApiOperation(value = "根据-{用户表}-对象Map更新记录", notes = "成功返回:{\"success\":true,\"message\",\"数据更新成功\"},失败返回:{\"success\":false,\"message\",\"数据更新失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map更新记录", value = "update", type = "PC")
    public Map<String, Object> updateByMapForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            int flag = proUserService.updateByMap(map);
            if (1 == flag) {
                result.put(DATASUCCESS, SUCCESSFLAG);
                result.put(DATAMESSAGE, UPDATE_SUCCESS_MSG);
            } else {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG);
            }

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, UPDATE_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/getOne")
    @ApiOperation(value = "根据-{用户表}-对象Map查询记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"datarecord\":\"{}\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map查询记录", value = "query", type = "PC")
    public Map<String, Object> getOneForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATARECORD, proUserService.getOne(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/getAll")
    @ApiOperation(value = "根据-{用户表}-对象Map查询所有记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map查询所有记录", value = "query", type = "PC")
    public Map<String, Object> getAllForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST, proUserService.getAll(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/getAllForGrading")
    @ApiOperation(value = "根据-{用户表}-对象Map查询所有记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map查询所有记录", value = "query", type = "PC")
    public Map<String, Object> getAllForGradingForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            map.put("userId", ActiveUserUtils.getUserId());
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST, proUserService.getAll(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/getAllVue")
    @ApiOperation(value = "根据-{用户表}-对象Map查询所有记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map查询所有记录", value = "query", type = "PC")
    public Map<String, Object> getAllForProUserForWebVue(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST_VUE, proUserService.getAll(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/queryPage")
    @ApiOperation(value = "根据-{用户表}-对象Map分页记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录",value = "query",type = "PC")
    public Map<String, Object>  queryPageForProUserForWeb(HttpServletRequest request , HttpServletResponse response,@RequestBody Map<String, Object> map)
    {
            Map<String, Object> result = new HashMap<String, Object>();
            try {

            int currentPage = map.get(DATACURRENT)!=null?Integer.parseInt(map.get(DATACURRENT)+"")-1:0;
            int pageSize = map.get(PAGESIZE)!=null?Integer.parseInt(map.get(PAGESIZE)+""):10;
            int pageStart = currentPage*pageSize ;


            map.put(PAGESIZE,pageSize);
            map.put(PAGESTART,pageStart);

            int total = proUserService.count(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if(total>0){
            datalist = proUserService.queryPage(map);
            }
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST,datalist);
            Map<String, Object> pagemode = new HashMap<String, Object>();
            pagemode.put(DATATOTAL,total);
            pagemode.put(PAGESIZE,map.get(PAGESIZE)!=null?map.get(PAGESIZE):10);
            pagemode.put(DATACURRENT,map.get(DATACURRENT)!=null?map.get(DATACURRENT):0);
            result.put(PAGINATION,pagemode);
            }catch(Exception e){
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG+e.getMessage());
            }
            return result;
    }


    @PostMapping("/queryPageForGrading")
    @ApiOperation(value = "根据-{用户表}-对象Map分页记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录",value = "query",type = "PC")
    public Map<String, Object>  queryPageForGradingForProUserForWeb(HttpServletRequest request , HttpServletResponse response,@RequestBody Map<String, Object> map)
    {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            int currentPage = map.get(DATACURRENT)!=null?Integer.parseInt(map.get(DATACURRENT)+"")-1:0;
            int pageSize = map.get(PAGESIZE)!=null?Integer.parseInt(map.get(PAGESIZE)+""):10;
            int pageStart = currentPage*pageSize ;


            map.put(PAGESIZE,pageSize);
            map.put(PAGESTART,pageStart);
            map.put("userId", ActiveUserUtils.getUserId());

            int total = proUserService.count(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if(total>0){
                datalist = proUserService.queryPage(map);
            }
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST,datalist);
            Map<String, Object> pagemode = new HashMap<String, Object>();
            pagemode.put(DATATOTAL,total);
            pagemode.put(PAGESIZE,map.get(PAGESIZE)!=null?map.get(PAGESIZE):10);
            pagemode.put(DATACURRENT,map.get(DATACURRENT)!=null?map.get(DATACURRENT):0);
            result.put(PAGINATION,pagemode);
        }catch(Exception e){
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG+e.getMessage());
        }
        return result;
    }


    @PostMapping( "/queryPageVue")
    @ApiOperation(value="根据-{用户表}-对象Map分页记录", notes="成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
        @ApiImplicitParam(paramType="body", name = "user_id", value = "用户Id", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "user_name", value = "用户名", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "sex", value = "性别", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "user_name_cn", value = "用户名称", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "password", value = "密码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "enabled", value = "是否禁用", required = true,  dataTypeClass = Integer.class),
        @ApiImplicitParam(paramType="body", name = "is_system_user", value = "是否是系统用户", required = true,  dataTypeClass = Integer.class),
        @ApiImplicitParam(paramType="body", name = "creator_id", value = "创建人", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "dept_code", value = "部门代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "inner_dept_code", value = "内部部门代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "org_code", value = "机构代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "inner_org_code", value = "内部机构代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "memos", value = "备注", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "avatar", value = "头像图标路径", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "id_card", value = "身份证号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "email", value = "邮箱", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "phone", value = "手机号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "landline", value = "座机号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "dept", value = "部门", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "job", value = "职位", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "work_addr", value = "工作地点 01>总部飞利信大厦  选择楼层 02>非总部 选择省份", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "floor", value = "所在楼层", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "inprovince", value = "所在省份", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "hiredate", value = "入职时间", required = true,  dataTypeClass = Date.class),
        @ApiImplicitParam(paramType="body", name = "departure_time", value = "离职时间", required = true,  dataTypeClass = Date.class),
        @ApiImplicitParam(paramType="body", name = "createTime", value = "创建时间", required = true,  dataTypeClass = Date.class),
        @ApiImplicitParam(paramType="body", name = "org", value = "机构", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "tags", value = "标签", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "country", value = "国家/地区", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "profile", value = "个人简介", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "province", value = "省", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "city", value = "市", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "address", value = "街道地址", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "deviceNum", value = "设备号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "openid", value = "微信", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "miniopenid", value = "微信小程序绑定", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "taobao", value = "淘宝", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "alipay", value = "支付宝", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "dingding", value = "钉钉", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "zindex", value = "索引", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "empid", value = "门禁id", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "empno", value = "员工号", required = true,  dataTypeClass = String.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录",value = "query",type = "PC")
    public Map<String, Object>  queryPageVueForProUserForWeb(HttpServletRequest request , HttpServletResponse response,@RequestBody Map<String, Object> map)
    {
            Map<String, Object> result = new HashMap<String, Object>();
            try {

            int currentPage = map.get(DATACURRENT_VUE)!=null?Integer.parseInt(map.get(DATACURRENT_VUE)+"")-1:0;
            int pageSize = map.get(PAGESIZE_VUE)!=null?Integer.parseInt(map.get(PAGESIZE_VUE)+""):10;
            int pageStart = currentPage*pageSize ;


            map.put(PAGESIZE_VUE,pageSize);
            map.put(PAGESTART,pageStart);

            int total = proUserService.count(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if(total>0){
            datalist = proUserService.queryPage(map);
            }
            Map<String, Object> tempresult = new HashMap<String, Object>();
            tempresult.put(DATASUCCESS, SUCCESSFLAG);
            tempresult.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            tempresult.put(DATALIST_VUE,datalist);
            tempresult.put(DATATOTAL_VUE,total);
            tempresult.put(PAGESIZE_VUE,map.get(PAGESIZE_VUE)!=null?map.get(PAGESIZE_VUE):10);
            tempresult.put(DATACURRENT_VUE,map.get(DATACURRENT_VUE)!=null?map.get(DATACURRENT_VUE):0);
            result.put(DATARESULT, tempresult);
            }catch(Exception e){
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG+e.getMessage());
            }
            return result;
    }



    @PostMapping( "/queryPageOracle")
    @ApiOperation(value="根据-{用户表}-对象Map分页记录", notes="成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
        @ApiImplicitParam(paramType="body", name = "user_id", value = "用户Id", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "user_name", value = "用户名", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "sex", value = "性别", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "user_name_cn", value = "用户名称", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "password", value = "密码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "enabled", value = "是否禁用", required = true,  dataTypeClass = Integer.class),
        @ApiImplicitParam(paramType="body", name = "is_system_user", value = "是否是系统用户", required = true,  dataTypeClass = Integer.class),
        @ApiImplicitParam(paramType="body", name = "creator_id", value = "创建人", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "dept_code", value = "部门代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "inner_dept_code", value = "内部部门代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "org_code", value = "机构代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "inner_org_code", value = "内部机构代码", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "memos", value = "备注", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "avatar", value = "头像图标路径", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "id_card", value = "身份证号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "email", value = "邮箱", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "phone", value = "手机号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "landline", value = "座机号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "dept", value = "部门", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "job", value = "职位", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "work_addr", value = "工作地点 01>总部飞利信大厦  选择楼层 02>非总部 选择省份", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "floor", value = "所在楼层", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "inprovince", value = "所在省份", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "hiredate", value = "入职时间", required = true,  dataTypeClass = Date.class),
        @ApiImplicitParam(paramType="body", name = "departure_time", value = "离职时间", required = true,  dataTypeClass = Date.class),
        @ApiImplicitParam(paramType="body", name = "createTime", value = "创建时间", required = true,  dataTypeClass = Date.class),
        @ApiImplicitParam(paramType="body", name = "org", value = "机构", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "tags", value = "标签", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "country", value = "国家/地区", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "profile", value = "个人简介", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "province", value = "省", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "city", value = "市", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "address", value = "街道地址", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "deviceNum", value = "设备号", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "openid", value = "微信", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "miniopenid", value = "微信小程序绑定", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "taobao", value = "淘宝", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "alipay", value = "支付宝", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "dingding", value = "钉钉", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "zindex", value = "索引", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "empid", value = "门禁id", required = true,  dataTypeClass = String.class),
        @ApiImplicitParam(paramType="body", name = "empno", value = "员工号", required = true,  dataTypeClass = String.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录",value = "query",type = "PC")
    public Map<String, Object>  queryPageOracleForProUserForWeb(HttpServletRequest request , HttpServletResponse response,@RequestBody Map<String, Object> map)
    {
            Map<String, Object> result = new HashMap<String, Object>();
            try {

            int currentPage = map.get(DATACURRENT)!=null?Integer.parseInt(map.get(DATACURRENT)+""):1;
            int pageSize = map.get(PAGESIZE)!=null?Integer.parseInt(map.get(PAGESIZE)+""):10;
            int pageStart = currentPage*pageSize ;


            map.put(PAGESTART,(currentPage-1)*pageSize);
            map.put(PAGEEND,currentPage*pageSize);

            int total = proUserService.count(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if(total>0){
            datalist = proUserService.queryPage(map);
            }
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST,datalist);
            Map<String, Object> pagemode = new HashMap<String, Object>();
            pagemode.put(DATATOTAL,total);
            pagemode.put(PAGESIZE,map.get(PAGESIZE)!=null?map.get(PAGESIZE):10);
            pagemode.put(DATACURRENT,map.get(DATACURRENT)!=null?map.get(DATACURRENT):0);
            result.put(PAGINATION,pagemode);
            }catch(Exception e){
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG+e.getMessage());
            }
            return result;
    }

    @PostMapping("/count")
    @ApiOperation(value = "根据-{用户表}-对象Map统计查询总数记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map统计查询总数记录", value = "query", type = "PC")
    public Map<String, Object> countForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATATOTAL_VUE, proUserService.count(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/insertBatch")
    @ApiOperation(value = "根据-{用户表}-对象Map批量插入记录", notes = "成功返回:{\"success\":true,\"message\",\"数据插入成功\"},失败返回:{\"success\":false,\"message\",\"数据插入失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map批量插入记录", value = "insert", type = "PC")
    public Map<String, Object> insertBatchForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody List<Map<String, Object>> list) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            for (Map<String, Object> map : list) {
                map.put("id", UUID.randomUUID().toString().replaceAll("-", ""));
            }

            proUserService.insertBatch(list);
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, INSERT_SUCCESS_MSG);
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, INSERT_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/deleteBatch")
    @ApiOperation(value = "根据-{用户表}-对象Map批量删除记录", notes = "成功返回:{\"success\":true,\"message\",\"数据删除成功\"},失败返回:{\"success\":false,\"message\",\"数据删除失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map批量删除记录", value = "delete", type = "PC")
    public Map<String, Object> deleteBatchForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody List<Map<String, Object>> list) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            proUserService.deleteBatch(list);
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, DELETE_SUCCESS_MSG);

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, DELETE_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/updateBatch")
    @ApiOperation(value = "根据-{用户表}-对象Map批量更新记录", notes = "成功返回:{\"success\":true,\"message\",\"数据更新成功\"},失败返回:{\"success\":false,\"message\",\"数据更新失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map批量更新记录", value = "update", type = "PC")
    public Map<String, Object> updateBatchForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody List<Map<String, Object>> list) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            proUserService.updateBatch(list);
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, UPDATE_SUCCESS_MSG);

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, UPDATE_FAIL_MSG + e.getMessage());
        }
        return result;
    }


    @PostMapping("/selectUserByProResourceWorkFlowId")
    @ApiOperation(value = "根据-{资源节点Id}-主键查询该节点对应的人员记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"datarecord\":\"{}\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParam(paramType = "body", name = "recordid", value = "记录主键", required = true, dataTypeClass = String.class)
    @OperateLog(name = "根据-{资源节点Id}-主键查询该节点对应的人员记录", value = "query", type = "PC")
    public Map<String, Object> selectUserByProResourceWorkFlowIdForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        String recordid = "" + map.get("id");
        String user_name = map.get("user_auth") == null ? "" : "" + map.get("user_auth");
        if (!StringUtils.isNotBlank(recordid)) {
            return result;
        }
        try {
            int currentPage = map.get(DATACURRENT_VUE) != null ? Integer.parseInt(map.get(DATACURRENT_VUE) + "") - 1 : 0;
            int pageSize = map.get(PAGESIZE_VUE) != null ? Integer.parseInt(map.get(PAGESIZE_VUE) + "") : 10;
            int pageStart = currentPage * pageSize;

            map.put(PAGESIZE_VUE, pageSize);
            map.put(PAGESTART, pageStart);
            map.put("id",recordid);
            map.put("user_name",user_name);

            int total = proUserService.countUserByProResourceWorkFlowId(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if (total > 0) {
                datalist = proUserService.selectUserByProResourceWorkFlowId(map);
            }
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST_VUE, datalist);
            Map<String, Object> pagemode = new HashMap<String, Object>();
            pagemode.put(DATATOTAL_VUE, total);
            pagemode.put(PAGESIZE_VUE, map.get(PAGESIZE_VUE) != null ? map.get(PAGESIZE_VUE) : 10);
            pagemode.put(DATACURRENT_VUE, map.get(DATACURRENT_VUE) != null ? map.get(DATACURRENT_VUE) : 0);
            result.put(PAGINATION, pagemode);
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }

        return result;


    }

    @PostMapping("/queryPageByAuthority")
    @ApiOperation(value = "根据-{用户表}-对象Map分页记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录", value = "query", type = "PC")
    public Map<String, Object> queryPageByAuthorityForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {


            int currentPage = map.get(DATACURRENT_VUE) != null ? Integer.parseInt(map.get(DATACURRENT_VUE) + "") - 1 : 0;
            int pageSize = map.get(PAGESIZE_VUE) != null ? Integer.parseInt(map.get(PAGESIZE_VUE) + "") : 10;
            int pageStart = currentPage * pageSize;

            map.put(PAGESIZE_VUE, pageSize);
            map.put(PAGESTART, pageStart);

            int total = proUserService.countByAuthority(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if (total > 0) {
                datalist = proUserService.queryPageByAuthority(map);
            }
            Map<String, Object> tempresult = new HashMap<String, Object>();
            tempresult.put(DATASUCCESS, SUCCESSFLAG);
            tempresult.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            tempresult.put(DATALIST_VUE,datalist);
            tempresult.put(DATATOTAL_VUE,total);
            tempresult.put(PAGESIZE_VUE,map.get(PAGESIZE_VUE)!=null?map.get(PAGESIZE_VUE):10);
            tempresult.put(DATACURRENT_VUE,map.get(DATACURRENT_VUE)!=null?map.get(DATACURRENT_VUE):0);
            result.put(DATARESULT, tempresult);
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/queryPageUserOrg")
    @ApiOperation(value = "根据-{用户表}-对象Map分页记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录", value = "query", type = "PC")
    public Map<String, Object> queryPageUserOrgForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {



        Map<String, Object> result = new HashMap<String, Object>();
        try {

        int currentPage = map.get(DATACURRENT)!=null?Integer.parseInt(map.get(DATACURRENT)+"")-1:0;
        int pageSize = map.get(PAGESIZE)!=null?Integer.parseInt(map.get(PAGESIZE)+""):10;
        int pageStart = currentPage*pageSize ;


        map.put(PAGESIZE,pageSize);
        map.put(PAGESTART,pageStart);

        int total = proUserService.countUserOrg(map);
        List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
        if(total>0){
        datalist = proUserService.queryPageUserOrg(map);
        }
        result.put(DATASUCCESS, SUCCESSFLAG);
        result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
        result.put(DATALIST,datalist);
        Map<String, Object> pagemode = new HashMap<String, Object>();
        pagemode.put(DATATOTAL,total);
        pagemode.put(PAGESIZE,map.get(PAGESIZE)!=null?map.get(PAGESIZE):10);
        pagemode.put(DATACURRENT,map.get(DATACURRENT)!=null?map.get(DATACURRENT):0);
        result.put(PAGINATION,pagemode);
        }catch(Exception e){
        result.put(DATASUCCESS, ERRORFLAG);
        result.put(DATAMESSAGE, QUERY_FAIL_MSG+e.getMessage());
        }
        return result;

    }


    @PostMapping("/queryPageUserOrgVue")
    @ApiOperation(value = "根据-{用户表}-对象Map分页记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录", value = "query", type = "PC")
    public Map<String, Object> queryPageUserOrgForProUserForWebVue(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {


            int currentPage = map.get(DATACURRENT_VUE) != null ? Integer.parseInt(map.get(DATACURRENT_VUE) + "") - 1 : 0;
            int pageSize = map.get(PAGESIZE_VUE) != null ? Integer.parseInt(map.get(PAGESIZE_VUE) + "") : 10;
            int pageStart = currentPage * pageSize;

            map.put(PAGESIZE_VUE, pageSize);
            map.put(PAGESTART, pageStart);

            int total = proUserService.countUserOrg(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            if (total > 0) {
                datalist = proUserService.queryPageUserOrg(map);
            }

            Map<String, Object> tempresult = new HashMap<String, Object>();
            tempresult.put(DATASUCCESS, SUCCESSFLAG);
            tempresult.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            tempresult.put(DATALIST_VUE,datalist);
            tempresult.put(DATATOTAL_VUE,total);
            tempresult.put(PAGESIZE_VUE,map.get(PAGESIZE_VUE)!=null?map.get(PAGESIZE_VUE):10);
            tempresult.put(DATACURRENT_VUE,map.get(DATACURRENT_VUE)!=null?map.get(DATACURRENT_VUE):0);
            result.put(DATARESULT, tempresult);
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/resetpwd")
    @ApiOperation(value = "根据-{用户表}-对象更新记录", notes = "成功返回:{\"success\":true,\"message\",\"数据更新成功\"},失败返回:{\"success\":false,\"message\",\"数据更新失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
    })
    @OperateLog(name = "根据-{用户表}-对象更新记录", value = "update", type = "PC")
    public Map<String, Object> resetpwdForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {
            String userid = Convert.toStr(map.get("user_id"));
            AssertUtils.isNull(userid, "记录ID不能为空");

            Map<String, Object> temmap = proUserService.selectByPrimaryKey(userid);
            if (null == temmap || temmap.size() == 0) {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG + "[" + userid + "] 记录不存在");
                return result;
            }

            BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
            temmap.put("password", bCryptPasswordEncoder.encode(Constants.DEFAULT_PASSWORD));
            temmap.put("pwd_security_level", "0");
            temmap.put("pwd_update_date", new Date());

            int flag = proUserService.update(temmap);
            if (1 == flag) {
                result.put(DATASUCCESS, SUCCESSFLAG);
                result.put(DATAMESSAGE, UPDATE_SUCCESS_MSG);
            } else {
                result.put(DATASUCCESS, ERRORFLAG);
                result.put(DATAMESSAGE, UPDATE_FAIL_MSG);
            }

        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, UPDATE_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/getAllUser")
    @ApiOperation(value = "根据-{用户表}-对象Map查询所有记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map查询所有记录", value = "query", type = "PC")
    public Map<String, Object> getAllUserForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATALIST, proUserService.getAllUser(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/getAllUserForTenant")
    @ApiOperation(value = "根据-{用户表}-对象Map查询所有记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map查询所有记录", value = "query", type = "PC")
    public Map<String, Object> getAllUserForTenantForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> map) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            Integer tenantId = ActiveUserUtils.getTenantId();
            if(tenantId == 0){
                result.put(DATALIST,new ArrayList<>());
                return result;
            }
            map.put("tenant_id",tenantId);
            result.put(DATALIST, proUserService.getAllUser(map));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }

    @PostMapping("/queryPageV2")
    @ApiOperation(value = "根据-{用户表}-对象Map分页记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"data\":\"[]\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", name = "user_id", value = "用户Id", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name", value = "用户名(登录账号)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_cn", value = "用户名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "user_name_en", value = "员工英文名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "password", value = "登录密码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email", value = "电子邮箱", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "phone", value = "手机号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "landline", value = "办公电话", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sex", value = "用户性别", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "avatar", value = "头像路径", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "sign", value = "个性签名", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "tags", value = "用户标签", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_type", value = "证件类型", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "id_no", value = "证件号码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "birthday", value = "用户生日", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "job_status", value = "用户状态(0离职，1在职)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "hiredate", value = "入职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "departure_time", value = "离职时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "user_type", value = "用户类型（员工）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "emp_no", value = "员工工号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "access_card_no", value = "门禁卡号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "country", value = "国家/地区", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "province", value = "省", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "city", value = "市", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "address", value = "街道地址", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "work_addr", value = "工作地点（01>总部飞利信大厦  选择楼层 02>非总部 选择省份）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "floor", value = "所在楼层", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inprovince", value = "所在省份", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_code", value = "部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "dept_name", value = "部门名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_dept_code", value = "内部部门代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_code", value = "机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "org_name", value = "机构名称", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "inner_org_code", value = "内部机构代码", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "posts", value = "职位", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_openid", value = "绑定的微信号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_mpopenid", value = "绑定的微信公众号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_miniopenid", value = "绑定的微信小程序", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_unionid", value = "绑定微信UnionID", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mobile_imei", value = "绑定的手机串号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "device_num", value = "绑定的手机设备号", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_taobao", value = "绑定的淘宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_alipay", value = "绑定的支付宝", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "al_dingding", value = "绑定的钉钉", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "is_system_user", value = "是否是系统用户(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "mgr_type", value = "管理员类型（0非管理员 1系统管理员）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_security_level", value = "密码安全级别（0初始 1很弱 2弱 3安全 4很安全）", required = true, dataTypeClass = Integer.class),
            @ApiImplicitParam(paramType = "body", name = "pwd_update_date", value = "密码最后更新时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_ip", value = "最后登陆IP", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "last_login_date", value = "最后登陆时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_date", value = "冻结时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "freeze_cause", value = "冻结原因", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "zindex", value = "索引", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "wx_msg", value = "微信消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "email_msg", value = "邮件消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "system_msg", value = "系统消息通知(0否1是)", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "remarks", value = "备注", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "status", value = "状态（0删除 1正常 2停用 3冻结）", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "creator", value = "创建者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "create_date", value = "创建时间", required = true, dataTypeClass = Date.class),
            @ApiImplicitParam(paramType = "body", name = "updater", value = "更新者", required = true, dataTypeClass = String.class),
            @ApiImplicitParam(paramType = "body", name = "update_date", value = "更新时间", required = true, dataTypeClass = Date.class)
    })
    @OperateLog(name = "根据-{用户表}-对象Map分页记录",value = "query",type = "PC")
    public Map<String, Object>  queryPageV2ForProUserForWeb(HttpServletRequest request , HttpServletResponse response,@RequestBody Map<String, Object> map)
    {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            int currentPage = map.get("pageNo")!=null?Integer.parseInt(map.get("pageNo")+"")-1:0;
            int pageSize = map.get(PAGESIZE)!=null?Integer.parseInt(map.get(PAGESIZE)+""):10;
            int pageStart = currentPage*pageSize ;


            map.put(PAGESIZE,pageSize);
            map.put(PAGESTART,pageStart);

            int total = proUserService.count(map);
            List<Map<String, Object>> datalist = new ArrayList<Map<String, Object>>();
            int totalPage = 0;
            if(total>0){
                datalist = proUserService.queryPage(map);
                totalPage = (total / pageSize + (total % pageSize != 0 ? 1 : 0));
            }
            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);

            result.put("data",datalist);
            result.put(DATATOTAL,total);
            result.put(PAGESIZE,map.get(PAGESIZE)!=null?map.get(PAGESIZE):10);
            result.put(DATACURRENT,map.get(DATACURRENT)!=null?map.get(DATACURRENT):0);
            result.put("totalPage", totalPage);

        }catch(Exception e){
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG+e.getMessage());
        }
        return result;
    }


    @GetMapping("/getAllByAuthType")
    @ApiOperation(value = "根据-{用户表}-角色key查询记录", notes = "成功返回:{\"success\":true,\"message\",\"数据查询成功\",\"datarecord\":\"{}\"},失败返回:{\"success\":false,\"message\",\"数据查询失败\"}")
    @ApiImplicitParam(paramType = "body", name = "authType", value = "角色key", required = true, dataTypeClass = String.class)
    @OperateLog(name = "根据-{用户表}-角色key查询记录", value = "query", type = "PC")
    public Map<String, Object> getAllByAuthTypeForProUserForWeb(HttpServletRequest request, HttpServletResponse response, @RequestParam String authType) {
        Map<String, Object> result = new HashMap<String, Object>();
        try {

            result.put(DATASUCCESS, SUCCESSFLAG);
            result.put(DATAMESSAGE, QUERY_SUCCESS_MSG);
            result.put(DATARECORD, proUserService.getAllByAuthType(authType));
        } catch (Exception e) {
            result.put(DATASUCCESS, ERRORFLAG);
            result.put(DATAMESSAGE, QUERY_FAIL_MSG + e.getMessage());
        }
        return result;
    }
}
