人力信息同步

master
zhaoxiaolin 12 months ago
parent 55a3c6c017
commit b9df5a579f

@ -25,6 +25,6 @@ public interface RemoteOpenService {
public AjaxResult GetOaNodeInfo(@PathVariable("requestid") String requestId); public AjaxResult GetOaNodeInfo(@PathVariable("requestid") String requestId);
/**获取HR人员信息**/ /**获取HR人员信息**/
@GetMapping("/openInterface/GetHrUserInfo") @GetMapping("/openInterface/GetHrUserInfo/{dateTime}")
public AjaxResult GetHrUserInfo(@PathVariable("dateTime") String dateTime); public AjaxResult GetHrUserInfo(@PathVariable("dateTime") String dateTime);
} }

@ -57,4 +57,8 @@ public interface RemoteUserService {
*/ */
@PostMapping("/user/getPoolNameList") @PostMapping("/user/getPoolNameList")
public R<List<Map<String, String>>> getPoolNameList(@RequestBody SysUser user); public R<List<Map<String, String>>> getPoolNameList(@RequestBody SysUser user);
/**hr 人力基础数据数据-人员基本信息**/
@PostMapping("/user/syncUserInfoTask")
public R syncUserInfoTask();
} }

@ -0,0 +1,254 @@
package com.op.system.api.domain.quality;
import com.op.common.core.web.domain.BaseEntity;
import com.op.common.core.xss.Xss;
import com.op.system.api.domain.SysDept;
import com.op.system.api.domain.SysRole;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;
/**
* hr
*
* @author Open Platform
* @date 2023-10-31
*/
public class HRInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 用户ID */
private Long userId;
/** 部门ID */
private Long deptId;
/** 用户账号 */
private String userName;
private String userCode;
/** 用户昵称 */
private String nickName;
/** 用户邮箱 */
private String email;
/** 手机号码 */
private String phonenumber;
/** 用户性别 */
private String sex;
/** 用户头像 */
private String avatar;
/** 密码 */
private String password;
/** 帐号状态0正常 1停用 */
private String status;
/** 删除标志0代表存在 2代表删除 */
private String delFlag;
/** 最后登录IP */
private String loginIp;
/** 最后登录时间 */
private Date loginDate;
/** 部门对象 */
private SysDept dept;
/** 角色对象 */
private List<SysRole> roles;
/** 角色组 */
private Long[] roleIds;
/** 岗位组 */
private Long[] postIds;
/** 角色ID */
private Long roleId;
private String datasourceId;
public String getDatasourceId() {
return datasourceId;
}
public void setDatasourceId(String datasourceId) {
this.datasourceId = datasourceId;
}
//新增 微信账号
private String wxId;
public String getWxId() {
return wxId;
}
public void setWxId(String wxId) {
this.wxId = wxId;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public boolean isAdmin() {
return isAdmin(this.userId);
}
public static boolean isAdmin(Long userId) {
return userId != null && 1L == userId;
}
public Long getDeptId() {
return deptId;
}
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhonenumber() {
return phonenumber;
}
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getLoginIp() {
return loginIp;
}
public void setLoginIp(String loginIp) {
this.loginIp = loginIp;
}
public Date getLoginDate() {
return loginDate;
}
public void setLoginDate(Date loginDate) {
this.loginDate = loginDate;
}
public SysDept getDept() {
return dept;
}
public void setDept(SysDept dept) {
this.dept = dept;
}
public List<SysRole> getRoles() {
return roles;
}
public void setRoles(List<SysRole> roles) {
this.roles = roles;
}
public Long[] getRoleIds() {
return roleIds;
}
public void setRoleIds(Long[] roleIds) {
this.roleIds = roleIds;
}
public Long[] getPostIds() {
return postIds;
}
public void setPostIds(Long[] postIds) {
this.postIds = postIds;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("userId", getUserId())
.append("deptId", getDeptId()).append("userName", getUserName()).append("nickName", getNickName())
.append("email", getEmail()).append("phonenumber", getPhonenumber()).append("sex", getSex())
.append("avatar", getAvatar()).append("password", getPassword()).append("status", getStatus())
.append("delFlag", getDelFlag()).append("loginIp", getLoginIp()).append("loginDate", getLoginDate())
.append("createBy", getCreateBy()).append("createTime", getCreateTime())
.append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("remark", getRemark())
.append("dept", getDept()).toString();
}
}

@ -46,6 +46,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
public R<List<Map<String, String>>> getPoolNameList(SysUser user) { public R<List<Map<String, String>>> getPoolNameList(SysUser user) {
return R.fail("工厂数据源获取失败:" + throwable.getMessage()); return R.fail("工厂数据源获取失败:" + throwable.getMessage());
} }
@Override
public R syncUserInfoTask() {
return R.fail("hr人力资源基础数据-人员信息同步失败:"+throwable.getMessage());
}
}; };
} }
} }

@ -35,6 +35,9 @@ public class RyTask {
@Autowired @Autowired
private RemoteQualityService remoteQualityService; private RemoteQualityService remoteQualityService;
@Autowired
private RemoteUserService remoteUserService;
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
} }
@ -158,4 +161,13 @@ public class RyTask {
remoteQualityService.createProduceXJTask(); remoteQualityService.createProduceXJTask();
} }
/************质量管理系统定时任务结束*****************/ /************质量管理系统定时任务结束*****************/
/************hr 人力基础数据定时任务开始*****************/
//人力基本数据同步每天
public void syncUserInfoTask(){
logger.info("++hr人力基础数据同步+开始++syncUserInfoTask+++++");
remoteUserService.syncUserInfoTask();
}
/************hr 人力基础数据定时任务结束*****************/
} }

@ -49,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectMesPrepareList" parameterType="com.op.mes.domain.MesPrepare" resultType="com.op.mes.domain.MesPrepare"> <select id="selectMesPrepareList" parameterType="com.op.mes.domain.MesPrepare" resultType="com.op.mes.domain.MesPrepare">
select select
ms.workorder_name workorderCodeSap, ms.workorder_name workorderCodeSap,
ms.status,
ow.workorder_code workorderCode, ow.workorder_code workorderCode,
ow.product_code productCode, ow.product_code productCode,
ow.product_name productName, ow.product_name productName,

@ -154,8 +154,8 @@ public class OpenController extends BaseController {
* @param dateTime * @param dateTime
* @return * @return
*/ */
@GetMapping("/GetHrUserInfo") @GetMapping("/GetHrUserInfo/{dateTime}")
public AjaxResult GetHrUserInfo(@RequestParam("dateTime") String dateTime) { public AjaxResult GetHrUserInfo(@PathVariable("dateTime") String dateTime) {
return openService.GetHrUserInfo(dateTime); return openService.GetHrUserInfo(dateTime);
} }

@ -75,8 +75,8 @@ public class OpenServiceImpl implements OpenService {
@Value("${OA.getnodeInfo}") @Value("${OA.getnodeInfo}")
private String getnodeInfo; private String getnodeInfo;
@Value("${HR.url}") @Value("${HR.url_user}")
private String hr_url; private String url_user;
@Autowired @Autowired
private OpenMapper openMapper; private OpenMapper openMapper;
@ -466,7 +466,7 @@ public class OpenServiceImpl implements OpenService {
try { try {
StringBuilder postDataBuilder = new StringBuilder(); StringBuilder postDataBuilder = new StringBuilder();
postDataBuilder.append("createTime=").append("dateTime"); postDataBuilder.append("createTime=").append("dateTime");
String result = HttpUtils.sendPost(hr_url,postDataBuilder.toString()); String result = HttpUtils.sendPost(url_user,postDataBuilder.toString());
return success(result); return success(result);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();

@ -102,6 +102,7 @@ public class ProOrder extends TreeEntity {
private String atrr1; private String atrr1;
/** 订单版本*/ /** 订单版本*/
@Excel(name = "订单版本")
private String atrr2; private String atrr2;
/** $column.columnComment */ /** $column.columnComment */

@ -353,16 +353,16 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
//获取领料单 //获取领料单
this.getMesPrepare(returnCodes,wcodes); this.getMesPrepare(returnCodes,wcodes);
// //关闭母子订单//订单的订单编码(关闭订单暂时隐藏) //关闭母子订单//订单的订单编码(关闭订单暂时隐藏)
// SapCloseOrderQuery sapCloseOrderQuery = new SapCloseOrderQuery(); SapCloseOrderQuery sapCloseOrderQuery = new SapCloseOrderQuery();
// sapCloseOrderQuery.setLeadOrder(ordercodes.get(0)); sapCloseOrderQuery.setLeadOrder(ordercodes.get(0));
// sapCloseOrderQuery.setOrder(ordercodes.get(1)); sapCloseOrderQuery.setOrder(ordercodes.get(1));
// R closeR= remoteSapService.sapCloseOrder(sapCloseOrderQuery); R closeR= remoteSapService.sapCloseOrder(sapCloseOrderQuery);
// logger.info(whiteOrder.getWorkorderCode()+"下发工单后关闭母订单"+sapCloseOrderQuery.getLeadOrder()+":"+ logger.info(whiteOrder.getWorkorderCode()+"下发工单后关闭母订单"+sapCloseOrderQuery.getLeadOrder()+":"+
// sapCloseOrderQuery.getOrder()+":"+ sapCloseOrderQuery.getOrder()+":"+
// closeR.getCode()+","+ closeR.getCode()+","+
// closeR.getMsg()+","+ closeR.getMsg()+","+
// closeR.getData()); closeR.getData());
//下达工单 //下达工单
String[] idsArrayAll = (String[])wids.toArray(new String[wids.size()]); String[] idsArrayAll = (String[])wids.toArray(new String[wids.size()]);
proOrderWorkorderMapper.downWorkorders(idsArrayAll); proOrderWorkorderMapper.downWorkorders(idsArrayAll);

@ -107,8 +107,10 @@ public class QcCheckTaskWarehousingController extends BaseController {
int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing); int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing);
if(r>0){ if(r>0){
return toAjax(r); return toAjax(r);
} }
return error("添加失败:请检查物料的关联检测项"); return error("添加失败:请检查物料的关联检测项");
} }
@PostMapping("/createProductTask") @PostMapping("/createProductTask")
@ -117,6 +119,7 @@ public class QcCheckTaskWarehousingController extends BaseController {
BeanUtils.copyProperties(qcCheckTaskWarehousingDTO,qcCheckTaskIncome); BeanUtils.copyProperties(qcCheckTaskWarehousingDTO,qcCheckTaskIncome);
int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskIncome); int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskIncome);
if(r>0){ if(r>0){
return toAjax(r); return toAjax(r);
} }
return error("添加失败:请检查物料的关联检测项"); return error("添加失败:请检查物料的关联检测项");

@ -299,7 +299,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
mainObject.append("{"); mainObject.append("{");
mainObject.append("\"CPMC\":"+detailInfo.getMaterialName());//产品名称 mainObject.append("\"CPMC\":"+detailInfo.getMaterialName());//产品名称
mainObject.append(",\"CPBM\":"+detailInfo.getMaterialCode());//产品编码 mainObject.append(",\"CPBM\":"+detailInfo.getMaterialCode());//产品编码
//mainObject.append(",\"SQBM\":"+"\"0\"");//0品质保障部 mainObject.append(",\"SQBM\":"+"\"0\"");//0品质保障部
mainObject.append(",\"SQR\":"+"\""+SecurityUtils.getUsername()+"\"");//申请人:默认当前用户 mainObject.append(",\"SQR\":"+"\""+SecurityUtils.getUsername()+"\"");//申请人:默认当前用户
mainObject.append(",\"SQSJ\":"+"\""+detailInfo.getSupplierCode()+"\"");//申请时间 mainObject.append(",\"SQSJ\":"+"\""+detailInfo.getSupplierCode()+"\"");//申请时间
mainObject.append(",\"SCCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间 mainObject.append(",\"SCCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间
@ -311,8 +311,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
mainObject.append(",\"YCFW\":"+"\"1\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂 mainObject.append(",\"YCFW\":"+"\"1\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂
mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述 mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述
mainObject.append(",\"Notes\":"+"\"\"");//测试备注 mainObject.append(",\"Notes\":"+"\"\"");//测试备注
mainObject.append(",\"SFXYZG\":"+"\"1\"");//*是否需要主管审核 1否 0是 mainObject.append(",\"SFXYZG\":"+"\"0\"");//*是否需要主管审核 1否 0是
mainObject.append(",\"SFXYZG\":"+"\"1\"");//*是否需要主管审核 1否 0是
mainObject.append(",\"PGZG\":"+"\""+detailInfo.getRemark()+"\"");//QC主管SFXYZG字段为"是",则此项选择QC主管信息 mainObject.append(",\"PGZG\":"+"\""+detailInfo.getRemark()+"\"");//QC主管SFXYZG字段为"是",则此项选择QC主管信息
mainObject.append(",\"PGZR\":"+"\"660\"");//质量主管 660朱继新 mainObject.append(",\"PGZR\":"+"\"660\"");//质量主管 660朱继新
mainObject.append(",\"SFGYSWT\":"+"\"1\"");//*是否供应商问题 1非供应商问题 0是供应商问题 mainObject.append(",\"SFGYSWT\":"+"\"1\"");//*是否供应商问题 1非供应商问题 0是供应商问题

@ -12,6 +12,8 @@ import javax.servlet.http.HttpServletResponse;
import com.op.system.domain.SysMenu; import com.op.system.domain.SysMenu;
import com.op.system.mapper.SysMenuMapper; import com.op.system.mapper.SysMenuMapper;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -57,6 +59,7 @@ import com.op.system.service.ISysUserService;
@RestController @RestController
@RequestMapping("/user") @RequestMapping("/user")
public class SysUserController extends BaseController { public class SysUserController extends BaseController {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
private ISysUserService userService; private ISysUserService userService;
@ -359,4 +362,10 @@ public class SysUserController extends BaseController {
return R.ok(userService.getPoolNameList(user)); return R.ok(userService.getPoolNameList(user));
} }
/**更新人员基本信息**/
@PostMapping("/syncUserInfoTask")
public R syncUserInfoTask() {
return R.ok(userService.syncUserInfoTask());
}
} }

@ -1,8 +1,10 @@
package com.op.system.mapper; package com.op.system.mapper;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.op.system.api.domain.quality.HRInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.op.system.api.domain.SysUser; import com.op.system.api.domain.SysUser;
@ -127,4 +129,12 @@ public interface SysUserMapper {
public SysUser checkEmailUnique(String email); public SysUser checkEmailUnique(String email);
public List<Map<String, String>> getPoolNameList(SysUser user); public List<Map<String, String>> getPoolNameList(SysUser user);
public Date getMaxTime();
List<String> getExsitCodes(@Param("list") List<String> codes);
int updateUserBatchs(@Param("list") List<HRInfo> updates);
int addUserBatchs(@Param("list") List<HRInfo> adds);
} }

@ -3,6 +3,7 @@ package com.op.system.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.op.common.core.domain.R;
import com.op.system.api.domain.SysUser; import com.op.system.api.domain.SysUser;
/** /**
@ -208,4 +209,5 @@ public interface ISysUserService {
// 查询用户可见数据源 // 查询用户可见数据源
public List<Map<String, String>> getPoolNameList(SysUser user); public List<Map<String, String>> getPoolNameList(SysUser user);
public R syncUserInfoTask();
} }

@ -1,14 +1,23 @@
package com.op.system.service.impl; package com.op.system.service.impl;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.Validator; import javax.validation.Validator;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.quality.HRInfo;
import com.op.system.api.domain.quality.OAInfo;
import com.op.system.api.domain.sap.SapWorkCenter;
import com.op.system.domain.SysDatasource; import com.op.system.domain.SysDatasource;
import com.op.system.mapper.*; import com.op.system.mapper.*;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -64,6 +73,9 @@ public class SysUserServiceImpl implements ISysUserService {
@Autowired @Autowired
private SysDatasourceMapper sysDatasourceMapper; private SysDatasourceMapper sysDatasourceMapper;
@Autowired
private RemoteOpenService remoteOpenService;
/** /**
* *
* *
@ -523,4 +535,75 @@ public class SysUserServiceImpl implements ISysUserService {
public List<Map<String, String>> getPoolNameList(SysUser user) { public List<Map<String, String>> getPoolNameList(SysUser user) {
return userMapper.getPoolNameList(user); return userMapper.getPoolNameList(user);
} }
@Override
public R syncUserInfoTask() {
DynamicDataSourceContextHolder.push("master");// 这是数据源的key
Date maxTime0 = userMapper.getMaxTime();
if(maxTime0 != null){
Calendar calendar = Calendar.getInstance();
calendar.setTime(maxTime0);
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date maxTime = calendar.getTime();
String ymd = DateFormatUtils.format(maxTime, "yyyy-MM-dd");//yyyy-MM-dd
log.info("更新人力-参数:"+ ymd);
AjaxResult hrR = remoteOpenService.GetHrUserInfo(ymd);
log.info("更新人力-结果:"+ JSONObject.toJSONString(hrR));
List<HRInfo> infoList = new ArrayList<>();
if((int)hrR.get("code")==200){
infoList=JSONArray.parseArray(hrR.get("msg").toString(),HRInfo.class);
if(!CollectionUtils.isEmpty(infoList)){
this.syncUserInfoFunc(infoList);
}
}else{
return R.fail("无最新需要更新的人力数据");
}
}
return R.ok();
}
protected int syncUserInfoFunc(List<HRInfo> dtos){
Date nowDate = DateUtils.getNowDate();
String createBy = "job";
for(HRInfo dto:dtos){
dto.setCreateTime(nowDate);
dto.setCreateBy(createBy);
dto.setUpdateBy(createBy);
dto.setUpdateTime(nowDate);
}
int n = 0;
//sap返回的供应商编码
List<String> codes = dtos.stream().map(HRInfo::getUserCode).collect(Collectors.toList());
//sap返回的工作中心编码-本地已存在
List<String> exsitCodes = userMapper.getExsitCodes(codes);
//sap返回的工作中心编码-本地不存在// 差集 (list2 - list1)
List<String> noExsitCodes = codes.stream().filter(item -> !exsitCodes.contains(item)).collect(Collectors.toList());
List<HRInfo> updates = new ArrayList<>();
for(String exsitCode:exsitCodes){
List<HRInfo> updates0 = dtos.stream().filter(dto -> dto.getUserCode().equals(exsitCode)).collect(Collectors.toList());
updates.addAll(updates0);
}
if(!CollectionUtils.isEmpty(updates)){
int m = userMapper.updateUserBatchs(updates);
System.out.println("人员更新成功条数:"+m);
}
List<HRInfo> adds = new ArrayList<>();
for(String noExsitCode:noExsitCodes){
List<HRInfo> adds0 = dtos.stream().filter(dto -> dto.getUserCode().equals(noExsitCode)).collect(Collectors.toList());
adds.addAll(adds0);
}
if(!CollectionUtils.isEmpty(adds)){
n = userMapper.addUserBatchs(adds);
System.out.println("人员新增成功条数:"+ n);
}
return n;
}
} }

@ -185,6 +185,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
GETDATE() GETDATE()
) )
</insert> </insert>
<insert id="addUserBatchs">
insert into sys_user
(user_name,nick_name,
post,section,
create_by,create_time,del_flag)
VALUES
<foreach collection="list" index="index" item="item" separator=",">
(#{item.userCode},#{item.userName},#{item.post},#{item.section},
#{item.createBy},#{item.createTime},'0')
</foreach>
</insert>
<update id="updateUser" parameterType="SysUser"> <update id="updateUser" parameterType="SysUser">
update sys_user update sys_user
@ -219,6 +230,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="resetUserPwd" parameterType="SysUser"> <update id="resetUserPwd" parameterType="SysUser">
update sys_user set password = #{password} where user_name = #{userName} update sys_user set password = #{password} where user_name = #{userName}
</update> </update>
<update id="updateUserBatchs">
<foreach collection="list" item="item" separator=";">
update sys_user
set
<if test="item.section!=null">section = #{item.section},</if>
<if test="item.post!=null">post = #{item.post},</if>
update_by = #{item.updateBy},
update_time = #{updateTime}
where
user_name = #{item.userCode}
</foreach>
</update>
<delete id="deleteUserById" parameterType="Long"> <delete id="deleteUserById" parameterType="Long">
update sys_user set del_flag = '2' where user_id = #{userId} update sys_user set del_flag = '2' where user_id = #{userId}
@ -245,4 +268,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and ud.user_id = #{userId} and ud.user_id = #{userId}
</if> </if>
</select> </select>
<select id="getMaxTime" resultType="java.util.Date">
select max(create_time) from sys_user where create_by = 'job' and del_flag = '0'
</select>
<select id="getExsitCodes" resultType="java.lang.String">
select user_name from sys_user where user_name in
<foreach collection="list" item="code" open="(" separator="," close=")">
#{userCode}
</foreach>
</select>
</mapper> </mapper>

Loading…
Cancel
Save