人员中台对接内容

xuyifeng-0724-人员中台对接-dev
water_xu 2024-07-24 08:41:20 +08:00
parent b8732cb711
commit a4174fafaa
9 changed files with 808 additions and 235 deletions

View File

@ -6,6 +6,8 @@ import java.util.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.zcloud.dto.UpdateEnum;
import com.zcloud.entity.system.Dictionaries; import com.zcloud.entity.system.Dictionaries;
import com.zcloud.entity.system.User; import com.zcloud.entity.system.User;
import com.zcloud.service.bus.*; import com.zcloud.service.bus.*;
@ -19,6 +21,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.crypto.hash.SimpleHash; import org.apache.shiro.crypto.hash.SimpleHash;
import org.hyperic.sigar.pager.PageList; import org.hyperic.sigar.pager.PageList;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -77,6 +80,8 @@ public class UsersController extends BaseController {
private UserExamineService userExamineService; private UserExamineService userExamineService;
@Autowired @Autowired
private DictionariesService dictionariesService; private DictionariesService dictionariesService;
@Value("${tongbu.url}")
private String tongBuUrl;
/** /**
* *
@ -421,6 +426,14 @@ public class UsersController extends BaseController {
userCerList = imgfilesService.listAll(userCerPd); userCerList = imgfilesService.listAll(userCerPd);
pd.putAll(userInfo); pd.putAll(userInfo);
} }
List<PageData> face_file = new ArrayList<>();
if (null != userInfo) {
PageData userCerPd = new PageData();
userCerPd.put("TYPE", "30");
userCerPd.put("FOREIGN_KEY", pd.get("USER_ID"));
face_file = imgfilesService.listAll(userCerPd);
pd.putAll(userInfo);
}
//获取岗位下拉 //获取岗位下拉
PageData post = new PageData(); PageData post = new PageData();
post.put("DEPARTMENT_ID", ZDEPARTMENT_ID); post.put("DEPARTMENT_ID", ZDEPARTMENT_ID);
@ -432,6 +445,7 @@ public class UsersController extends BaseController {
map.put("periodStr", shiftDutyPeriod.getString("DURATION") + ',' + shiftDutyPeriod.getString("WORKSTATUS") + ',' + shiftDutyPeriod.getString("WORKPERIOD")); map.put("periodStr", shiftDutyPeriod.getString("DURATION") + ',' + shiftDutyPeriod.getString("WORKSTATUS") + ',' + shiftDutyPeriod.getString("WORKPERIOD"));
map.put("licenseinfor", pd1); map.put("licenseinfor", pd1);
map.put("userCerList", userCerList); map.put("userCerList", userCerList);
map.put("face_file", face_file);
map.put("roleList", roleList); map.put("roleList", roleList);
map.put("result", errInfo); map.put("result", errInfo);
return map; return map;
@ -524,18 +538,6 @@ public class UsersController extends BaseController {
PageData pd = new PageData(); PageData pd = new PageData();
pd = this.getPageData(); pd = this.getPageData();
// if(pd.get("USERAVATARURL")!=null && !pd.getString("USERAVATARURL").equals("")){
// System.out.println("USERAVATARURL原长度"+pd.getString("USERAVATARURL").length());
// String USERAVATARURL64 = ImageAnd64Binary.zipBase64(pd.getString("USERAVATARURL"));
// System.out.println("USERAVATARURL压缩长度"+USERAVATARURL64.length());
//// try{
//// FaceUtil.compareFace(pd.getString("USERAVATARURL"),pd.getString("USERAVATARURL"));
//// }catch (Exception e){
//// map.put("result", "Error");
//// map.put("msg", "人脸图像不符合要求 请重新上传!");
//// return map;
//// }
// }
FHLOG.save(Jurisdiction.getUsername(), "从系统用户中修改" + pd.getString("USERNAME") + "的资料"); //记录日志 FHLOG.save(Jurisdiction.getUsername(), "从系统用户中修改" + pd.getString("USERNAME") + "的资料"); //记录日志
if (!Jurisdiction.getUsername().equals(pd.getString("USERNAME"))) { //如果当前登录用户修改用户资料提交的用户名非本人 if (!Jurisdiction.getUsername().equals(pd.getString("USERNAME"))) { //如果当前登录用户修改用户资料提交的用户名非本人
if ("admin".equals(pd.getString("USERNAME")) && !"admin".equals(Jurisdiction.getUsername())) { if ("admin".equals(pd.getString("USERNAME")) && !"admin".equals(Jurisdiction.getUsername())) {
@ -547,9 +549,6 @@ public class UsersController extends BaseController {
pd.put("ROLE_ID", upd.getString("ROLE_ID")); //对角色ID还原本人角色ID pd.put("ROLE_ID", upd.getString("ROLE_ID")); //对角色ID还原本人角色ID
pd.put("ROLE_IDS", Tools.notEmpty(upd.getString("ROLE_IDS")) ? upd.get("ROLE_IDS") : ""); //对角色ID还原本人副职角色ID pd.put("ROLE_IDS", Tools.notEmpty(upd.getString("ROLE_IDS")) ? upd.get("ROLE_IDS") : ""); //对角色ID还原本人副职角色ID
} }
// if(pd.getString("PASSWORD") != null && !"".equals(pd.getString("PASSWORD"))){
// pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), pd.getString("PASSWORD")).toString());
// }
if (!Tools.isEmpty(pd.getString("ROLE_ID"))) { if (!Tools.isEmpty(pd.getString("ROLE_ID"))) {
if (pd.getString("ROLE_ID").contains(",")) { if (pd.getString("ROLE_ID").contains(",")) {
String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据 String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据
@ -575,6 +574,9 @@ public class UsersController extends BaseController {
if (Tools.notEmpty(pd.getString("CARDNO"))) { if (Tools.notEmpty(pd.getString("CARDNO"))) {
usersService.resetCardNo(pd); usersService.resetCardNo(pd);
} }
//每次人员信息更改都要将人物状态置为未推送且不可查询,需推送后在进行使用
pd.put("ISDELETE","1");
pd.put("ISPUSH","0");
usersService.editUser(pd); //执行修改 usersService.editUser(pd); //执行修改
if ("true".equals(pd.getString("ISSTUDENT"))) { if ("true".equals(pd.getString("ISSTUDENT"))) {
pd.put("IS_ONLINELEARNING", "1"); pd.put("IS_ONLINELEARNING", "1");
@ -610,6 +612,9 @@ public class UsersController extends BaseController {
} }
userInfoService.delete(pd); userInfoService.delete(pd);
userInfoService.save(pd); userInfoService.save(pd);
} else {
userInfoService.delete(pd);
userInfoService.save(pd);
} }
if (null == licenseInforService.findById(pd)) { if (null == licenseInforService.findById(pd)) {
if (pd.getString("PERSON_TYPE") != null) { if (pd.getString("PERSON_TYPE") != null) {
@ -627,16 +632,6 @@ public class UsersController extends BaseController {
if (pd.getString("INFORWORKValue") != null || !(pd.getString("INFORWORKValue") == "")) { if (pd.getString("INFORWORKValue") != null || !(pd.getString("INFORWORKValue") == "")) {
pd.put("INFORWORK", pd.getString("INFORWORKValue")); pd.put("INFORWORK", pd.getString("INFORWORKValue"));
} }
// if("select".equals(pd.getString("letDutiesType"))){
// pd.put("TYPE_OF_WORK",pd.getString("TYPE_OF_WORK"));
// }else{
// PageData dicPd = new PageData();
// dicPd.put("PARENT_ID","09e36ac01e9540f8bc84eab1c1a78754");
// dicPd.put("BIANMA","zhiwu");
// dicPd.put("NAME",pd.getString("INFORPOSTValue"));
// dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
// pd.put("TYPE_OF_WORK",dicPd.getString("DICTIONARIES_ID"));
// }
if (Tools.notEmpty(pd.getString("INFORPOSTValue"))) { if (Tools.notEmpty(pd.getString("INFORPOSTValue"))) {
if ("select".equals(pd.getString("letDutiesType"))) { if ("select".equals(pd.getString("letDutiesType"))) {
PageData dicPd = new PageData(); PageData dicPd = new PageData();
@ -777,7 +772,10 @@ public class UsersController extends BaseController {
} }
} }
} }
System.out.println(pd.getString("isUpdateFace"));
if (pd.getString("isUpdateFace").equals("1")) { //若修改了人脸图片
imgfilesService.delete(pd); //删除旧人脸图片
}
map.put("result", errInfo); map.put("result", errInfo);
return map; return map;
} }
@ -898,7 +896,7 @@ public class UsersController extends BaseController {
@RequiresPermissions("user:add") @RequiresPermissions("user:add")
@ResponseBody @ResponseBody
public Object saveUser() throws Exception { public Object saveUser() throws Exception {
Map<String, String> map = new HashMap<String, String>(); Map<String, Object> map = new HashMap<>();
String errInfo = "success"; String errInfo = "success";
PageData pd = new PageData(); PageData pd = new PageData();
pd = this.getPageData(); pd = this.getPageData();
@ -908,10 +906,13 @@ public class UsersController extends BaseController {
pd.put("IP", ""); //IP pd.put("IP", ""); //IP
pd.put("STATUS", "0"); //状态 pd.put("STATUS", "0"); //状态
pd.put("ISMAIN", "0"); //状态 pd.put("ISMAIN", "0"); //状态
pd.put("ISDELETE", "0"); //是否删除0表示不删除 pd.put("ISDELETE", "1"); //是否删除0表示不删除
pd.put("SKIN", "pcoded-navbar navbar-image-3,navbar pcoded-header navbar-expand-lg navbar-light header-dark,"); //用户默认皮肤 pd.put("SKIN", "pcoded-navbar navbar-image-3,navbar pcoded-header navbar-expand-lg navbar-light header-dark,"); //用户默认皮肤
pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), pd.getString("PASSWORD")).toString()); //密码加密 pd.put("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), pd.getString("PASSWORD")).toString()); //密码加密
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
pd.put("ISPUSH", "0");
Map<String, String> resultMap = doCheck(pd.getString("USERNAME"), pd.getString("USER_ID_CARD"), "");
if (resultMap.get("result").equals("success")) {
if (null == usersService.findByUsername(pd)) { //判断用户名是否存在 if (null == usersService.findByUsername(pd)) { //判断用户名是否存在
if (pd.getString("ROLE_ID").contains(",")) { if (pd.getString("ROLE_ID").contains(",")) {
String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据 String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据
@ -964,6 +965,7 @@ public class UsersController extends BaseController {
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd); dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
pd.put("TYPE_OF_WORK", dicPd.getString("DICTIONARIES_ID")); pd.put("TYPE_OF_WORK", dicPd.getString("DICTIONARIES_ID"));
} }
} else {
userInfoService.save(pd); userInfoService.save(pd);
} }
String PERSON_TYPE = pd.getString("PERSONNEL_TYPE"); String PERSON_TYPE = pd.getString("PERSONNEL_TYPE");
@ -1002,13 +1004,24 @@ public class UsersController extends BaseController {
pd.put("USER_ID", ID); pd.put("USER_ID", ID);
licenseInforService.save(pd); //保存用户证照信息 licenseInforService.save(pd); //保存用户证照信息
} }
//封装调用参数
} else { } else {
map.put("result", "Error"); map.put("result", "Error");
map.put("msg", "用户名重复"); map.put("msg", "用户名重复");
return map; return map;
} }
FHLOG.save(Jurisdiction.getUsername(), "新增用户:" + pd.getString("USERNAME")); //记录日志 FHLOG.save(Jurisdiction.getUsername(), "新增用户:" + pd.getString("USERNAME")); //记录日志
PageData userPd = new PageData();
userPd.put("USER_ID",ID);
PageData userinfo = usersService.findById(userPd);
userinfo.put("ISDELETE","0");
map.put("USERINFO", userinfo);
map.put("USER_ID",ID);
map.put("result", errInfo); //返回结果 map.put("result", errInfo); //返回结果
} else {
map.put("result", "您输入的身份证号和用户名二次校验失败,请确认后重新申请"); //返回结果
}
return map; return map;
} }
@ -1025,10 +1038,23 @@ public class UsersController extends BaseController {
PageData pd = new PageData(); PageData pd = new PageData();
String errInfo = "success"; String errInfo = "success";
pd = this.getPageData(); pd = this.getPageData();
Map<String, String> returnMap = null;
if (pd.getString("ISPUSH").equals("1")) {
pd.put("ISDELETE","1");
HashMap<String, String> param = new HashMap<>();
Set set = pd.keySet();
for (Object key : set) {
param.put(key.toString(),pd.getString(key.toString()));
}
String UserDto = JSON.toJSONString(param);
String result = HttpClientUtilDoGet.sendHttpPost(tongBuUrl + "/docking/core/user/addOrUpdate", UserDto,param);
returnMap = (Map<String, String>) JSON.parse(result);
}
if (pd.getString("ISPUSH").equals("0") || returnMap.get("result").equals("success")) {
FHLOG.save(Jurisdiction.getUsername(), "删除用户ID" + pd.getString("USER_ID")); //记录日志 FHLOG.save(Jurisdiction.getUsername(), "删除用户ID" + pd.getString("USER_ID")); //记录日志
usersService.deleteUser(pd); //删除用户 usersService.deleteUser(pd); //删除用户
ueditorService.delete(pd); //删除副文本关联数据 ueditorService.delete(pd); //删除副文本关联数据
List<PageData> listIds = listManagerService.listListByUser(pd); List<PageData> listIds = listManagerService.listListByUser(pd);
if (listIds != null && listIds.size() > 0) { if (listIds != null && listIds.size() > 0) {
for (PageData listPd : listIds) { for (PageData listPd : listIds) {
@ -1130,8 +1156,10 @@ public class UsersController extends BaseController {
} }
} }
} }
map.put("result", errInfo); //返回结果 map.put("result", errInfo); //返回结果
} else {
map.put("result", "error"); //返回结果
}
return map; return map;
} }
@ -2429,4 +2457,120 @@ public class UsersController extends BaseController {
return map; return map;
} }
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goCheck")
@ResponseBody
public Object goCheck() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
PageData pd = new PageData();
pd = this.getPageData();
HashMap<String, String> param = new HashMap<>();
param.put("USERNAME",pd.getString("USERNAME"));
param.put("CARD_NO",pd.getString("CARD_NO"));
if (!Tools.isEmpty(pd.get("USER_ID"))) {
param.put("USER_ID",pd.getString("USER_ID"));
} else {
param.put("USER_ID","");
}
return doCheck(param.get("USERNAME"),param.get("CARD_NO"),param.get("USER_ID"));
}
public Map<String, String> doCheck(String USERNAME, String CARD_NO, String USER_ID) throws Exception {
String result = HttpClientUtilDoGet.sendHttpGet(tongBuUrl + "/docking/core/user/getCheck"+"?USERNAME="+USERNAME+"&CARD_NO="+CARD_NO+"&USER_ID="+USER_ID);
Map<String, String> returnMap = (Map<String, String>) JSON.parse(result);
return returnMap;
}
/**
*
*
* @param
* @throws Exception
*/
@RequestMapping(value = "/goPush")
@ResponseBody
public Object goPush() throws Exception {
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间
pd.put("CREATOR", Jurisdiction.getUSER_ID()); //创建人
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
pd.put("OPERATOR", Jurisdiction.getUSER_ID()); //修改人
PageData sexPd = new PageData();
if (Tools.notEmpty(pd.getString("SEX"))) {
sexPd.put("DICTIONARIES_ID",pd.getString("SEX"));
PageData byId = dictionariesService.findById(sexPd);
if (Tools.notEmpty(byId)) {
pd.put("SEX",byId.getString("NAME"));
}
}
StringBuilder ORG_PATH = new StringBuilder();
boolean hasPid = true;
PageData department = departmentService.findById(pd);
ORG_PATH.insert(0, department.getString("NAME"));
String deptId = department.getString("PARENT_ID");
PageData deptPd = new PageData();
deptPd.put("DEPARTMENT_ID",deptId);
if (!department.get("PARENT_ID").equals("0")) {
while (hasPid) {
PageData dept = departmentService.findById(deptPd);
if (dept.get("PARENT_ID").equals("0")) {
hasPid = false;
} else {
deptId = dept.getString("PARENT_ID");
deptPd.put("DEPARTMENT_ID",deptId);
}
ORG_PATH.insert(0, dept.getString("NAME") + "/");
}
}
pd.put("ORG_PATH",ORG_PATH);
HashMap<String, Object> param = new HashMap<>();
Set set = pd.keySet();
for (Object key : set) {
param.put(key.toString(),pd.getString(key.toString()));
}
//要推送的照片集合
List<PageData> userPhotoDTOList = new ArrayList<>();
//人脸照片
PageData photoPd = new PageData();
photoPd.put("USER_PHOTO_ID",pd.getString("IMGFILES_ID"));
photoPd.put("USER_ID",pd.getString("FOREIGN_KEY"));
photoPd.put("PHOTO_URL",pd.getString("FILEPATH"));
photoPd.put("PHOTO_TYPE","1");
photoPd.put("ISDELETE","0");
userPhotoDTOList.add(photoPd);
param.put("userPhotoDTOList", userPhotoDTOList);
String userResult = HttpClientUtilDoGet.sendHttpGet(tongBuUrl + "/docking/core/user/getUserInfoById"+"?USER_ID="+pd.getString("USER_ID"));
Map<String, Object> userReturnMap = (Map<String, Object>) JSON.parse(userResult);
if (userReturnMap.get("USERINFO") != null) { //有用户数据获取修改信息
PageData userInfoPd = JSON.parseObject(userReturnMap.get("USERINFO").toString(), PageData.class);
String updateDescription = UpdateEnum.getUpdateDescription(userInfoPd, pd);
param.put("REMARKS",updateDescription);
} else { //没有数据则获取新增信息
String insertDescription = UpdateEnum.getInsertDescription(pd);
param.put("REMARKS",insertDescription);
}
String UserDto = JSON.toJSONString(param);
String result = HttpClientUtilDoGet.sendHttpPost(tongBuUrl + "/docking/core/user/addOrUpdate", UserDto,null);
Map<String, String> returnMap = (Map<String, String>) JSON.parse(result);
if (returnMap.get("result").equals("success")) {
PageData pushPd = new PageData();
pushPd.put("ISPUSH","1");
if (!Tools.isEmpty(pd.get("operateType")) && pd.getString("operateType").equals("delete")) {
pushPd.put("ISDELETE","1");
} else {
pushPd.put("ISDELETE","0");
}
pushPd.put("USER_ID",pd.getString("USER_ID"));
usersService.editPushStatus(pushPd);
}
return returnMap;
}
} }

View File

@ -0,0 +1,83 @@
package com.zcloud.dto;
import com.zcloud.entity.PageData;
import com.zcloud.util.Tools;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum UpdateEnum {
// USER_ID("USER_ID","USER_ID","用户ID"),
USERNAME("USERNAME","USERNAME","用户名"),
NAME("NAME","NAME","姓名"),
// CORPINFO_ID("CORPINFO_ID","CORPINFO_ID","单位ID"),
CORPINFO_NAME("CORPINFO_NAME","CORPINFO_NAME","单位名称"),
EMAIL("EMAIL","EMAIL","邮箱地址"),
CARD_TYPE("CARD_TYPE","CARD_TYPE","证件类型"),
CARD_TYPE_NAME("CARD_TYPE_NAME","CARD_TYPE_NAME","证件名称"),
CARD_NO("CARD_NO","CARD_NO","证件号码"),
NATION("NATION","NATION","民族"),
SEX("SEX","SEX","性别"),
ORG_PATH("ORG_PATH","ORG_PATH","组织路径"),
USER_TYPE("USER_TYPE","USER_TYPE","用户类型"),
// ISDELETE("ISDELETE","ISDELETE","是否删除"),
// CREATOR("CREATOR","CREATOR","创建人"),
// CREATTIME("CREATTIME","CREATTIME","创建时间"),
// OPERATOR("OPERATOR","OPERATOR","修改人"),
// OPERATTIME("OPERATTIME","OPERATTIME","修改时间"),
// DEPARTMENT_ID("DEPARTMENT_ID","DEPARTMENT_ID","部门ID"),
DEPARTMENT_NAME("DEPARTMENT_NAME","DEPARTMENT_NAME","部门名称");
private String enterpriseKey; //企业端字段
private String centerKey; //中台字段
private String name; //字段名称
public String getEnterpriseKey() {
return enterpriseKey;
}
public String getName() {
return name;
}
/**
* pd origin target
*/
public static String getUpdateDescription(PageData origin,PageData target) {
StringBuilder desc = new StringBuilder();
for (UpdateEnum keyMap : values()) {
//获取key centerKey为从人员中台获取的旧数据key enterpriseKey为当前端要推送的新数据key
String centerKey = keyMap.getCenterKey();
String enterpriseKey = keyMap.getEnterpriseKey();
if (origin.containsKey(centerKey) && target.containsKey(enterpriseKey)) {
//取出源&目标值
String originValue = origin.getString(centerKey);
String targetValue = target.getString(enterpriseKey);
if (!originValue.equals(targetValue)){
desc.append(keyMap.getName()).append(": 由旧值\"").append(originValue).append("\"变为了\"").append(targetValue).append("\"; \n");
}
}
}
return desc.toString();
}
/**
*
*/
public static String getInsertDescription(PageData origin) {
StringBuilder remarks = new StringBuilder();
for (UpdateEnum keyMap : values()) {
//获取key
String key = keyMap.getEnterpriseKey();
if (origin.containsKey(key) && Tools.notEmpty(origin.getString(key))) {
//取出源&目标值
String originValue = origin.getString(key);
remarks.append(keyMap.getName()).append(": 新增的值为\"").append(originValue).append("\"; \n");
}
}
return remarks.toString();
}
}

View File

@ -313,4 +313,6 @@ public interface UsersMapper {
List<PageData> listUserByDepId(PageData pd); List<PageData> listUserByDepId(PageData pd);
List<PageData> getDepartmentIds(@Param("departmentIds") String[] departmentIds); List<PageData> getDepartmentIds(@Param("departmentIds") String[] departmentIds);
void editPushStatus(PageData pd);
} }

View File

@ -364,4 +364,6 @@ public interface UsersService {
List<PageData> listUserByDepId(PageData pd) throws Exception; List<PageData> listUserByDepId(PageData pd) throws Exception;
List<PageData> getDepartmentIds(String[] departmentIds) throws Exception; List<PageData> getDepartmentIds(String[] departmentIds) throws Exception;
public void editPushStatus(PageData pd)throws Exception;
} }

View File

@ -501,4 +501,12 @@ public class UsersServiceImpl implements UsersService {
public List<PageData> getDepartmentIds(String[] departmentIds) throws Exception { public List<PageData> getDepartmentIds(String[] departmentIds) throws Exception {
return usersMapper.getDepartmentIds(departmentIds); return usersMapper.getDepartmentIds(departmentIds);
} }
/**
* @param pd
* @throws Exception
*/
public void editPushStatus(PageData pd)throws Exception{
usersMapper.editPushStatus(pd);
}
} }

View File

@ -0,0 +1,224 @@
package com.zcloud.util;
import cn.hutool.core.collection.CollectionUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.*;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class HttpClientUtilDoGet {
private static final RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(60000) // 60s
.setConnectTimeout(10000) // 10s
.setConnectionRequestTimeout(10000) // 10s
.build();
public static String sendHttpPost(String httpUrl, String body, Map<String, String> header) {
HttpPost httpPost = new HttpPost(httpUrl);
try {
if (StringUtils.isNotEmpty(body)) {
StringEntity stringEntity = new StringEntity(body, "UTF-8");
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
}
if (CollectionUtil.isNotEmpty(header)) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpPost.addHeader(entry.getKey(), entry.getValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return sendHttpPost(httpPost);
}
private static String sendHttpPost(HttpPost httpPost) {
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
String responseContent = "";
try {
httpClient = HttpClients.createDefault();
httpPost.setConfig(requestConfig);
response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
responseContent = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return responseContent;
}
public static String sendHttpPut(String httpUrl, String body, Map<String, String> header) {
HttpPut httpPut = new HttpPut(httpUrl);
try {
if (StringUtils.isNotEmpty(body)) {
StringEntity stringEntity = new StringEntity(body, "UTF-8");
stringEntity.setContentType("application/json");
httpPut.setEntity(stringEntity);
}
if (CollectionUtil.isNotEmpty(header)) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpPut.addHeader(entry.getKey(), entry.getValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return sendHttpPut(httpPut);
}
private static String sendHttpPut(HttpPut httpPut) {
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
String responseContent = "";
try {
httpClient = HttpClients.createDefault();
httpPut.setConfig(requestConfig);
response = httpClient.execute(httpPut);
HttpEntity entity = response.getEntity();
responseContent = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return responseContent;
}
public static String sendHttpGet(String httpUrl, Map<String, String> params, Map<String, String> header) {
List<BasicNameValuePair> list = new ArrayList<>();
if (CollectionUtil.isNotEmpty(params)) {
for (Map.Entry<String, String> entry : params.entrySet()) {
list.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
String paramStr = "";
try {
paramStr = EntityUtils.toString(new UrlEncodedFormEntity(list, Consts.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
if (StringUtils.isNotEmpty(paramStr)) {
httpUrl = httpUrl + "?" + paramStr;
}
}
HttpGet httpGet = new HttpGet(httpUrl);// 创建get请求
if (CollectionUtil.isNotEmpty(header)) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpGet.addHeader(entry.getKey(), entry.getValue());
}
}
return sendHttpGet(httpGet);
}
public static String sendHttpGet(String httpUrl) {
HttpGet httpGet = new HttpGet(httpUrl);// 创建get请求
return sendHttpGet(httpGet);
}
private static String sendHttpGet(HttpGet httpGet) {
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
HttpEntity entity = null;
String responseContent = null;
try {
httpClient = HttpClients.createDefault();
httpGet.setConfig(requestConfig);
response = httpClient.execute(httpGet);
entity = response.getEntity();
responseContent = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
if (StringUtils.isEmpty(responseContent)) {
System.out.println("responseContent is null");
}
return responseContent;
}
public static String sendHttpDelete(String httpUrl, Map<String, String> header) {
HttpDelete httpDelete = new HttpDelete(httpUrl);
if (header != null && !header.isEmpty()) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpDelete.addHeader(entry.getKey(), entry.getValue());
}
}
return sendHttpDelete(httpDelete);
}
private static String sendHttpDelete(HttpDelete httpDelete) {
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
HttpEntity entity = null;
String responseContent = null;
try {
httpClient = HttpClients.createDefault();
httpDelete.setConfig(requestConfig);
response = httpClient.execute(httpDelete);
entity = response.getEntity();
responseContent = EntityUtils.toString(entity, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
if (httpClient != null) {
httpClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
if (StringUtils.isEmpty(responseContent)) {
System.out.println("responseContent is null");
}
return responseContent;
}
}

View File

@ -42,6 +42,16 @@ public class Tools {
return s!=null && !"".equals(s) && !"null".equals(s); return s!=null && !"".equals(s) && !"null".equals(s);
} }
/**
* (null,"","null")
* @param s
* @return truefalse
*/
public static boolean notEmpty(Object s){
return s!=null && !"".equals(s) && !"null".equals(s);
}
/** /**
* (null,"","null") * (null,"","null")
* @param s * @param s

View File

@ -106,6 +106,7 @@ perLoc.url=http://192.168.210.32:8084
perLoc.userName=qaaqadmin perLoc.userName=qaaqadmin
perLoc.pwd=Cfd2023@ perLoc.pwd=Cfd2023@
baseimgpath =http://192.168.192.201:8991/file/ baseimgpath =http://192.168.192.201:8991/file/
tongbu.url=http://127.0.0.1:8094
mq.csy.data.topic=csy_docking mq.csy.data.topic=csy_docking
mq.csy.data.group=scheduled_tasks_csy_docking mq.csy.data.group=scheduled_tasks_csy_docking

View File

@ -92,7 +92,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
CORPINFO_ID, CORPINFO_ID,
CARDNO, CARDNO,
MKMJCARD, MKMJCARD,
ISDELETE ISDELETE,
ISPUSH
</sql> </sql>
<!-- 字段 --> <!-- 字段 -->
<sql id="Fieldf"> <sql id="Fieldf">
@ -133,7 +134,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
f.CORPINFO_ID, f.CORPINFO_ID,
f.CARDNO, f.CARDNO,
f.MKMJCARD, f.MKMJCARD,
f.ISDELETE f.ISDELETE,
f.ISPUSH
</sql> </sql>
<!-- 字段值 --> <!-- 字段值 -->
<sql id="FieldValue"> <sql id="FieldValue">
@ -171,7 +173,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{CORPINFO_ID}, #{CORPINFO_ID},
#{CARDNO}, #{CARDNO},
#{MKMJCARD}, #{MKMJCARD},
#{ISDELETE} #{ISDELETE},
#{ISPUSH}
</sql> </sql>
<!-- 用户列表(全部) --> <!-- 用户列表(全部) -->
@ -257,9 +260,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="tableName"></include> f <include refid="tableName"></include> f
LEFT JOIN OA_DEPARTMENT dept on f.DEPARTMENT_ID = dept.DEPARTMENT_ID LEFT JOIN OA_DEPARTMENT dept on f.DEPARTMENT_ID = dept.DEPARTMENT_ID
where where
f.USERNAME = #{USERNAME} and f.ISDELETE='0' USERNAME = #{USERNAME} and ISDELETE='0'
<if test="VERIFYUSER_ID != null and VERIFYUSER_ID != ''"> <if test="VERIFYUSER_ID != null and VERIFYUSER_ID != ''">
and f.USER_ID != #{VERIFYUSER_ID} and USER_ID != #{VERIFYUSER_ID}
</if> </if>
</select> </select>
<select id="findByName" parameterType="pd" resultType="pd" > <select id="findByName" parameterType="pd" resultType="pd" >
@ -280,11 +283,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
post.NAME as postName, post.NAME as postName,
dicRer.NAME as personnelTypeName, dicRer.NAME as personnelTypeName,
dicWork.NAME as typeOfWorkName, dicWork.NAME as typeOfWorkName,
info.ENTRY_DATE c.CORP_NAME as CORPINFO_NAME,
info.ENTRY_DATE,
dicsex.NAME as SEX,
info.POLITICAL_OUTLOOK as POLITICAL_OUTLOOK,
info.DATE_OF_BIRTH as DATE_OF_BIRTH,
info.TYPE_OF_WORK as TYPE_OF_WORK,
info.ENTRY_DATE as ENTRY_DATE,
info.WORKING_DATE as WORKING_DATE,
info.INCUMBENCY as INCUMBENCY,
info.ISSTATE as ISSTATE,
info.USER_ID_CARD as CARD_NO,
dicna.NAME as NATION,
dept.NAME as DEPARTMENT_NAME
from from
<include refid="tableName"></include>f <include refid="tableName"></include>f
left join SYS_USERINFO info on info.USER_ID = f.USER_ID left join SYS_USERINFO info on info.USER_ID = f.USER_ID
left join bus_corp_info c on c.CORPINFO_ID = f.CORPINFO_ID
left join sys_dictionaries dicsex on dicsex.DICTIONARIES_ID = info.SEX left join sys_dictionaries dicsex on dicsex.DICTIONARIES_ID = info.SEX
left join sys_dictionaries dicna on dicna.DICTIONARIES_ID = info.NATION
left join oa_department dept on dept.DEPARTMENT_ID = f.DEPARTMENT_ID left join oa_department dept on dept.DEPARTMENT_ID = f.DEPARTMENT_ID
left join sys_post post on post.POST_ID = f.POST_ID left join sys_post post on post.POST_ID = f.POST_ID
left join sys_dictionaries dicRer on dicRer.DICTIONARIES_ID = info.PERSONNEL_TYPE left join sys_dictionaries dicRer on dicRer.DICTIONARIES_ID = info.PERSONNEL_TYPE
@ -387,6 +404,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
IS_HAZARDCONFIRMER = #{IS_HAZARDCONFIRMER}, IS_HAZARDCONFIRMER = #{IS_HAZARDCONFIRMER},
IS_ONLINELEARNING = #{IS_ONLINELEARNING}, IS_ONLINELEARNING = #{IS_ONLINELEARNING},
PHONE = #{PHONE} PHONE = #{PHONE}
<if test="ISPUSH != null and ISPUSH != ''">
,ISPUSH = #{ISPUSH}
</if>
<if test="CARDNO != null and CARDNO != ''"> <if test="CARDNO != null and CARDNO != ''">
,CARDNO = #{CARDNO} ,CARDNO = #{CARDNO}
</if> </if>
@ -405,6 +425,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="SHIFTDUTYONE != null and SHIFTDUTYONE != ''"> <if test="SHIFTDUTYONE != null and SHIFTDUTYONE != ''">
,SHIFTDUTYONE = #{SHIFTDUTYONE} ,SHIFTDUTYONE = #{SHIFTDUTYONE}
</if> </if>
<if test="ISDELETE != null and ISDELETE != ''">
,ISDELETE = #{ISDELETE}
</if>
<if test="SHIFTDUTYTWO != null and SHIFTDUTYTWO != ''"> <if test="SHIFTDUTYTWO != null and SHIFTDUTYTWO != ''">
,SHIFTDUTYTWO = #{SHIFTDUTYTWO} ,SHIFTDUTYTWO = #{SHIFTDUTYTWO}
</if> </if>
@ -464,20 +487,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select u.USER_ID, select u.USER_ID,
u.USERNAME, u.USERNAME,
u.PASSWORD, u.PASSWORD,
u.LAST_LOGIN,
u.NAME, u.NAME,
u.LAST_LOGIN,
u.IP, u.IP,
u.STATUS,
u.BZ,
u.SKIN,
u.EMAIL, u.EMAIL,
u.NUMBER, u.NUMBER,
u.PHONE, u.PHONE,
u.ROLE_IDS,
u.DEPARTMENT_ID,
u.CORPINFO_ID,
u.FUN_IDS,
u.APPID,
u.POST_ID,
u.ISMAIN, u.ISMAIN,
u.PERSON_TYPE, u.ERROR_COUNT,
u.SORT,
u.LEARNERCATEGORY,
u.USERAVATARPREFIX,
u.USERAVATARURL,
u.SHIFTDUTYONE, u.SHIFTDUTYONE,
u.SHIFTDUTYTWO, u.SHIFTDUTYTWO,
u.DURATION, u.DURATION,
u.WORKSTATUS, u.WORKSTATUS,
u.WORKPERIOD, u.WORKPERIOD,
u.STATUS, u.PERSONNEL_TYPE,
u.IS_HAZARDCONFIRMER,
u.IS_ONLINELEARNING,
u.PERSON_TYPE,
u.JCR,
u.ISDELETE,
u.PUSH_CID,
u.EMPNO,
u.CFD_STATUS,
u.CARDNO,
u.USER_IDENTITY,
u.BASEIMGPATH,
u.BACKENDADDR,
u.MKMJCARD,
u.ISPUSH,
c.CORP_NAME CORPINFO_NAME,
sud.NATION,
sud.SEX,
sud.USER_ID_CARD CARD_NO,
sud.POLITICAL_OUTLOOK,
sud.DATE_OF_BIRTH,
sud.DEGREE_OF_EDUCATION,
sud.DUTIES,
sud.TYPE_OF_WORK,
sud.ENTRY_DATE,
sud.WORKING_DATE,
sud.INCUMBENCY,
sud.ISSTATE,
sud.TITLE,
r.ROLE_ID, r.ROLE_ID,
r.ROLE_NAME, r.ROLE_NAME,
o.NAME as PID_NAME, o.NAME as PID_NAME,
@ -487,7 +551,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sw.NAME SHIFTDUTYONENAME, sw.NAME SHIFTDUTYONENAME,
swr.NAME SHIFTDUTYTWONAME, swr.NAME SHIFTDUTYTWONAME,
info.IS_RECORDER, info.IS_RECORDER,
info.IS_CHARGE info.IS_CHARGE,
bi.FOREIGN_KEY,
bi.FILE_NAME,
bi.FILEPATH,
bi.IMGFILES_ID
<if test="pd.IS_ARCHIVES != null and pd.IS_ARCHIVES != ''"> <!--档案列表 --> <if test="pd.IS_ARCHIVES != null and pd.IS_ARCHIVES != ''"> <!--档案列表 -->
,(select count(1) from BUS_STAGESTUDENTRELATION s where s.USER_ID = u.USER_ID) as TASK_COUNT, ,(select count(1) from BUS_STAGESTUDENTRELATION s where s.USER_ID = u.USER_ID) as TASK_COUNT,
(select count(1) from BUS_STAGESTUDENTRELATION s where s.USER_ID = u.USER_ID and s.STAGEEXAMSTATE=3) as COMPLETE_COUNT (select count(1) from BUS_STAGESTUDENTRELATION s where s.USER_ID = u.USER_ID and s.STAGEEXAMSTATE=3) as COMPLETE_COUNT
@ -496,12 +564,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join SYS_ROLE r on u.ROLE_ID = r.ROLE_ID left join SYS_ROLE r on u.ROLE_ID = r.ROLE_ID
left join OA_DEPARTMENT d on d.DEPARTMENT_ID=u.DEPARTMENT_ID left join OA_DEPARTMENT d on d.DEPARTMENT_ID=u.DEPARTMENT_ID
left join OA_DEPARTMENT o ON o.DEPARTMENT_ID = d.PARENT_ID left join OA_DEPARTMENT o ON o.DEPARTMENT_ID = d.PARENT_ID
left join sys_userinfo sud on sud.USER_ID=u.USER_ID
left join SYS_POST p on p.POST_ID=u.POST_ID left join SYS_POST p on p.POST_ID=u.POST_ID
left join bus_corp_info c on c.CORPINFO_ID = u.CORPINFO_ID
left join BUS_SHIFTWORKRULES sw on sw.SHIFTWORKRULES_ID = u.SHIFTDUTYONE left join BUS_SHIFTWORKRULES sw on sw.SHIFTWORKRULES_ID = u.SHIFTDUTYONE
left join BUS_SHIFTWORKRULES swr on swr.SHIFTWORKRULES_ID = u.SHIFTDUTYTWO left join BUS_SHIFTWORKRULES swr on swr.SHIFTWORKRULES_ID = u.SHIFTDUTYTWO
left join SYS_USERINFO info on info.USER_ID = u.USER_ID left join SYS_USERINFO info on info.USER_ID = u.USER_ID
where u.ISDELETE = '0' and LEFT JOIN bus_imgfiles bi ON bi.FOREIGN_KEY = u.USER_ID AND bi.TYPE = '30'
where
u.USERNAME != 'admin' u.USERNAME != 'admin'
<!-- Refer to 赵煜:这个一般的时候是没有这个参数的 目前不需要动 用and可以 -->
<if test="pd.ISPUSH==null and pd.ISPUSH==''"> <!-- 查询未推送成功的数据 -->
and u.ISDELETE = '0'
</if>
<!-- and r.PARENT_ID = '1' --> <!-- and r.PARENT_ID = '1' -->
<if test="pd.KEYWORDS!= null and pd.KEYWORDS != ''"> <if test="pd.KEYWORDS!= null and pd.KEYWORDS != ''">
and and
@ -551,6 +626,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="pd.IS_CHARGE != null and pd.IS_CHARGE != '' and pd.IS_CHARGE == 1 "> <if test="pd.IS_CHARGE != null and pd.IS_CHARGE != '' and pd.IS_CHARGE == 1 ">
and info.IS_CHARGE = #{pd.IS_CHARGE} and info.IS_CHARGE = #{pd.IS_CHARGE}
</if> </if>
<if test="pd.NOMAIN!=null and pd.NOMAIN!=''"> <!-- 登录时间检索 -->
and u.ISMAIN != "1"
</if>
<if test="pd.ISPUSH!=null and pd.ISPUSH!=''"> <!-- 登录时间检索 -->
<if test='pd.ISPUSH == "1"'>
and (u.ISPUSH = "1" or u.ISMAIN = "1")
and u.ISDELETE = '0'
</if>
<if test='pd.ISPUSH != "1"'>
AND (u.ISPUSH != "1")
AND (u.ISDELETE != "1" or u.ISPUSH = "0")
</if>
</if>
<if test="pd.IS_HAZARDCONFIRMER != null and pd.IS_HAZARDCONFIRMER != ''"><!-- 关键词检索 --> <if test="pd.IS_HAZARDCONFIRMER != null and pd.IS_HAZARDCONFIRMER != ''"><!-- 关键词检索 -->
AND AND
u.IS_HAZARDCONFIRMER =#{pd.IS_HAZARDCONFIRMER} u.IS_HAZARDCONFIRMER =#{pd.IS_HAZARDCONFIRMER}
@ -1439,8 +1527,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
p.NAME as POST_NAME p.NAME as POST_NAME
from from
`qa-gwj-prevention`.sys_user u `qa-gwj-prevention`.sys_user u
left join `qa-gwj-prevention`oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID left join `qa-gwj-prevention`.oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
left join `qa-gwj-prevention`sys_post p on p.POST_ID = u.POST_ID left join `qa-gwj-prevention`.sys_post p on p.POST_ID = u.POST_ID
where where
u.CARDNO = #{CARDNO} u.CARDNO = #{CARDNO}
</select> </select>
@ -1465,4 +1553,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</if> </if>
</select> </select>
<!-- 修改 -->
<update id="editPushStatus" parameterType="pd">
update
<include refid="tableName"></include>
set
ISPUSH = #{ISPUSH},
ISDELETE = #{ISDELETE}
where
USER_ID = #{USER_ID}
</update>
</mapper> </mapper>