Merge branch 'refs/heads/pet' into dev
commit
7607af75da
|
@ -6,10 +6,16 @@ import java.util.*;
|
|||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.druid.support.json.JSONUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.zcloud.dto.UpdateEnum;
|
||||
import com.zcloud.entity.system.Dictionaries;
|
||||
import com.zcloud.entity.system.User;
|
||||
import com.zcloud.service.bus.*;
|
||||
import com.zcloud.service.system.*;
|
||||
import com.zcloud.syncData.SyncPlatformAdvice;
|
||||
import com.zcloud.syncData.SyncTypeEnum;
|
||||
import com.zcloud.util.*;
|
||||
import org.apache.commons.collections.map.ListOrderedMap;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
@ -19,6 +25,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|||
import org.apache.shiro.crypto.hash.SimpleHash;
|
||||
import org.hyperic.sigar.pager.PageList;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
@ -77,6 +84,8 @@ public class UsersController extends BaseController {
|
|||
private UserExamineService userExamineService;
|
||||
@Autowired
|
||||
private DictionariesService dictionariesService;
|
||||
@Value("${tongbu.url}")
|
||||
private String tongBuUrl;
|
||||
|
||||
/**
|
||||
* 进入权限首页
|
||||
|
@ -421,6 +430,14 @@ public class UsersController extends BaseController {
|
|||
userCerList = imgfilesService.listAll(userCerPd);
|
||||
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();
|
||||
post.put("DEPARTMENT_ID", ZDEPARTMENT_ID);
|
||||
|
@ -432,6 +449,7 @@ public class UsersController extends BaseController {
|
|||
map.put("periodStr", shiftDutyPeriod.getString("DURATION") + ',' + shiftDutyPeriod.getString("WORKSTATUS") + ',' + shiftDutyPeriod.getString("WORKPERIOD"));
|
||||
map.put("licenseinfor", pd1);
|
||||
map.put("userCerList", userCerList);
|
||||
map.put("face_file", face_file);
|
||||
map.put("roleList", roleList);
|
||||
map.put("result", errInfo);
|
||||
return map;
|
||||
|
@ -518,24 +536,13 @@ public class UsersController extends BaseController {
|
|||
@RequestMapping(value = "/editUser")
|
||||
@RequiresPermissions("user:edit")
|
||||
@ResponseBody
|
||||
@SyncPlatformAdvice(type = SyncTypeEnum.PERSONNEL, isUpdate = true)
|
||||
public Object editUser() throws Exception {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
String errInfo = "success";
|
||||
PageData pd = new PageData();
|
||||
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") + "的资料"); //记录日志
|
||||
if (!Jurisdiction.getUsername().equals(pd.getString("USERNAME"))) { //如果当前登录用户修改用户资料提交的用户名非本人
|
||||
if ("admin".equals(pd.getString("USERNAME")) && !"admin".equals(Jurisdiction.getUsername())) {
|
||||
|
@ -547,9 +554,6 @@ public class UsersController extends BaseController {
|
|||
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
|
||||
}
|
||||
// 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 (pd.getString("ROLE_ID").contains(",")) {
|
||||
String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据
|
||||
|
@ -575,6 +579,9 @@ public class UsersController extends BaseController {
|
|||
if (Tools.notEmpty(pd.getString("CARDNO"))) {
|
||||
usersService.resetCardNo(pd);
|
||||
}
|
||||
//每次人员信息更改都要将人物状态置为未推送且不可查询,需推送后在进行使用
|
||||
pd.put("ISDELETE","1");
|
||||
pd.put("ISPUSH","0");
|
||||
usersService.editUser(pd); //执行修改
|
||||
if ("true".equals(pd.getString("ISSTUDENT"))) {
|
||||
pd.put("IS_ONLINELEARNING", "1");
|
||||
|
@ -610,6 +617,9 @@ public class UsersController extends BaseController {
|
|||
}
|
||||
userInfoService.delete(pd);
|
||||
userInfoService.save(pd);
|
||||
} else {
|
||||
userInfoService.delete(pd);
|
||||
userInfoService.save(pd);
|
||||
}
|
||||
if (null == licenseInforService.findById(pd)) {
|
||||
if (pd.getString("PERSON_TYPE") != null) {
|
||||
|
@ -627,16 +637,6 @@ public class UsersController extends BaseController {
|
|||
if (pd.getString("INFORWORKValue") != null || !(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 ("select".equals(pd.getString("letDutiesType"))) {
|
||||
PageData dicPd = new PageData();
|
||||
|
@ -777,8 +777,13 @@ 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("code","0");
|
||||
map.put("syncInfo", JSONUtil.toJsonStr(usersService.findById(pd)));
|
||||
return map;
|
||||
}
|
||||
|
||||
|
@ -788,6 +793,7 @@ public class UsersController extends BaseController {
|
|||
@RequestMapping(value = "/editUserFuns")
|
||||
@RequiresPermissions("user:edit")
|
||||
@ResponseBody
|
||||
@SyncPlatformAdvice(type = SyncTypeEnum.PERSONNEL, isUpdate = true)
|
||||
public Object editUserFuns() throws Exception {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
String errInfo = "success";
|
||||
|
@ -796,6 +802,8 @@ public class UsersController extends BaseController {
|
|||
FHLOG.save(Jurisdiction.getUsername(), "从系统用户中修改" + pd.getString("USERNAME") + "的小程序菜单权限"); //记录日志
|
||||
usersService.editUserFuns(pd); //执行修改
|
||||
map.put("result", errInfo);
|
||||
map.put("code", "0");
|
||||
map.put("syncInfo", JSONUtils.toJSONString(usersService.findById(pd)));
|
||||
return map;
|
||||
}
|
||||
|
||||
|
@ -804,6 +812,7 @@ public class UsersController extends BaseController {
|
|||
*/
|
||||
@RequestMapping(value = "/editUserOwn")
|
||||
@ResponseBody
|
||||
@SyncPlatformAdvice(type = SyncTypeEnum.PERSONNEL, isUpdate = true)
|
||||
public Object editUserOwn() throws Exception {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
String errInfo = "success";
|
||||
|
@ -825,6 +834,8 @@ public class UsersController extends BaseController {
|
|||
usersService.editUser(pd); //执行修改
|
||||
FHLOG.save(Jurisdiction.getUsername(), "从个人资料中修改" + pd.getString("USERNAME") + "的资料"); //记录日志
|
||||
map.put("result", errInfo);
|
||||
map.put("code", "0");
|
||||
map.put("syncInfo", JSONUtils.toJSONString(usersService.findById(pd)));
|
||||
return map;
|
||||
}
|
||||
|
||||
|
@ -897,8 +908,9 @@ public class UsersController extends BaseController {
|
|||
@RequestMapping(value = "/saveUser")
|
||||
@RequiresPermissions("user:add")
|
||||
@ResponseBody
|
||||
@SyncPlatformAdvice(type = SyncTypeEnum.PERSONNEL, isInsert = true)
|
||||
public Object saveUser() throws Exception {
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String errInfo = "success";
|
||||
PageData pd = new PageData();
|
||||
pd = this.getPageData();
|
||||
|
@ -908,107 +920,124 @@ public class UsersController extends BaseController {
|
|||
pd.put("IP", ""); //IP
|
||||
pd.put("STATUS", "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("PASSWORD", new SimpleHash("SHA-1", pd.getString("USERNAME"), pd.getString("PASSWORD")).toString()); //密码加密
|
||||
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
|
||||
if (null == usersService.findByUsername(pd)) { //判断用户名是否存在
|
||||
if (pd.getString("ROLE_ID").contains(",")) {
|
||||
String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据
|
||||
String roleIds = pd.getString("ROLE_ID").substring(roleId.length() + 1, pd.getString("ROLE_ID").length());//截取第一个,之后的数据
|
||||
pd.put("ROLE_ID", roleId);
|
||||
pd.put("ROLE_IDS", roleIds);
|
||||
}
|
||||
if ("true".equals(pd.getString("ISSTUDENT"))) {
|
||||
pd.put("IS_ONLINELEARNING", '1');
|
||||
}
|
||||
// todo
|
||||
// 定位卡号 规则 如果俩个人使用同一一个卡号,最后一个人会是这个卡号。保证一个卡号一个人用。(11.28)
|
||||
// 不同的公司,它定位卡的配置方案是不一样的,就你像九公司,九公司的卡是随机的。就他不是卡跟着人走,他就一天一变。 目前暂定这样
|
||||
if (Tools.notEmpty(pd.getString("CARDNO"))) {
|
||||
usersService.resetCardNo(pd);
|
||||
}else {
|
||||
pd.put("CARDNO",null);
|
||||
}
|
||||
usersService.saveUser(pd);
|
||||
//执行保存
|
||||
if ("true".equals(pd.getString("ISSTUDENT"))) {
|
||||
pd.put("IS_ONLINELEARNING", '1');
|
||||
if ("select".equals(pd.getString("letDutiesType"))) {
|
||||
pd.put("DUTIES", pd.getString("DUTIES"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "09e36ac01e9540f8bc84eab1c1a78754");
|
||||
dicPd.put("BIANMA", "zhiwu");
|
||||
dicPd.put("NAME", pd.getString("DUTIESValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("DUTIES", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("letTitleType"))) {
|
||||
pd.put("TITLE", pd.getString("TITLE"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "945a6b10e59946078b500f0fbafa8679");
|
||||
dicPd.put("BIANMA", "zhicheng");
|
||||
dicPd.put("NAME", pd.getString("letTitleValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("TITLE", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("letTypeOfWorkType"))) {
|
||||
pd.put("TYPE_OF_WORK", pd.getString("TYPE_OF_WORK"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "55484e491a5e442d839c4595380713ec");
|
||||
dicPd.put("BIANMA", "gongzhong");
|
||||
dicPd.put("NAME", pd.getString("letTypeOfWorkValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("TYPE_OF_WORK", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
userInfoService.save(pd);
|
||||
}
|
||||
String PERSON_TYPE = pd.getString("PERSONNEL_TYPE");
|
||||
if (pd.getString("PERSON_TYPE").equals("主要负责人") || pd.getString("PERSON_TYPE").equals("安全管理人员") || pd.getString("PERSON_TYPE").equals("特种作业人员")) {
|
||||
if ("select".equals(pd.getString("inforpostType"))) {
|
||||
pd.put("INFORPOST", pd.getString("INFORPOST"));
|
||||
} 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("INFORPOST", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("infortitleType"))) {
|
||||
pd.put("INFORTITLE", pd.getString("INFORTITLE"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "945a6b10e59946078b500f0fbafa8679");
|
||||
dicPd.put("BIANMA", "zhicheng");
|
||||
dicPd.put("NAME", pd.getString("INFORTITLEValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("INFORTITLE", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("inforworkType"))) {
|
||||
pd.put("INFORWORK", pd.getString("INFORWORK"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "55484e491a5e442d839c4595380713ec");
|
||||
dicPd.put("BIANMA", "gongzhong");
|
||||
dicPd.put("NAME", pd.getString("INFORWORKValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("INFORWORK", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
pd.put("INFOR_ID", this.get32UUID());
|
||||
pd.put("USER_ID", ID);
|
||||
licenseInforService.save(pd); //保存用户证照信息
|
||||
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 (pd.getString("ROLE_ID").contains(",")) {
|
||||
String roleId = pd.getString("ROLE_ID").substring(0, pd.getString("ROLE_ID").indexOf(","));//截取第一个,之前的数据
|
||||
String roleIds = pd.getString("ROLE_ID").substring(roleId.length() + 1, pd.getString("ROLE_ID").length());//截取第一个,之后的数据
|
||||
pd.put("ROLE_ID", roleId);
|
||||
pd.put("ROLE_IDS", roleIds);
|
||||
}
|
||||
if ("true".equals(pd.getString("ISSTUDENT"))) {
|
||||
pd.put("IS_ONLINELEARNING", '1');
|
||||
}
|
||||
// todo
|
||||
// 定位卡号 规则 如果俩个人使用同一一个卡号,最后一个人会是这个卡号。保证一个卡号一个人用。(11.28)
|
||||
// 不同的公司,它定位卡的配置方案是不一样的,就你像九公司,九公司的卡是随机的。就他不是卡跟着人走,他就一天一变。 目前暂定这样
|
||||
if (Tools.notEmpty(pd.getString("CARDNO"))) {
|
||||
usersService.resetCardNo(pd);
|
||||
}else {
|
||||
pd.put("CARDNO",null);
|
||||
}
|
||||
usersService.saveUser(pd);
|
||||
//执行保存
|
||||
if ("true".equals(pd.getString("ISSTUDENT"))) {
|
||||
pd.put("IS_ONLINELEARNING", '1');
|
||||
if ("select".equals(pd.getString("letDutiesType"))) {
|
||||
pd.put("DUTIES", pd.getString("DUTIES"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "09e36ac01e9540f8bc84eab1c1a78754");
|
||||
dicPd.put("BIANMA", "zhiwu");
|
||||
dicPd.put("NAME", pd.getString("DUTIESValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("DUTIES", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("letTitleType"))) {
|
||||
pd.put("TITLE", pd.getString("TITLE"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "945a6b10e59946078b500f0fbafa8679");
|
||||
dicPd.put("BIANMA", "zhicheng");
|
||||
dicPd.put("NAME", pd.getString("letTitleValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("TITLE", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("letTypeOfWorkType"))) {
|
||||
pd.put("TYPE_OF_WORK", pd.getString("TYPE_OF_WORK"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "55484e491a5e442d839c4595380713ec");
|
||||
dicPd.put("BIANMA", "gongzhong");
|
||||
dicPd.put("NAME", pd.getString("letTypeOfWorkValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("TYPE_OF_WORK", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
} else {
|
||||
userInfoService.save(pd);
|
||||
}
|
||||
String PERSON_TYPE = pd.getString("PERSONNEL_TYPE");
|
||||
if (pd.getString("PERSON_TYPE").equals("主要负责人") || pd.getString("PERSON_TYPE").equals("安全管理人员") || pd.getString("PERSON_TYPE").equals("特种作业人员")) {
|
||||
if ("select".equals(pd.getString("inforpostType"))) {
|
||||
pd.put("INFORPOST", pd.getString("INFORPOST"));
|
||||
} 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("INFORPOST", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("infortitleType"))) {
|
||||
pd.put("INFORTITLE", pd.getString("INFORTITLE"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "945a6b10e59946078b500f0fbafa8679");
|
||||
dicPd.put("BIANMA", "zhicheng");
|
||||
dicPd.put("NAME", pd.getString("INFORTITLEValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("INFORTITLE", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
if ("select".equals(pd.getString("inforworkType"))) {
|
||||
pd.put("INFORWORK", pd.getString("INFORWORK"));
|
||||
} else {
|
||||
PageData dicPd = new PageData();
|
||||
dicPd.put("PARENT_ID", "55484e491a5e442d839c4595380713ec");
|
||||
dicPd.put("BIANMA", "gongzhong");
|
||||
dicPd.put("NAME", pd.getString("INFORWORKValue"));
|
||||
dicPd = dictionariesCorpService.saveByZidongxinzeng(dicPd);
|
||||
pd.put("INFORWORK", dicPd.getString("DICTIONARIES_ID"));
|
||||
}
|
||||
pd.put("INFOR_ID", this.get32UUID());
|
||||
pd.put("USER_ID", ID);
|
||||
licenseInforService.save(pd); //保存用户证照信息
|
||||
}
|
||||
//封装调用参数
|
||||
|
||||
} else {
|
||||
map.put("result", "Error");
|
||||
map.put("msg", "用户名重复");
|
||||
return map;
|
||||
}
|
||||
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("code", "0");
|
||||
map.put("syncInfo", JSONUtils.toJSONString(userinfo));
|
||||
} else {
|
||||
map.put("result", "Error");
|
||||
map.put("msg", "用户名重复");
|
||||
return map;
|
||||
map.put("result", "您输入的身份证号和用户名二次校验失败,请确认后重新申请"); //返回结果
|
||||
}
|
||||
FHLOG.save(Jurisdiction.getUsername(), "新增用户:" + pd.getString("USERNAME")); //记录日志
|
||||
map.put("result", errInfo); //返回结果
|
||||
return map;
|
||||
}
|
||||
|
||||
|
@ -1025,113 +1054,128 @@ public class UsersController extends BaseController {
|
|||
PageData pd = new PageData();
|
||||
String errInfo = "success";
|
||||
pd = this.getPageData();
|
||||
FHLOG.save(Jurisdiction.getUsername(), "删除用户ID:" + pd.getString("USER_ID")); //记录日志
|
||||
usersService.deleteUser(pd); //删除用户
|
||||
ueditorService.delete(pd); //删除副文本关联数据
|
||||
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);
|
||||
}
|
||||
|
||||
List<PageData> listIds = listManagerService.listListByUser(pd);
|
||||
if (listIds != null && listIds.size() > 0) {
|
||||
for (PageData listPd : listIds) {
|
||||
PageData pd1 = new PageData();
|
||||
pd1.put("OPERATOR", Jurisdiction.getUsername()); //修改人
|
||||
pd1.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||||
pd1.put("LISTMANAGER_ID", listPd.get("LISTMANAGER_ID"));
|
||||
listManagerService.remove(pd1);
|
||||
pd1 = listManagerService.findById(pd1);
|
||||
if (pd1.get("TYPE") != null && Tools.notEmpty(pd1.get("TYPE").toString())) {
|
||||
if ("listType0005".equals(pd1.get("TYPE").toString())) {
|
||||
pd1.put("LISTSTATISTICS_ID", this.get32UUID()); //主键
|
||||
pd1.put("STARTTIME", pd1.get("START_DATE").toString() + " 00:00:00");
|
||||
pd1.put("ENDTIME", pd1.get("END_DATE").toString() + " 23:59:59");
|
||||
pd1.put("PERIOD", null);
|
||||
PageData statistics = listStatisticsService.findByCondition(pd1);
|
||||
if (statistics != null && statistics.get("LISTSTATISTICS_ID") != null) {
|
||||
statistics.put("NOTEXAMINEDNUM", Integer.parseInt(statistics.get("NOTEXAMINEDNUM").toString()) - 2);
|
||||
listStatisticsService.edit(statistics);
|
||||
}
|
||||
pd1.put("ISSTATISTICS", '0');
|
||||
// 本期已检查的不计入统计
|
||||
checkrecordService.editStatistics(pd1);
|
||||
} else {
|
||||
if (pd1.get("PERIOD") != null && Tools.notEmpty(pd1.get("PERIOD").toString())) {
|
||||
String period = pd1.get("PERIOD").toString();
|
||||
switch (period) {
|
||||
case "checkPeriod0001"://每日
|
||||
pd1.put("STARTTIME", DateUtil.getDay() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.getDay() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0002"://每周
|
||||
pd1.put("STARTTIME", DateUtil.getWeekStart());
|
||||
pd1.put("ENDTIME", DateUtil.getWeekEnd());
|
||||
break;
|
||||
|
||||
case "checkPeriod0003"://每旬
|
||||
String year = DateUtil.getYear().toString();
|
||||
String month = DateUtil.getMonth().toString();
|
||||
Integer day = Integer.parseInt(DateUtil.getOnlyDay().toString());
|
||||
String startTime = year + "-" + month + "-";
|
||||
String endTime = year + "-" + month + "-";
|
||||
if (day <= 10) {
|
||||
startTime = startTime + "01 00:00:00";
|
||||
endTime = endTime + "10 23:59:59";
|
||||
} else if (day > 10 && day <= 20) {
|
||||
startTime = startTime + "11 00:00:00";
|
||||
endTime = endTime + "20 23:59:59";
|
||||
} else {
|
||||
startTime = startTime + "21 00:00:00";
|
||||
endTime = DateUtil.getMonthEndDay() + " 23:59:59";
|
||||
}
|
||||
pd1.put("STARTTIME", startTime);
|
||||
pd1.put("ENDTIME", endTime);
|
||||
break;
|
||||
|
||||
case "checkPeriod0004"://每月
|
||||
pd1.put("STARTTIME", DateUtil.getMonthFirstDay() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.getMonthEndDay() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0005"://每季
|
||||
pd1.put("STARTTIME", DateUtil.quarterStart() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.quarterEnd() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0006"://每年
|
||||
pd1.put("STARTTIME", DateUtil.getCurrYearFirst() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.getCurrYearLast() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0007"://半年
|
||||
String byear = DateUtil.getYear().toString();
|
||||
Integer bmonth = Integer.parseInt(DateUtil.getMonth().toString());
|
||||
if (bmonth <= 6) {
|
||||
pd1.put("STARTTIME", byear + "-01-01 00:00:00");
|
||||
pd1.put("ENDTIME", byear + "-06-30 23:59:59");
|
||||
} else if (bmonth > 6) {
|
||||
pd1.put("STARTTIME", byear + "-07-01 00:00:00");
|
||||
pd1.put("ENDTIME", byear + "-12-31 23:59:59");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
if (pd.getString("ISPUSH").equals("0") || returnMap.get("result").equals("success")) {
|
||||
FHLOG.save(Jurisdiction.getUsername(), "删除用户ID:" + pd.getString("USER_ID")); //记录日志
|
||||
usersService.deleteUser(pd); //删除用户
|
||||
ueditorService.delete(pd); //删除副文本关联数据
|
||||
List<PageData> listIds = listManagerService.listListByUser(pd);
|
||||
if (listIds != null && listIds.size() > 0) {
|
||||
for (PageData listPd : listIds) {
|
||||
PageData pd1 = new PageData();
|
||||
pd1.put("OPERATOR", Jurisdiction.getUsername()); //修改人
|
||||
pd1.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
|
||||
pd1.put("LISTMANAGER_ID", listPd.get("LISTMANAGER_ID"));
|
||||
listManagerService.remove(pd1);
|
||||
pd1 = listManagerService.findById(pd1);
|
||||
if (pd1.get("TYPE") != null && Tools.notEmpty(pd1.get("TYPE").toString())) {
|
||||
if ("listType0005".equals(pd1.get("TYPE").toString())) {
|
||||
pd1.put("LISTSTATISTICS_ID", this.get32UUID()); //主键
|
||||
pd1.put("STARTTIME", pd1.get("START_DATE").toString() + " 00:00:00");
|
||||
pd1.put("ENDTIME", pd1.get("END_DATE").toString() + " 23:59:59");
|
||||
pd1.put("PERIOD", null);
|
||||
PageData statistics = listStatisticsService.findByCondition(pd1);
|
||||
if (statistics != null && statistics.get("LISTSTATISTICS_ID") != null) {
|
||||
statistics.put("NOTEXAMINEDNUM", Integer.parseInt(statistics.get("NOTEXAMINEDNUM").toString()) - 2);
|
||||
listStatisticsService.edit(statistics);
|
||||
}
|
||||
}
|
||||
PageData statistics = listStatisticsService.findByCondition(pd1);
|
||||
if (statistics != null && statistics.get("LISTSTATISTICS_ID") != null) {
|
||||
statistics.put("NOTEXAMINEDNUM", Integer.parseInt(statistics.get("NOTEXAMINEDNUM").toString()) - 1);
|
||||
listStatisticsService.edit(statistics);
|
||||
}
|
||||
pd1.put("ISSTATISTICS", '0');
|
||||
// 本期已检查的不计入统计
|
||||
checkrecordService.editStatistics(pd1);
|
||||
} else {
|
||||
if (pd1.get("PERIOD") != null && Tools.notEmpty(pd1.get("PERIOD").toString())) {
|
||||
String period = pd1.get("PERIOD").toString();
|
||||
switch (period) {
|
||||
case "checkPeriod0001"://每日
|
||||
pd1.put("STARTTIME", DateUtil.getDay() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.getDay() + " 23:59:59");
|
||||
break;
|
||||
|
||||
pd1.put("ISSTATISTICS", '0');
|
||||
// 本期已检查的不计入统计
|
||||
checkrecordService.editStatistics(pd1);
|
||||
case "checkPeriod0002"://每周
|
||||
pd1.put("STARTTIME", DateUtil.getWeekStart());
|
||||
pd1.put("ENDTIME", DateUtil.getWeekEnd());
|
||||
break;
|
||||
|
||||
case "checkPeriod0003"://每旬
|
||||
String year = DateUtil.getYear().toString();
|
||||
String month = DateUtil.getMonth().toString();
|
||||
Integer day = Integer.parseInt(DateUtil.getOnlyDay().toString());
|
||||
String startTime = year + "-" + month + "-";
|
||||
String endTime = year + "-" + month + "-";
|
||||
if (day <= 10) {
|
||||
startTime = startTime + "01 00:00:00";
|
||||
endTime = endTime + "10 23:59:59";
|
||||
} else if (day > 10 && day <= 20) {
|
||||
startTime = startTime + "11 00:00:00";
|
||||
endTime = endTime + "20 23:59:59";
|
||||
} else {
|
||||
startTime = startTime + "21 00:00:00";
|
||||
endTime = DateUtil.getMonthEndDay() + " 23:59:59";
|
||||
}
|
||||
pd1.put("STARTTIME", startTime);
|
||||
pd1.put("ENDTIME", endTime);
|
||||
break;
|
||||
|
||||
case "checkPeriod0004"://每月
|
||||
pd1.put("STARTTIME", DateUtil.getMonthFirstDay() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.getMonthEndDay() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0005"://每季
|
||||
pd1.put("STARTTIME", DateUtil.quarterStart() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.quarterEnd() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0006"://每年
|
||||
pd1.put("STARTTIME", DateUtil.getCurrYearFirst() + " 00:00:00");
|
||||
pd1.put("ENDTIME", DateUtil.getCurrYearLast() + " 23:59:59");
|
||||
break;
|
||||
|
||||
case "checkPeriod0007"://半年
|
||||
String byear = DateUtil.getYear().toString();
|
||||
Integer bmonth = Integer.parseInt(DateUtil.getMonth().toString());
|
||||
if (bmonth <= 6) {
|
||||
pd1.put("STARTTIME", byear + "-01-01 00:00:00");
|
||||
pd1.put("ENDTIME", byear + "-06-30 23:59:59");
|
||||
} else if (bmonth > 6) {
|
||||
pd1.put("STARTTIME", byear + "-07-01 00:00:00");
|
||||
pd1.put("ENDTIME", byear + "-12-31 23:59:59");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
PageData statistics = listStatisticsService.findByCondition(pd1);
|
||||
if (statistics != null && statistics.get("LISTSTATISTICS_ID") != null) {
|
||||
statistics.put("NOTEXAMINEDNUM", Integer.parseInt(statistics.get("NOTEXAMINEDNUM").toString()) - 1);
|
||||
listStatisticsService.edit(statistics);
|
||||
}
|
||||
|
||||
pd1.put("ISSTATISTICS", '0');
|
||||
// 本期已检查的不计入统计
|
||||
checkrecordService.editStatistics(pd1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
map.put("result", errInfo); //返回结果
|
||||
} else {
|
||||
map.put("result", "error"); //返回结果
|
||||
}
|
||||
|
||||
map.put("result", errInfo); //返回结果
|
||||
return map;
|
||||
}
|
||||
|
||||
|
@ -2429,4 +2473,120 @@ public class UsersController extends BaseController {
|
|||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ public class TenCorpDto {
|
|||
private String producer_name = "qa-prevention-cfd";
|
||||
private String topic;
|
||||
//印记(方便寻找该条请求)
|
||||
// 中台根据这个区分同步的消息类型(人员同步/隐患同步/安检同步等)
|
||||
private String mark;
|
||||
// 标记名称
|
||||
private String mark_name;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.zcloud.mapper.datasource.mq;
|
||||
|
||||
import com.zcloud.entity.PageData;
|
||||
|
||||
/**
|
||||
* 说明:mq消费信息错误日志表
|
||||
* 作者:LLX
|
||||
* 时间:2024-01-10
|
||||
* 官网:www.zcloudchina.com
|
||||
*/
|
||||
public interface MqConsumptionErrorLogMapper {
|
||||
|
||||
/**
|
||||
* add
|
||||
* @param pd
|
||||
*/
|
||||
void save(PageData pd);
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.zcloud.mapper.datasource.mq;
|
||||
|
||||
import com.zcloud.entity.PageData;
|
||||
|
||||
/**
|
||||
* 说明:mq消费信息日志表
|
||||
* 作者:LLX
|
||||
* 时间:2024-01-08
|
||||
* 官网:www.zcloudchina.com
|
||||
*/
|
||||
public interface MqConsumptionLogMapper {
|
||||
|
||||
/**
|
||||
* add
|
||||
* @param pd
|
||||
*/
|
||||
void save(PageData pd);
|
||||
}
|
|
@ -313,4 +313,6 @@ public interface UsersMapper {
|
|||
List<PageData> listUserByDepId(PageData pd);
|
||||
|
||||
List<PageData> getDepartmentIds(@Param("departmentIds") String[] departmentIds);
|
||||
|
||||
void editPushStatus(PageData pd);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.service.mq.impl;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.zcloud.dto.TenCorpDto;
|
||||
import com.zcloud.entity.PageData;
|
||||
|
@ -33,6 +34,10 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
|
|||
private String cmtDataDocking;
|
||||
@Value("${mq.czks.data.topic}")
|
||||
private String czksDataDocking;
|
||||
|
||||
@Value("${mq.producer.dataChange.slice-data-change.topic}")
|
||||
private String sliceDataChangeTopic;
|
||||
|
||||
@Resource
|
||||
private RocketMQTemplate rocketMQTemplate;
|
||||
|
||||
|
@ -72,6 +77,12 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
|
|||
if (tenCorpDto.getTopic().equals(csyDataDocking)) {
|
||||
sendResult = rocketMQTemplate.syncSend(this.csyDataDocking, tenCorpDto.toString());
|
||||
}
|
||||
|
||||
// 中台同步
|
||||
if (tenCorpDto.getTopic().equals(sliceDataChangeTopic)){
|
||||
sendResult = rocketMQTemplate.syncSend(this.sliceDataChangeTopic, JSONUtil.toJsonStr(tenCorpDto));
|
||||
}
|
||||
|
||||
if (sendResult != null && !sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
|
||||
throw new RuntimeException("产品入栈失败");
|
||||
}
|
||||
|
|
|
@ -364,4 +364,6 @@ public interface UsersService {
|
|||
List<PageData> listUserByDepId(PageData pd) throws Exception;
|
||||
|
||||
List<PageData> getDepartmentIds(String[] departmentIds) throws Exception;
|
||||
|
||||
public void editPushStatus(PageData pd)throws Exception;
|
||||
}
|
||||
|
|
|
@ -501,4 +501,12 @@ public class UsersServiceImpl implements UsersService {
|
|||
public List<PageData> getDepartmentIds(String[] departmentIds) throws Exception {
|
||||
return usersMapper.getDepartmentIds(departmentIds);
|
||||
}
|
||||
|
||||
/**修改用户
|
||||
* @param pd
|
||||
* @throws Exception
|
||||
*/
|
||||
public void editPushStatus(PageData pd)throws Exception{
|
||||
usersMapper.editPushStatus(pd);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.zcloud.service.xgf;
|
|||
import com.zcloud.entity.Page;
|
||||
import com.zcloud.entity.PageData;
|
||||
import com.zcloud.flow.xgf.util.XgfFlowDto;
|
||||
import org.springframework.dao.EmptyResultDataAccessException;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -46,4 +45,6 @@ public interface XgfUserService {
|
|||
List<PageData> getWorkTask(PageData condition) throws Exception;
|
||||
|
||||
void syncPhoto(PageData request) throws Exception;
|
||||
|
||||
void edit4Mq(PageData syncInfo);
|
||||
}
|
||||
|
|
|
@ -1204,4 +1204,29 @@ public class XgfUserServiceImpl implements XgfUserService {
|
|||
return "0";
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void edit4Mq(PageData syncInfo) {
|
||||
// 相关方推送更新
|
||||
syncInfo.put("XGF_USER_ID",syncInfo.getString("USER_ID"));
|
||||
PageData localData = xgfUserMapper.findById(syncInfo);
|
||||
|
||||
if (localData != null && !localData.isEmpty()){
|
||||
syncInfo.put("STUDY_STATUS", syncInfo.getString("STATUS"));
|
||||
syncInfo.put("STATUS", "");
|
||||
syncInfo.put("BELONG_TO_CORP", syncInfo.getString("EMPLOYER"));
|
||||
syncInfo.put("BELONG_TO_CORP_NAME", syncInfo.getString("EMPLOYER_NAME"));
|
||||
syncInfo.put("XGF_USER_NAME", syncInfo.getString("NAME"));
|
||||
|
||||
xgfUserMapper.edit(syncInfo);
|
||||
|
||||
// details
|
||||
syncInfo.put("XGF_USER_DETAILS_ID",localData.getString("XGF_USER_ID"));
|
||||
PageData localDetailsData = xgfUserDetailsMapper.findById(syncInfo);
|
||||
if (localDetailsData != null && !localDetailsData.isEmpty()){
|
||||
xgfUserDetailsMapper.edit(syncInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
package com.zcloud.syncData;
|
||||
|
||||
import com.zcloud.dto.TenCorpDto;
|
||||
import com.zcloud.entity.PageData;
|
||||
import com.zcloud.service.mq.DockSendMessageService;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 说明:同步切面
|
||||
* 使用次切面的方法需使用@SyncPlatformAdvice注解,返回类型为Map或其子类
|
||||
* map中需要包含code字段,用于标识该方法的执行结果:"0"成功,其他失败
|
||||
* map中需要包含syncInfo字段,用于传递该方法的需要同步的参数,以JSON格式传递
|
||||
* :@SyncPlatformAdvice 注解中的 type 参数为必填项,表示同步的数据类型
|
||||
* 类型可参考SyncTypeEnum类
|
||||
* 作者:water_xu
|
||||
* 官网:www.zcloudchina.com
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
public class SyncDataAdviceAspect {
|
||||
|
||||
@Pointcut(value = "@annotation(com.zcloud.syncData.SyncPlatformAdvice)")
|
||||
public void syncPointCut() {}
|
||||
|
||||
@Autowired
|
||||
private DockSendMessageService dockSendMessageService;
|
||||
|
||||
@Value("${mq.producer.dataChange.slice-data-change.topic}")
|
||||
private String sliceDataChangeTopic;
|
||||
|
||||
@Around("syncPointCut()")
|
||||
public Object around(ProceedingJoinPoint point) throws Throwable {
|
||||
|
||||
// 执行目标方法
|
||||
Object result = null;
|
||||
try {
|
||||
result = point.proceed();
|
||||
}catch (Exception e){
|
||||
System.out.println("==========中台同步切面执行目标方法异常==========");
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (result instanceof Map) {
|
||||
Map resultMap = (Map) result;
|
||||
if ("0".equals(resultMap.get("code")) || "0".equals(resultMap.get("CODE"))) {
|
||||
MethodSignature signature = (MethodSignature) point.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
if (method.isAnnotationPresent(SyncPlatformAdvice.class)) {
|
||||
SyncPlatformAdvice syncPlatformAdvice = method.getAnnotation(SyncPlatformAdvice.class);
|
||||
|
||||
// 处理数据
|
||||
TenCorpDto message = new TenCorpDto();
|
||||
PageData pd = new PageData();
|
||||
resultMap.put("EXCEPT_SOURCE","qy");
|
||||
if (resultMap.get("syncInfo") == null || "".equals(resultMap.get("syncInfo"))){
|
||||
System.out.println("!!!----------使用同步切面需要返回的map中包含syncInfo字段-----------!!!");
|
||||
System.out.println("!!!-------------syncInfo为需要同步的数据 以JSON传递--------------!!!");
|
||||
System.out.println("!!!----------使用同步切面需要返回的map中包含syncInfo字段-----------!!!");
|
||||
return null;
|
||||
}
|
||||
pd.putAll(resultMap);
|
||||
message.setData(pd);
|
||||
message.setMessage("qy");
|
||||
message.setMark(syncPlatformAdvice.type().getDescription());
|
||||
message.setProducer_name("qy");
|
||||
message.setTopic(sliceDataChangeTopic);
|
||||
|
||||
// 判断同步类型
|
||||
if (syncPlatformAdvice.type().equals(SyncTypeEnum.HIDDEN)){
|
||||
// 同步隐患
|
||||
}
|
||||
if (syncPlatformAdvice.type().equals(SyncTypeEnum.PERSONNEL)){
|
||||
// 同步人员
|
||||
dockSendMessageService.sendMessage(message);
|
||||
}
|
||||
if (syncPlatformAdvice.type().equals(SyncTypeEnum.SAFETY_ENVIRONMENTAL_CHECK)){
|
||||
// 同步安全环保检查
|
||||
}
|
||||
if (syncPlatformAdvice.type().equals(SyncTypeEnum.KEY_PROJECT)){
|
||||
// 同步重点工程
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
if (resultMap.get("code") == null || "".equals(resultMap.get("code"))){
|
||||
System.out.println("!!!----------使用同步切面需要返回的map中包含code字段-----------!!!");
|
||||
System.out.println("!!!------------------code为\"0\"成功 其他失败------------------!!!");
|
||||
System.out.println("!!!----------使用同步切面需要返回的map中包含code字段-----------!!!");
|
||||
}else{
|
||||
// 方法内执行失败,返回给调用端失败信息
|
||||
throw new RuntimeException(resultMap.get("code") + " ==> " + resultMap.get("msg").toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.zcloud.syncData;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 用户同步通知注解,在方法体上加入此注解会进行AOP解析,并以MQ通知给消费者
|
||||
* @author :water_xu
|
||||
* @date :2024.8.6
|
||||
*/
|
||||
@Target(ElementType.METHOD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface SyncPlatformAdvice {
|
||||
// 没啥用
|
||||
String value() default "";
|
||||
// 数据类型标记 (必须)
|
||||
SyncTypeEnum type();
|
||||
// 是否更新
|
||||
boolean isUpdate() default false;
|
||||
// 是否插入
|
||||
boolean isInsert() default false;
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package com.zcloud.syncData;
|
||||
|
||||
/**
|
||||
* 用于向中台同步的切面枚举,区分同步的类型
|
||||
* @autor water_xu
|
||||
* @date 2024.8.8
|
||||
*/
|
||||
public enum SyncTypeEnum {
|
||||
PERSONNEL("人员"),
|
||||
HIDDEN("隐患"),
|
||||
SAFETY_ENVIRONMENTAL_CHECK("安全环保检查"),
|
||||
KEY_PROJECT("重点工程");
|
||||
|
||||
private final String description;
|
||||
|
||||
SyncTypeEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据给定的字符串描述判断是否为枚举中的一个类型。
|
||||
*
|
||||
* @param description 描述字符串
|
||||
* @return 如果匹配则返回 true,否则返回 false
|
||||
*/
|
||||
public static boolean matches(String description) {
|
||||
for (SyncTypeEnum type : values()) {
|
||||
if (type.getDescription().equals(description)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,118 @@
|
|||
package com.zcloud.syncData.listener;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.zcloud.dto.TenCorpDto;
|
||||
import com.zcloud.entity.PageData;
|
||||
import com.zcloud.mapper.datasource.mq.MqConsumptionErrorLogMapper;
|
||||
import com.zcloud.mapper.datasource.mq.MqConsumptionLogMapper;
|
||||
import com.zcloud.service.system.UsersService;
|
||||
import com.zcloud.service.xgf.XgfUserService;
|
||||
import com.zcloud.syncData.SyncTypeEnum;
|
||||
import com.zcloud.util.DateUtil;
|
||||
import com.zcloud.util.StackTraceUtils;
|
||||
import com.zcloud.util.UuidUtil;
|
||||
import com.zcloud.util.Warden;
|
||||
import org.apache.rocketmq.spring.annotation.MessageModel;
|
||||
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
|
||||
import org.apache.rocketmq.spring.annotation.SelectorType;
|
||||
import org.apache.rocketmq.spring.core.RocketMQListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Component
|
||||
@RocketMQMessageListener(
|
||||
consumerGroup = "${mq.consumer.dataChange.tongbu-data-change.group}",
|
||||
topic = "${mq.consumer.dataChange.tongbu-data-change.topic}",
|
||||
selectorType = SelectorType.TAG,
|
||||
messageModel = MessageModel.BROADCASTING) // 添加广播模式
|
||||
public class SyncDataListener implements RocketMQListener<String> {
|
||||
|
||||
@Autowired
|
||||
private MqConsumptionLogMapper mqConsumptionLogMapper;
|
||||
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
|
||||
@Autowired
|
||||
private XgfUserService xgfUserService;
|
||||
|
||||
@Autowired
|
||||
private static MqConsumptionErrorLogMapper mqConsumptionErrorLogMapper;
|
||||
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
//获取消息
|
||||
TenCorpDto tenCorpDto = JSON.parseObject(message, TenCorpDto.class);
|
||||
|
||||
PageData productionPD = new PageData();
|
||||
productionPD.put("CONSUMPTION_ID", Warden.get32UUID());
|
||||
productionPD.put("MESSAGE_LOG_ID",tenCorpDto.getMessageLogId());
|
||||
productionPD.put("CONSUMPTION_TYPE","gwj-MqQyDataListener.onMessage(String message)");
|
||||
productionPD.put("CONSUMPTION_TIME", DateUtil.getTime());
|
||||
productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME() == null ? "" : tenCorpDto.getCREATE_TIME());
|
||||
productionPD.put("MARK", tenCorpDto.getMark() == null ? "" : tenCorpDto.getMark());
|
||||
productionPD.put("DATA", tenCorpDto.getData()== null ? "" : tenCorpDto.getData().toString());
|
||||
//从消息中获取参数数据
|
||||
PageData pd = tenCorpDto.getData();
|
||||
// save:
|
||||
pd.put("SUCCESS",0);
|
||||
pd.put("CONSUMPTION_ID", UuidUtil.get32UUID());
|
||||
pd.putAll(tenCorpDto.getPd());
|
||||
pd.put("CONSUMPTION_TIME", DateUtil.date2Str(new Date()));
|
||||
pd.put("CONSUMPTION_TYPE","MqQyDataListener");
|
||||
if ("qy".equals(tenCorpDto.getMessage())){
|
||||
// 在本端发的同步消息,不需要再次同步该数据
|
||||
return;
|
||||
}
|
||||
try {
|
||||
//拿到原路径
|
||||
String url = pd.getString("url");
|
||||
System.out.println(url + pd);
|
||||
|
||||
// 人员
|
||||
if (SyncTypeEnum.PERSONNEL.getDescription().equals(tenCorpDto.getMark())){
|
||||
System.out.println("people");
|
||||
String str = tenCorpDto.getData().getString("syncInfo");
|
||||
PageData syncInfo = JSONUtil.toBean(str, PageData.class);
|
||||
if ("xgf".equals(tenCorpDto.getMessage())){
|
||||
// 相关方推送
|
||||
xgfUserService.edit4Mq(syncInfo);
|
||||
}
|
||||
PageData localData = usersService.findById(syncInfo);
|
||||
if (localData != null && !localData.isEmpty()){
|
||||
usersService.editUser(syncInfo);
|
||||
} else {
|
||||
// 2024.8.9 按郭跃鹏提出:后期各公司从企业端分离后,需要其他公司的用户进行SQL联查,要求新增一张core_user的同步表,用于记录中台的所有用户数据
|
||||
}
|
||||
|
||||
}
|
||||
// 隐患
|
||||
if (SyncTypeEnum.HIDDEN.getDescription().equals(tenCorpDto.getMark())){
|
||||
|
||||
}
|
||||
// 安全环保检查
|
||||
if (SyncTypeEnum.SAFETY_ENVIRONMENTAL_CHECK.getDescription().equals(tenCorpDto.getMark())){
|
||||
|
||||
}
|
||||
// 重点工程
|
||||
if (SyncTypeEnum.KEY_PROJECT.getDescription().equals(tenCorpDto.getMark())){
|
||||
|
||||
}
|
||||
|
||||
mqConsumptionLogMapper.save(productionPD);
|
||||
mqConsumptionLogMapper.save(pd);
|
||||
} catch (Exception e) {
|
||||
productionPD.put("SUCCESS",'0');
|
||||
productionPD.put("ERROR_MESSAGE", StackTraceUtils.printStackTraceToString(e));
|
||||
mqConsumptionErrorLogMapper.save(productionPD);
|
||||
pd.put("ERROR_MESSAGE",e.getMessage());
|
||||
mqConsumptionLogMapper.save(pd);
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package com.zcloud.util;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
|
||||
public class StackTraceUtils {
|
||||
public static String printStackTraceToString(Throwable t) {
|
||||
StringWriter sw = new StringWriter();
|
||||
t.printStackTrace(new PrintWriter(sw, true));
|
||||
return sw.getBuffer().toString();
|
||||
}
|
||||
}
|
|
@ -42,6 +42,16 @@ public class Tools {
|
|||
return s!=null && !"".equals(s) && !"null".equals(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测字符串是否不为空(null,"","null")
|
||||
* @param s
|
||||
* @return 不为空则返回true,否则返回false
|
||||
*/
|
||||
public static boolean notEmpty(Object s){
|
||||
return s!=null && !"".equals(s) && !"null".equals(s);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 检测字符串是否为空(null,"","null")
|
||||
* @param s
|
||||
|
|
|
@ -106,6 +106,7 @@ perLoc.url=http://192.168.210.32:8084
|
|||
perLoc.userName=qaaqadmin
|
||||
perLoc.pwd=Cfd2023@
|
||||
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.group=scheduled_tasks_csy_docking
|
||||
|
@ -142,3 +143,11 @@ gongJiangXueYuanProdUrl=https://gjxy.bjttsx.com
|
|||
#gongJiangXueYuanGetImgUrl=https://skqhdg.porthebei.com:9004/file/
|
||||
# \u7ED9\u5DE5\u5320\u5B66\u9662\u63A8\u9001\u4EBA\u5458\u6570\u636E\u65F6\u7684\u56FE\u7247\u9644\u4EF6\u524D\u7F00 \uFF08\u6D4B\u8BD5\u516C\u7F51\uFF09
|
||||
gongJiangXueYuanGetImgUrl=https://wwag.qhdsafety.com/file/
|
||||
|
||||
# \u4E2D\u53F0
|
||||
# \u6D88\u8D39\u4E2D\u53F0\u901A\u77E5
|
||||
mq.consumer.dataChange.tongbu-data-change.topic=tongbu_dataChange_docking
|
||||
mq.consumer.dataChange.tongbu-data-change.group=tongbu_dataChange_group
|
||||
|
||||
# \u672C\u5730\u6570\u636E\u4FEE\u6539\u540E\u5411\u8FD9\u4E2Atopic\u63A8\u9001\uFF08\u6240\u6709\u7C7B\u578B\u540C\u6B65\u6570\u636E\u516C\u7528\uFF09
|
||||
mq.producer.dataChange.slice-data-change.topic=slice_dataChange_docking
|
|
@ -129,3 +129,11 @@ gongJiangXueYuanGetImgUrl=https://skqhdg.porthebei.com:9004/file/
|
|||
# \u7ED9\u5DE5\u5320\u5B66\u9662\u63A8\u9001\u4EBA\u5458\u6570\u636E\u65F6\u7684\u56FE\u7247\u9644\u4EF6\u524D\u7F00 \uFF08\u6D4B\u8BD5\u516C\u7F51\uFF09
|
||||
#gongJiangXueYuanGetImgUrl=https://wwag.qhdsafety.com/file/
|
||||
|
||||
# \u4E2D\u53F0
|
||||
# \u6D88\u8D39\u4E2D\u53F0\u901A\u77E5
|
||||
mq.consumer.dataChange.tongbu-data-change.topic=tongbu_dataChange_docking
|
||||
mq.consumer.dataChange.tongbu-data-change.group=tongbu_dataChange_group
|
||||
|
||||
# \u672C\u5730\u6570\u636E\u4FEE\u6539\u540E\u5411\u8FD9\u4E2Atopic\u63A8\u9001\uFF08\u6240\u6709\u7C7B\u578B\u540C\u6B65\u6570\u636E\u516C\u7528\uFF09
|
||||
mq.producer.dataChange.slice-data-change.topic=slice_dataChange_docking
|
||||
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zcloud.mapper.datasource.mq.MqConsumptionErrorLogMapper">
|
||||
<sql id="tableName">
|
||||
`qa-gwj-prevention`.`mq_consumption_error_log`
|
||||
</sql>
|
||||
<sql id="Field2">
|
||||
CONSUMPTION_ID,
|
||||
MARK,
|
||||
DATA,
|
||||
MESSAGE_LOG_ID,
|
||||
SUCCESS,
|
||||
CREATE_TIME,
|
||||
CONSUMPTION_TIME,
|
||||
CONSUMPTION_TYPE,
|
||||
ERROR_MESSAGE,
|
||||
URL
|
||||
</sql>
|
||||
<sql id="FieldValue">
|
||||
#{CONSUMPTION_ID},
|
||||
#{MARK},
|
||||
#{DATA},
|
||||
#{MESSAGE_LOG_ID},
|
||||
#{SUCCESS},
|
||||
#{CREATE_TIME},
|
||||
#{CONSUMPTION_TIME},
|
||||
#{CONSUMPTION_TYPE},
|
||||
#{ERROR_MESSAGE},
|
||||
#{URL}
|
||||
</sql>
|
||||
<insert id="save" parameterType="pd">
|
||||
insert into
|
||||
<include refid="tableName"></include>
|
||||
(
|
||||
<include refid="Field2"></include>
|
||||
) values (
|
||||
<include refid="FieldValue"></include>
|
||||
)
|
||||
</insert>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zcloud.mapper.datasource.mq.MqConsumptionLogMapper">
|
||||
<sql id="tableName">
|
||||
`qa-gwj-prevention`.`mq_consumption_log`
|
||||
</sql>
|
||||
<sql id="Field2">
|
||||
CONSUMPTION_ID,
|
||||
MARK,
|
||||
DATA,
|
||||
MESSAGE_LOG_ID,
|
||||
SUCCESS,
|
||||
CREATE_TIME,
|
||||
CONSUMPTION_TIME,
|
||||
CONSUMPTION_TYPE,
|
||||
ERROR_MESSAGE,
|
||||
URL
|
||||
</sql>
|
||||
<sql id="FieldValue">
|
||||
#{CONSUMPTION_ID},
|
||||
#{MARK},
|
||||
#{DATA},
|
||||
#{MESSAGE_LOG_ID},
|
||||
#{SUCCESS},
|
||||
#{CREATE_TIME},
|
||||
#{CONSUMPTION_TIME},
|
||||
#{CONSUMPTION_TYPE},
|
||||
#{ERROR_MESSAGE},
|
||||
#{URL}
|
||||
</sql>
|
||||
<insert id="save" parameterType="pd">
|
||||
insert into
|
||||
<include refid="tableName"></include>
|
||||
(
|
||||
<include refid="Field2"></include>
|
||||
) values (
|
||||
<include refid="FieldValue"></include>
|
||||
)
|
||||
</insert>
|
||||
|
||||
</mapper>
|
|
@ -92,7 +92,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
CORPINFO_ID,
|
||||
CARDNO,
|
||||
MKMJCARD,
|
||||
ISDELETE
|
||||
ISDELETE,
|
||||
ISPUSH
|
||||
</sql>
|
||||
<!-- 字段 -->
|
||||
<sql id="Fieldf">
|
||||
|
@ -133,7 +134,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
f.CORPINFO_ID,
|
||||
f.CARDNO,
|
||||
f.MKMJCARD,
|
||||
f.ISDELETE
|
||||
f.ISDELETE,
|
||||
f.ISPUSH
|
||||
</sql>
|
||||
<!-- 字段值 -->
|
||||
<sql id="FieldValue">
|
||||
|
@ -171,7 +173,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
#{CORPINFO_ID},
|
||||
#{CARDNO},
|
||||
#{MKMJCARD},
|
||||
#{ISDELETE}
|
||||
#{ISDELETE},
|
||||
#{ISPUSH}
|
||||
</sql>
|
||||
|
||||
<!-- 用户列表(全部) -->
|
||||
|
@ -257,9 +260,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<include refid="tableName"></include> f
|
||||
LEFT JOIN OA_DEPARTMENT dept on f.DEPARTMENT_ID = dept.DEPARTMENT_ID
|
||||
where
|
||||
f.USERNAME = #{USERNAME} and f.ISDELETE='0'
|
||||
USERNAME = #{USERNAME} and ISDELETE='0'
|
||||
<if test="VERIFYUSER_ID != null and VERIFYUSER_ID != ''">
|
||||
and f.USER_ID != #{VERIFYUSER_ID}
|
||||
and USER_ID != #{VERIFYUSER_ID}
|
||||
</if>
|
||||
</select>
|
||||
<select id="findByName" parameterType="pd" resultType="pd" >
|
||||
|
@ -280,11 +283,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
post.NAME as postName,
|
||||
dicRer.NAME as personnelTypeName,
|
||||
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
|
||||
<include refid="tableName"></include>f
|
||||
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 dicna on dicna.DICTIONARIES_ID = info.NATION
|
||||
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_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_ONLINELEARNING = #{IS_ONLINELEARNING},
|
||||
PHONE = #{PHONE}
|
||||
<if test="ISPUSH != null and ISPUSH != ''">
|
||||
,ISPUSH = #{ISPUSH}
|
||||
</if>
|
||||
<if test="CARDNO != null and CARDNO != ''">
|
||||
,CARDNO = #{CARDNO}
|
||||
</if>
|
||||
|
@ -405,6 +425,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="SHIFTDUTYONE != null and SHIFTDUTYONE != ''">
|
||||
,SHIFTDUTYONE = #{SHIFTDUTYONE}
|
||||
</if>
|
||||
<if test="ISDELETE != null and ISDELETE != ''">
|
||||
,ISDELETE = #{ISDELETE}
|
||||
</if>
|
||||
<if test="SHIFTDUTYTWO != null and SHIFTDUTYTWO != ''">
|
||||
,SHIFTDUTYTWO = #{SHIFTDUTYTWO}
|
||||
</if>
|
||||
|
@ -464,20 +487,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select u.USER_ID,
|
||||
u.USERNAME,
|
||||
u.PASSWORD,
|
||||
u.LAST_LOGIN,
|
||||
u.NAME,
|
||||
u.LAST_LOGIN,
|
||||
u.IP,
|
||||
u.STATUS,
|
||||
u.BZ,
|
||||
u.SKIN,
|
||||
u.EMAIL,
|
||||
u.NUMBER,
|
||||
u.PHONE,
|
||||
u.ROLE_IDS,
|
||||
u.DEPARTMENT_ID,
|
||||
u.CORPINFO_ID,
|
||||
u.FUN_IDS,
|
||||
u.APPID,
|
||||
u.POST_ID,
|
||||
u.ISMAIN,
|
||||
u.PERSON_TYPE,
|
||||
u.ERROR_COUNT,
|
||||
u.SORT,
|
||||
u.LEARNERCATEGORY,
|
||||
u.USERAVATARPREFIX,
|
||||
u.USERAVATARURL,
|
||||
u.SHIFTDUTYONE,
|
||||
u.SHIFTDUTYTWO,
|
||||
u.DURATION,
|
||||
u.WORKSTATUS,
|
||||
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_NAME,
|
||||
o.NAME as PID_NAME,
|
||||
|
@ -487,7 +551,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
sw.NAME SHIFTDUTYONENAME,
|
||||
swr.NAME SHIFTDUTYTWONAME,
|
||||
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 != ''"> <!--档案列表 -->
|
||||
,(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
|
||||
|
@ -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 OA_DEPARTMENT d on d.DEPARTMENT_ID=u.DEPARTMENT_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 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 swr on swr.SHIFTWORKRULES_ID = u.SHIFTDUTYTWO
|
||||
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'
|
||||
<!-- Refer to 赵煜:这个一般的时候是没有这个参数的 目前不需要动 用and可以 -->
|
||||
<if test="pd.ISPUSH==null and pd.ISPUSH==''"> <!-- 查询未推送成功的数据 -->
|
||||
and u.ISDELETE = '0'
|
||||
</if>
|
||||
<!-- and r.PARENT_ID = '1' -->
|
||||
<if test="pd.KEYWORDS!= null and pd.KEYWORDS != ''">
|
||||
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 ">
|
||||
and info.IS_CHARGE = #{pd.IS_CHARGE}
|
||||
</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" or u.ISPUSH is null)
|
||||
AND (u.ISDELETE != "1" or u.ISPUSH = "0" )
|
||||
</if>
|
||||
</if>
|
||||
<if test="pd.IS_HAZARDCONFIRMER != null and pd.IS_HAZARDCONFIRMER != ''"><!-- 关键词检索 -->
|
||||
AND
|
||||
u.IS_HAZARDCONFIRMER =#{pd.IS_HAZARDCONFIRMER}
|
||||
|
@ -1439,8 +1527,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
p.NAME as POST_NAME
|
||||
from
|
||||
`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`sys_post p on p.POST_ID = u.POST_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
|
||||
where
|
||||
u.CARDNO = #{CARDNO}
|
||||
</select>
|
||||
|
@ -1465,4 +1553,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 修改 -->
|
||||
<update id="editPushStatus" parameterType="pd">
|
||||
update
|
||||
<include refid="tableName"></include>
|
||||
set
|
||||
ISPUSH = #{ISPUSH},
|
||||
ISDELETE = #{ISDELETE}
|
||||
where
|
||||
USER_ID = #{USER_ID}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
|
@ -218,65 +218,182 @@
|
|||
<update id="edit" parameterType="pd">
|
||||
update
|
||||
<include refid="tableName"></include>
|
||||
set
|
||||
XGF_USER_DETAILS_ID = #{XGF_USER_DETAILS_ID},
|
||||
XGF_USER_ID = #{XGF_USER_ID},
|
||||
XGF_USER_NAME = #{XGF_USER_NAME},
|
||||
BELONG_TO_CORP = #{BELONG_TO_CORP},
|
||||
BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME},
|
||||
PHONE = #{PHONE},
|
||||
CREATE_TIME = #{CREATE_TIME},
|
||||
DEPART_STATE = #{DEPART_STATE},
|
||||
IS_DELETE = #{IS_DELETE},
|
||||
AGE = #{AGE},
|
||||
HKLOCAL = #{HKLOCAL},
|
||||
ADDRESS = #{ADDRESS},
|
||||
DEGREE_OF_EDUCATION = #{DEGREE_OF_EDUCATION},
|
||||
DEGREE_OF_EDUCATION_NAME = #{DEGREE_OF_EDUCATION_NAME},
|
||||
CORP_START_DATE = #{CORP_START_DATE},
|
||||
POST_ID = #{POST_ID},
|
||||
POST_NAME = #{POST_NAME},
|
||||
WORK_SIGN = #{WORK_SIGN},
|
||||
JOINED_DATE = #{JOINED_DATE},
|
||||
WORK_DATE = #{WORK_DATE},
|
||||
PHOTO = #{PHOTO},
|
||||
DATE_OF_BIRTH = #{DATE_OF_BIRTH},
|
||||
ISPAY = #{ISPAY},
|
||||
ISPAY_NUMBER = #{ISPAY_NUMBER},
|
||||
IS_SAFETY_TELL = #{IS_SAFETY_TELL},
|
||||
IS_SAFETY_TIME = #{IS_SAFETY_TIME},
|
||||
IS_INJURIES_PAY = #{IS_INJURIES_PAY},
|
||||
IS_SIGN_LABOR = #{IS_SIGN_LABOR},
|
||||
SEX = #{SEX},
|
||||
ENTRY_DATE = #{ENTRY_DATE},
|
||||
PERSON_WORK_TYPE = #{PERSON_WORK_TYPE},
|
||||
PERSON_WORK_TYPE_NAME = #{PERSON_WORK_TYPE_NAME},
|
||||
NATIONALITY = #{NATIONALITY},
|
||||
NATIONALITY_NAME = #{NATIONALITY_NAME},
|
||||
POLITICAL_TIME = #{POLITICAL_TIME},
|
||||
POLITICAL_STATUS = #{POLITICAL_STATUS},
|
||||
POLITICAL_STATUS_NAME = #{POLITICAL_STATUS_NAME},
|
||||
IS_INJURIES_PAY_TIME = #{IS_INJURIES_PAY_TIME},
|
||||
IS_LEVEL_THREE = #{IS_LEVEL_THREE},
|
||||
IS_BODY_ADAPT = #{IS_BODY_ADAPT},
|
||||
IS_SPECIAL_JOB = #{IS_SPECIAL_JOB},
|
||||
CORPINFO_ID = #{CORPINFO_ID},
|
||||
MANAGER_DEPARTMENT_ID = #{MANAGER_DEPARTMENT_ID},
|
||||
MANAGER_DEPARTMENT_NAME = #{MANAGER_DEPARTMENT_NAME},
|
||||
COMPETENT_DEPARTMENT_ID = #{COMPETENT_DEPARTMENT_ID},
|
||||
COMPETENT_DEPARTMENT_NAME = #{COMPETENT_DEPARTMENT_NAME},
|
||||
MAIN_DEPARTMENT_ID = #{MAIN_DEPARTMENT_ID},
|
||||
MAIN_DEPARTMENT_NAME = #{MAIN_DEPARTMENT_NAME},
|
||||
CARD_ID = #{CARD_ID},
|
||||
DEPARTMENT_ID = #{DEPARTMENT_ID},
|
||||
DEPARTMENT_NAME = #{DEPARTMENT_NAME},
|
||||
IS_BF = #{IS_BF},
|
||||
IS_SOCIAL = #{IS_SOCIAL},
|
||||
SOCIAL_NUMBER = #{SOCIAL_NUMBER},
|
||||
zzName = #{zzName},
|
||||
ANNEX = #{ANNEX},
|
||||
ATTORNEY = #{ATTORNEY},
|
||||
COMMITMENT_LETTER = #{COMMITMENT_LETTER}
|
||||
<set>
|
||||
<if test="XGF_USER_DETAILS_ID != null and XGF_USER_DETAILS_ID != ''">
|
||||
XGF_USER_DETAILS_ID = #{XGF_USER_DETAILS_ID},
|
||||
</if>
|
||||
<if test="XGF_USER_ID != null and XGF_USER_ID != ''">
|
||||
XGF_USER_ID = #{XGF_USER_ID},
|
||||
</if>
|
||||
<if test="XGF_USER_NAME != null and XGF_USER_NAME != ''">
|
||||
XGF_USER_NAME = #{XGF_USER_NAME},
|
||||
</if>
|
||||
<if test="BELONG_TO_CORP != null and BELONG_TO_CORP != ''">
|
||||
BELONG_TO_CORP = #{BELONG_TO_CORP},
|
||||
</if>
|
||||
<if test="BELONG_TO_CORP_NAME != null and BELONG_TO_CORP_NAME != ''">
|
||||
BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME},
|
||||
</if>
|
||||
<if test="PHONE != null and PHONE != ''">
|
||||
PHONE = #{PHONE},
|
||||
</if>
|
||||
<if test="CREATE_TIME != null and CREATE_TIME != ''">
|
||||
CREATE_TIME = #{CREATE_TIME},
|
||||
</if>
|
||||
<if test="DEPART_STATE != null and DEPART_STATE != ''">
|
||||
DEPART_STATE = #{DEPART_STATE},
|
||||
</if>
|
||||
<if test="IS_DELETE != null and IS_DELETE != ''">
|
||||
IS_DELETE = #{IS_DELETE},
|
||||
</if>
|
||||
<if test="AGE != null and AGE != ''">
|
||||
AGE = #{AGE},
|
||||
</if>
|
||||
<if test="HKLOCAL != null and HKLOCAL != ''">
|
||||
HKLOCAL = #{HKLOCAL},
|
||||
</if>
|
||||
<if test="ADDRESS != null and ADDRESS != ''">
|
||||
ADDRESS = #{ADDRESS},
|
||||
</if>
|
||||
<if test="DEGREE_OF_EDUCATION != null and DEGREE_OF_EDUCATION != ''">
|
||||
DEGREE_OF_EDUCATION = #{DEGREE_OF_EDUCATION},
|
||||
</if>
|
||||
<if test="DEGREE_OF_EDUCATION_NAME != null and DEGREE_OF_EDUCATION_NAME != ''">
|
||||
DEGREE_OF_EDUCATION_NAME = #{DEGREE_OF_EDUCATION_NAME},
|
||||
</if>
|
||||
<if test="CORP_START_DATE != null and CORP_START_DATE != ''">
|
||||
CORP_START_DATE = #{CORP_START_DATE},
|
||||
</if>
|
||||
<if test="POST_ID != null and POST_ID != ''">
|
||||
POST_ID = #{POST_ID},
|
||||
</if>
|
||||
<if test="POST_NAME != null and POST_NAME != ''">
|
||||
POST_NAME = #{POST_NAME},
|
||||
</if>
|
||||
<if test="WORK_SIGN != null and WORK_SIGN != ''">
|
||||
WORK_SIGN = #{WORK_SIGN},
|
||||
</if>
|
||||
<if test="JOINED_DATE != null and JOINED_DATE != ''">
|
||||
JOINED_DATE = #{JOINED_DATE},
|
||||
</if>
|
||||
<if test="WORK_DATE != null and WORK_DATE != ''">
|
||||
WORK_DATE = #{WORK_DATE},
|
||||
</if>
|
||||
<if test="PHOTO != null and PHOTO != ''">
|
||||
PHOTO = #{PHOTO},
|
||||
</if>
|
||||
<if test="DATE_OF_BIRTH != null and DATE_OF_BIRTH != ''">
|
||||
DATE_OF_BIRTH = #{DATE_OF_BIRTH},
|
||||
</if>
|
||||
<if test="ISPAY != null and ISPAY != ''">
|
||||
ISPAY = #{ISPAY},
|
||||
</if>
|
||||
<if test="ISPAY_NUMBER != null and ISPAY_NUMBER != ''">
|
||||
ISPAY_NUMBER = #{ISPAY_NUMBER},
|
||||
</if>
|
||||
<if test="IS_SAFETY_TELL != null and IS_SAFETY_TELL != ''">
|
||||
IS_SAFETY_TELL = #{IS_SAFETY_TELL},
|
||||
</if>
|
||||
<if test="IS_SAFETY_TIME != null and IS_SAFETY_TIME != ''">
|
||||
IS_SAFETY_TIME = #{IS_SAFETY_TIME},
|
||||
</if>
|
||||
<if test="IS_INJURIES_PAY != null and IS_INJURIES_PAY != ''">
|
||||
IS_INJURIES_PAY = #{IS_INJURIES_PAY},
|
||||
</if>
|
||||
<if test="IS_SIGN_LABOR != null and IS_SIGN_LABOR != ''">
|
||||
IS_SIGN_LABOR = #{IS_SIGN_LABOR},
|
||||
</if>
|
||||
<if test="SEX != null and SEX != ''">
|
||||
SEX = #{SEX},
|
||||
</if>
|
||||
<if test="ENTRY_DATE != null and ENTRY_DATE != ''">
|
||||
ENTRY_DATE = #{ENTRY_DATE},
|
||||
</if>
|
||||
<if test="PERSON_WORK_TYPE != null and PERSON_WORK_TYPE != ''">
|
||||
PERSON_WORK_TYPE = #{PERSON_WORK_TYPE},
|
||||
</if>
|
||||
<if test="PERSON_WORK_TYPE_NAME != null and PERSON_WORK_TYPE_NAME != ''">
|
||||
PERSON_WORK_TYPE_NAME = #{PERSON_WORK_TYPE_NAME},
|
||||
</if>
|
||||
<if test="NATIONALITY != null and NATIONALITY != ''">
|
||||
NATIONALITY = #{NATIONALITY},
|
||||
</if>
|
||||
<if test="NATIONALITY_NAME != null and NATIONALITY_NAME != ''">
|
||||
NATIONALITY_NAME = #{NATIONALITY_NAME},
|
||||
</if>
|
||||
<if test="POLITICAL_TIME != null and POLITICAL_TIME != ''">
|
||||
POLITICAL_TIME = #{POLITICAL_TIME},
|
||||
</if>
|
||||
<if test="POLITICAL_STATUS != null and POLITICAL_STATUS != ''">
|
||||
POLITICAL_STATUS = #{POLITICAL_STATUS},
|
||||
</if>
|
||||
<if test="POLITICAL_STATUS_NAME != null and POLITICAL_STATUS_NAME != ''">
|
||||
POLITICAL_STATUS_NAME = #{POLITICAL_STATUS_NAME},
|
||||
</if>
|
||||
<if test="IS_INJURIES_PAY_TIME != null and IS_INJURIES_PAY_TIME != ''">
|
||||
IS_INJURIES_PAY_TIME = #{IS_INJURIES_PAY_TIME},
|
||||
</if>
|
||||
<if test="IS_LEVEL_THREE != null and IS_LEVEL_THREE != ''">
|
||||
IS_LEVEL_THREE = #{IS_LEVEL_THREE},
|
||||
</if>
|
||||
<if test="IS_BODY_ADAPT != null and IS_BODY_ADAPT != ''">
|
||||
IS_BODY_ADAPT = #{IS_BODY_ADAPT},
|
||||
</if>
|
||||
<if test="IS_SPECIAL_JOB != null and IS_SPECIAL_JOB != ''">
|
||||
IS_SPECIAL_JOB = #{IS_SPECIAL_JOB},
|
||||
</if>
|
||||
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
||||
CORPINFO_ID = #{CORPINFO_ID},
|
||||
</if>
|
||||
<if test="MANAGER_DEPARTMENT_ID != null and MANAGER_DEPARTMENT_ID != ''">
|
||||
MANAGER_DEPARTMENT_ID = #{MANAGER_DEPARTMENT_ID},
|
||||
</if>
|
||||
<if test="MANAGER_DEPARTMENT_NAME != null and MANAGER_DEPARTMENT_NAME != ''">
|
||||
MANAGER_DEPARTMENT_NAME = #{MANAGER_DEPARTMENT_NAME},
|
||||
</if>
|
||||
<if test="COMPETENT_DEPARTMENT_ID != null and COMPETENT_DEPARTMENT_ID != ''">
|
||||
COMPETENT_DEPARTMENT_ID = #{COMPETENT_DEPARTMENT_ID},
|
||||
</if>
|
||||
<if test="COMPETENT_DEPARTMENT_NAME != null and COMPETENT_DEPARTMENT_NAME != ''">
|
||||
COMPETENT_DEPARTMENT_NAME = #{COMPETENT_DEPARTMENT_NAME},
|
||||
</if>
|
||||
<if test="MAIN_DEPARTMENT_ID != null and MAIN_DEPARTMENT_ID != ''">
|
||||
MAIN_DEPARTMENT_ID = #{MAIN_DEPARTMENT_ID},
|
||||
</if>
|
||||
<if test="MAIN_DEPARTMENT_NAME != null and MAIN_DEPARTMENT_NAME != ''">
|
||||
MAIN_DEPARTMENT_NAME = #{MAIN_DEPARTMENT_NAME},
|
||||
</if>
|
||||
<if test="CARD_ID != null and CARD_ID != ''">
|
||||
CARD_ID = #{CARD_ID},
|
||||
</if>
|
||||
<if test="DEPARTMENT_ID != null and DEPARTMENT_ID != ''">
|
||||
DEPARTMENT_ID = #{DEPARTMENT_ID},
|
||||
</if>
|
||||
<if test="DEPARTMENT_NAME != null and DEPARTMENT_NAME != ''">
|
||||
DEPARTMENT_NAME = #{DEPARTMENT_NAME},
|
||||
</if>
|
||||
<if test="IS_BF != null and IS_BF != ''">
|
||||
IS_BF = #{IS_BF},
|
||||
</if>
|
||||
<if test="IS_SOCIAL != null and IS_SOCIAL != ''">
|
||||
IS_SOCIAL = #{IS_SOCIAL},
|
||||
</if>
|
||||
<if test="SOCIAL_NUMBER != null and SOCIAL_NUMBER != ''">
|
||||
SOCIAL_NUMBER = #{SOCIAL_NUMBER},
|
||||
</if>
|
||||
<if test="zzName != null and zzName != ''">
|
||||
zzName = #{zzName},
|
||||
</if>
|
||||
<if test="ANNEX != null and ANNEX != ''">
|
||||
ANNEX = #{ANNEX},
|
||||
</if>
|
||||
<if test="ATTORNEY != null and ATTORNEY != ''">
|
||||
ATTORNEY = #{ATTORNEY},
|
||||
</if>
|
||||
<if test="COMMITMENT_LETTER != null and COMMITMENT_LETTER != ''">
|
||||
COMMITMENT_LETTER = #{COMMITMENT_LETTER}
|
||||
</if>
|
||||
</set>
|
||||
where
|
||||
XGF_USER_DETAILS_ID = #{XGF_USER_DETAILS_ID}
|
||||
</update>
|
||||
|
|
|
@ -92,22 +92,53 @@
|
|||
<update id="edit" parameterType="pd">
|
||||
update
|
||||
<include refid="tableName"></include>
|
||||
set
|
||||
USERNAME = #{USERNAME},
|
||||
NAME = #{NAME},
|
||||
VALID_FLAG = #{VALID_FLAG},
|
||||
BELONG_TO_CORP = #{BELONG_TO_CORP},
|
||||
BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME},
|
||||
IS_DELETE = #{IS_DELETE},
|
||||
CREATE_TIME = #{CREATE_TIME},
|
||||
CORPINFO_ID = #{CORPINFO_ID},
|
||||
STATUS = #{STATUS},
|
||||
OPERATOR_TIME = #{OPERATOR_TIME},
|
||||
ISFLOW = #{ISFLOW},
|
||||
STUDY_STATUS = #{STUDY_STATUS},
|
||||
CHECK_STATUS = #{CHECK_STATUS},
|
||||
CHECK_STEP = #{CHECK_STEP},
|
||||
LIMIT_END_TIME = #{LIMIT_END_TIME}
|
||||
<set>
|
||||
<if test="USERNAME != null and USERNAME != ''">
|
||||
USERNAME = #{USERNAME},
|
||||
</if>
|
||||
<if test="NAME != null and NAME != ''">
|
||||
NAME = #{NAME},
|
||||
</if>
|
||||
<if test="VALID_FLAG != null and VALID_FLAG != ''">
|
||||
VALID_FLAG = #{VALID_FLAG},
|
||||
</if>
|
||||
<if test="BELONG_TO_CORP != null and BELONG_TO_CORP != ''">
|
||||
BELONG_TO_CORP = #{BELONG_TO_CORP},
|
||||
</if>
|
||||
<if test="BELONG_TO_CORP_NAME != null and BELONG_TO_CORP_NAME != ''">
|
||||
BELONG_TO_CORP_NAME = #{BELONG_TO_CORP_NAME},
|
||||
</if>
|
||||
<if test="IS_DELETE != null and IS_DELETE != ''">
|
||||
IS_DELETE = #{IS_DELETE},
|
||||
</if>
|
||||
<if test="CREATE_TIME != null and CREATE_TIME != ''">
|
||||
CREATE_TIME = #{CREATE_TIME},
|
||||
</if>
|
||||
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
||||
CORPINFO_ID = #{CORPINFO_ID},
|
||||
</if>
|
||||
<if test="STATUS != null and STATUS != ''">
|
||||
STATUS = #{STATUS},
|
||||
</if>
|
||||
<if test="OPERATOR_TIME != null and OPERATOR_TIME != ''">
|
||||
OPERATOR_TIME = #{OPERATOR_TIME},
|
||||
</if>
|
||||
<if test="ISFLOW != null and ISFLOW != ''">
|
||||
ISFLOW = #{ISFLOW},
|
||||
</if>
|
||||
<if test="STUDY_STATUS != null and STUDY_STATUS != ''">
|
||||
STUDY_STATUS = #{STUDY_STATUS},
|
||||
</if>
|
||||
<if test="CHECK_STATUS != null and CHECK_STATUS != ''">
|
||||
CHECK_STATUS = #{CHECK_STATUS},
|
||||
</if>
|
||||
<if test="CHECK_STEP != null and CHECK_STEP != ''">
|
||||
CHECK_STEP = #{CHECK_STEP},
|
||||
</if>
|
||||
<if test="LIMIT_END_TIME != null and LIMIT_END_TIME != ''">
|
||||
LIMIT_END_TIME = #{LIMIT_END_TIME}
|
||||
</if>
|
||||
</set>
|
||||
where
|
||||
XGF_USER_ID = #{XGF_USER_ID}
|
||||
</update>
|
||||
|
@ -359,6 +390,12 @@
|
|||
<if test="pd.CHECK_STEP != null and pd.CHECK_STEP != ''">
|
||||
and a.CHECK_STEP = #{pd.CHECK_STEP}
|
||||
</if>
|
||||
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
||||
and (
|
||||
a.USERNAME like CONCAT('%', #{pd.KEYWORDS}, '%')
|
||||
or a.NAME like CONCAT('%', #{pd.KEYWORDS}, '%')
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
<select id="getWorkTask" resultType="com.zcloud.entity.PageData">
|
||||
select a.XGF_USER_ID,
|
||||
|
|
Loading…
Reference in New Issue