LiGuang 3 年之前
父節點
當前提交
ba01df6389
共有 34 個文件被更改,包括 479 次插入131 次删除
  1. 1 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/entity/UserPrize.java
  2. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.java
  3. 9 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml
  4. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java
  5. 2 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java
  6. 10 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/controller/UserChageController.java
  7. 8 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/entity/UserChage.java
  8. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/mapper/UserChageMapper.java
  9. 7 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/mapper/xml/UserChageMapper.xml
  10. 1 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/service/IUserChageService.java
  11. 5 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/service/impl/UserChageServiceImpl.java
  12. 34 7
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/controller/UserQuitController.java
  13. 8 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/entity/UserQuit.java
  14. 7 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/mapper/UserQuitMapper.java
  15. 33 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/mapper/xml/UserQuitMapper.xml
  16. 7 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/service/IUserQuitService.java
  17. 30 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/service/impl/UserQuitServiceImpl.java
  18. 142 81
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  19. 16 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
  20. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java
  21. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserDepartMapper.java
  22. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  23. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml
  24. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserDepartMapper.xml
  25. 13 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  26. 4 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java
  27. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java
  28. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserDepartService.java
  29. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  30. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/IWeixinUserService.java
  31. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java
  32. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java
  33. 12 12
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
  34. 90 18
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/WeixinUserImpl.java

+ 1 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/entity/UserPrize.java

@@ -78,6 +78,7 @@ public class UserPrize {
 	/**创建人*/
 	@Excel(name = "操作员", width = 15)
 	@ApiModelProperty(value = "创建人")
+	@Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
 	private java.lang.String createBy;
 
 	private  transient String orgCode;

+ 1 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.java

@@ -54,5 +54,5 @@ public interface UserShiftMapper extends BaseMapper<UserShift> {
     List<String>uids(@Param("depts") List<String> depts);
 
     //统计每月班次有多少次人员排班
-   Map<String,Object>ShiftCount(@Param("id")String id,@Param("date")String date,@Param("deptids")List<String>deptids);
+   Map<String,Object>ShiftCount(@Param("id")String id,@Param("date")String date,@Param("deptids")List<String>deptids,@Param("realname")String realname,@Param("deptid")String deptid);
 }

+ 9 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml

@@ -151,10 +151,18 @@ order by a.shift_date desc
     </select>
     <select id="ShiftCount" resultType="java.util.Map">
         select count(shift_id) as 'count' from geke_user_shift a
-        where 1=1
+        left join sys_user b on a.user_id=b.id
+        left join sys_user_depart c on a.user_id=c.user_id
+        where b.del_flag='0' and b.employment_status='10'
         <if test="id!=null and ''!=id">
             and shift_id=#{id}
         </if>
+        <if test="deptid!=null and ''!=deptid">
+            and c.dep_id=#{deptid}
+        </if>
+        <if test="realname!=null and ''!=realname">
+            and b.realname like concat(concat('%',#{realname}),'%')
+        </if>
         <if test="deptids!=null and deptids.size()>0">
             and a.user_id in (select distinct a.id
             FROM sys_user a

+ 1 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java

@@ -43,7 +43,7 @@ public interface IUserShiftService extends IService<UserShift> {
 
     IPage<Map<String,Object>> getUsers(Page<Map<String,Object>> page,String type,List<String>deptids,String realname,String dept);
 
-    IPage<Map<String,Object>>mothUserByCount(Page<Map<String,Object>> page,String date,List<String>deptids) throws ParseException;
+    IPage<Map<String,Object>>mothUserByCount(Page<Map<String,Object>> page,String date,List<String>deptids,String realname,String deptid) throws ParseException;
     IPage<Map<String,Object>>query(Page<Map<String,Object>> page);
 
     String getUserShiftType(String date,String userid);

+ 2 - 2
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java

@@ -243,7 +243,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     }
 
     @Override
-    public IPage<Map<String, Object>> mothUserByCount(Page<Map<String, Object>> page,String date,List<String>deptids) throws ParseException {
+    public IPage<Map<String, Object>> mothUserByCount(Page<Map<String, Object>> page,String date,List<String>deptids,String realname,String deptid) throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Map<String,Object>mt=new HashMap<>();
         mt.put("id","0");
@@ -261,7 +261,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
                query.getRecords().forEach(str->{
                    String cout="0";
                    String d = year + "-" + month + "-" + c;
-                   Map<String, Object> maps = userShiftMapper.ShiftCount(str.get("id").toString(),d,deptids);
+                   Map<String, Object> maps = userShiftMapper.ShiftCount(str.get("id").toString(),d,deptids,realname,deptid);
                    if (maps!=null&&maps.get("count")!=null&&!maps.get("count").equals("")){
                        cout=maps.get("count").toString();
                    }

+ 10 - 2
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/controller/UserChageController.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.geke.userquit.entity.UserQuit;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -167,6 +168,13 @@ public class UserChageController extends JeecgController<UserChage, IUserChageSe
       return mv;
   }
 
-
-
+	 @AutoLog(value = "人事变动-分页列表查询")
+	 @ApiOperation(value="人事变动-分页列表查询", notes="人事变动-分页列表查询")
+	 @GetMapping(value = "/lists")
+	 public Result<?> queryPageLists(UserChage userChage) {
+		 Page<UserChage> page = new Page<UserChage>(1, 100);
+		 List<UserChage> list = userChageService.listUserId(userChage.getUserId());
+		 Page<UserChage> userQuitPage = page.setRecords(list);
+		 return Result.OK(userQuitPage);
+	 }
 }

+ 8 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/entity/UserChage.java

@@ -12,6 +12,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
@@ -62,8 +63,13 @@ public class UserChage {
 	@Excel(name = "调整后薪资", width = 15)
     @ApiModelProperty(value = "调整后薪资")
 	private java.lang.String endWages;
+	/**新部门id*/
+	private java.lang.String newDeptId;
+	/**新部门名称*/
+	private java.lang.String newDeptName;
 	/**提交人*/
     @ApiModelProperty(value = "提交人")
+	@Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
 	private java.lang.String conmitId;
 	/**生效日期*/
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@@ -78,5 +84,6 @@ public class UserChage {
 	/**备注*/
 	@ApiModelProperty(value = "备注")
 	private java.lang.String demo;
-
+	@Dict(dicCode = "state")
+	private java.lang.String state;
 }

+ 1 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/mapper/UserChageMapper.java

@@ -15,5 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 public interface UserChageMapper extends BaseMapper<UserChage> {
 
     List<UserChage>listDate(@Param("startDate")String startDate,@Param("endDate")String endDate);
-
+    List<UserChage>listUserId(@Param("userid")String userid);
 }

+ 7 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/mapper/xml/UserChageMapper.xml

@@ -3,10 +3,16 @@
 <mapper namespace="org.jeecg.modules.geke.userchange.mapper.UserChageMapper">
 
     <select id="listDate" resultType="org.jeecg.modules.geke.userchange.entity.UserChage">
-        select *from geke_personnel_changes where 1=1
+        select *from geke_personnel_changes where state='1'
         <if test="startDate!=null and endDate!=null">
           and  date_format(time,'%Y-%m-%d')  BETWEEN date_format(#{startDate},'%Y-%m-%d') AND date_format(#{endDate},'%Y-%m-%d')
         </if>
         order by time asc
     </select>
+    <select id="listUserId" resultType="org.jeecg.modules.geke.userchange.entity.UserChage">
+        select *from geke_personnel_changes where 1=1
+        <if test="userid!=null and ''!=userid">
+            and user_id=#{userid}
+        </if>
+    </select>
 </mapper>

+ 1 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/service/IUserChageService.java

@@ -14,4 +14,5 @@ import java.util.List;
  */
 public interface IUserChageService extends IService<UserChage> {
     List<UserChage> listDate(String startDate,String endDate);
+    List<UserChage>listUserId(String userid);
 }

+ 5 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userchange/service/impl/UserChageServiceImpl.java

@@ -25,4 +25,9 @@ public class UserChageServiceImpl extends ServiceImpl<UserChageMapper, UserChage
     public List<UserChage> listDate(String startDate, String endDate) {
         return userChageMapper.listDate(startDate,endDate);
     }
+
+    @Override
+    public List<UserChage> listUserId(String userid) {
+        return userChageMapper.listUserId(userid);
+    }
 }

+ 34 - 7
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/controller/UserQuitController.java

@@ -1,8 +1,6 @@
 package org.jeecg.modules.geke.userquit.controller;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
@@ -12,9 +10,12 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.geke.userchange.entity.UserChage;
+import org.jeecg.modules.geke.userchange.service.IUserChageService;
+import org.jeecg.modules.geke.usercontract.entity.UserContract;
+import org.jeecg.modules.geke.usercontract.service.IUserContractService;
 import org.jeecg.modules.geke.userquit.entity.UserQuit;
 import org.jeecg.modules.geke.userquit.service.IUserQuitService;
-import java.util.Date;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -48,6 +49,12 @@ import io.swagger.annotations.ApiOperation;
 public class UserQuitController extends JeecgController<UserQuit, IUserQuitService> {
 	@Autowired
 	private IUserQuitService userQuitService;
+
+	@Autowired
+	private IUserChageService userChageService;
+
+	@Autowired
+	private IUserContractService userContractService;
 	
 	/**
 	 * 分页列表查询
@@ -67,9 +74,29 @@ public class UserQuitController extends JeecgController<UserQuit, IUserQuitServi
 								   HttpServletRequest req) {
 		QueryWrapper<UserQuit> queryWrapper = QueryGenerator.initQueryWrapper(userQuit, req.getParameterMap());
 		Page<UserQuit> page = new Page<UserQuit>(pageNo, pageSize);
-		IPage<UserQuit> pageList = userQuitService.page(page, queryWrapper);
-		return Result.OK(pageList);
+		//IPage<UserQuit> pageList = userQuitService.page(page, queryWrapper);
+		Page<UserQuit> list = userQuitService.list(page, userQuit);
+		return Result.OK(list);
 	}
+
+	 @GetMapping(value = "/lists")
+	 public Result<?> queryPageLists(UserQuit userQuit) {
+		Map<String,Object>map=new HashMap<>();
+		 Page<UserQuit> page = new Page<UserQuit>(1, 100);
+		 Page<UserChage> page2 = new Page<UserChage>(1, 100);
+		 Page<UserContract> page3 = new Page<UserContract>(1, 100);
+		 //List<UserQuit> userIds = userQuitService.getUserIds(userQuit.getUserId());
+		 //Page<UserQuit> userQuitPage = page.setRecords(userIds);
+		if (userQuit.getUserId()!=null){
+			List<UserQuit> userIds = userQuitService.getUserIds(userQuit.getUserId());
+			List<UserChage> list = userChageService.listUserId(userQuit.getUserId());
+			List<UserContract> list1 = userContractService.list(userQuit.getUserId());
+			map.put("userQuit",page.setRecords(userIds));
+			map.put("userChage",page2.setRecords(list));
+			map.put("userContract",page3.setRecords(list1));
+		}
+		 return Result.OK(map);
+	 }
 	
 	/**
 	 * 添加
@@ -95,7 +122,7 @@ public class UserQuitController extends JeecgController<UserQuit, IUserQuitServi
 	@ApiOperation(value="入职,离职信息-编辑", notes="入职,离职信息-编辑")
 	@PutMapping(value = "/edit")
 	public Result<?> edit(@RequestBody UserQuit userQuit) {
-		userQuitService.updateById(userQuit);
+		boolean b = userQuitService.updateById(userQuit);
 		return Result.OK("编辑成功!");
 	}
 	

+ 8 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/entity/UserQuit.java

@@ -12,6 +12,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
@@ -91,4 +92,11 @@ public class UserQuit {
 	@Excel(name = "remarks", width = 15)
 	@ApiModelProperty(value = "remarks")
 	private java.lang.String remarks;
+
+	private java.lang.String post;
+	private java.util.Date newDate;
+
+	@Dict(dicCode = "state")
+	private java.lang.String state;
+
 }

+ 7 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/mapper/UserQuitMapper.java

@@ -2,7 +2,10 @@ package org.jeecg.modules.geke.userquit.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.catalina.User;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.userPrize.entity.UserPrize;
 import org.jeecg.modules.geke.userquit.entity.UserQuit;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -14,5 +17,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface UserQuitMapper extends BaseMapper<UserQuit> {
     int deleteDate(@Param("startDate")String startDate,@Param("endDate")String endDate);
+    List<UserQuit>list(Page<UserQuit> page,@Param("userQuit")UserQuit userQuit,@Param("deptids")List<String>deptids);
+    boolean updateUserSate(@Param("userid")String userid);
 
+    List<UserQuit>lists(@Param("startDate")String startDate,@Param("endDate")String endDate);
+    List<UserQuit>getUserIds(@Param("userid")String userid);
 }

+ 33 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/mapper/xml/UserQuitMapper.xml

@@ -1,6 +1,12 @@
 <?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="org.jeecg.modules.geke.userquit.mapper.UserQuitMapper">
+    <update id="updateUserSate">
+        update sys_user set employment_status='30' where 1=1
+        <if test="userid!=null and ''!=userid">
+            and id=#{userid}
+        </if>
+    </update>
 
     <delete id="deleteDate">
         delete from geke_user_quit where 1=1
@@ -8,4 +14,31 @@
             and date_format(apply_time,'%Y-%m-%d') between date_format(#{startDate},'%Y-%m-%d') and date_format(#{endDate},'%Y-%m-%d')
         </if>
     </delete>
+    <select id="list" resultType="org.jeecg.modules.geke.userquit.entity.UserQuit">
+        select *from geke_user_quit where 1=1
+        <if test="userQuit.userName!=null and ''!=userQuit.userName">
+            and user_name like concat(concat('%',#{userQuit.userName}),'%')
+        </if>
+        <if test="userQuit.state!=null and ''!=userQuit.state">
+            and state=#{userQuit.state}
+        </if>
+        <if test="deptids!=null and deptids.size()>0">
+            and dept_id in
+            <foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+    </select>
+    <select id="lists" resultType="org.jeecg.modules.geke.userquit.entity.UserQuit">
+        select *from geke_user_quit where state='1'
+        <if test="startDate!=null and endDate!=null">
+        and date_format(new_date,'%Y-%m-%d') between date_format(#{startDate},'%Y-%m-%d') and date_format(#{endDate},'%Y-%m-%d')
+        </if>
+    </select>
+    <select id="getUserIds" resultType="org.jeecg.modules.geke.userquit.entity.UserQuit">
+        select *from geke_user_quit  where state='1'
+        <if test="userid!=null and ''!=userid">
+            and user_id=#{userid}
+        </if>
+    </select>
 </mapper>

+ 7 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/service/IUserQuitService.java

@@ -1,5 +1,8 @@
 package org.jeecg.modules.geke.userquit.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.catalina.User;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.geke.userquit.entity.UserQuit;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -14,5 +17,8 @@ import java.util.List;
 public interface IUserQuitService extends IService<UserQuit> {
     int deleteQuit(String startDate,String  endDate);
     boolean saveQuits(List<UserQuit>list);
-
+    Page<UserQuit>list(Page<UserQuit> page,UserQuit userQuit);
+    List<UserQuit>getUserIds(String userid);
+    boolean updateUserSate(String userid);
+    List<UserQuit>lists(String startDate,String endDate);
 }

+ 30 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/service/impl/UserQuitServiceImpl.java

@@ -1,5 +1,7 @@
 package org.jeecg.modules.geke.userquit.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.geke.makeUpCard.mapper.MakeUpCardMapper;
 import org.jeecg.modules.geke.userquit.entity.UserQuit;
 import org.jeecg.modules.geke.userquit.mapper.UserQuitMapper;
 import org.jeecg.modules.geke.userquit.service.IUserQuitService;
@@ -21,6 +23,9 @@ public class UserQuitServiceImpl extends ServiceImpl<UserQuitMapper, UserQuit> i
         @Autowired
         private  UserQuitMapper userQuitMapper;
 
+        @Autowired
+        private MakeUpCardMapper makeUpCardMapper;
+
     @Override
     public int deleteQuit(String startDate,String endDate) {
 
@@ -33,4 +38,29 @@ public class UserQuitServiceImpl extends ServiceImpl<UserQuitMapper, UserQuit> i
 
         return super.saveBatch(list);
     }
+
+    @Override
+    public Page<UserQuit> list(Page<UserQuit> page, UserQuit userQuit) {
+        List<String> subDepIdsByDepId=null;
+        if (userQuit.getDeptId()!=null){
+            subDepIdsByDepId= makeUpCardMapper.getSubDepIdsByDepId(userQuit.getDeptId());
+        }
+        List<UserQuit> list = userQuitMapper.list(page, userQuit, subDepIdsByDepId);
+        return page.setRecords(list);
+    }
+
+    @Override
+    public List<UserQuit> getUserIds(String userid) {
+        return userQuitMapper.getUserIds(userid);
+    }
+
+    @Override
+    public boolean updateUserSate(String userid) {
+        return userQuitMapper.updateUserSate(userid);
+    }
+
+    @Override
+    public List<UserQuit> lists(String startDate, String endDate) {
+        return userQuitMapper.lists(startDate,endDate);
+    }
 }

+ 142 - 81
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -45,6 +45,8 @@ import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
 import org.jeecg.modules.geke.userShift.service.IUserShiftService;
 import org.jeecg.modules.geke.userchange.entity.UserChage;
 import org.jeecg.modules.geke.userchange.service.IUserChageService;
+import org.jeecg.modules.geke.userquit.entity.UserQuit;
+import org.jeecg.modules.geke.userquit.service.IUserQuitService;
 import org.jeecg.modules.geke.vacation.entity.Vacation;
 import org.jeecg.modules.geke.vacation.mapper.VacationMapper;
 import org.jeecg.modules.geke.vacation.service.IVacationService;
@@ -104,6 +106,9 @@ public class SysUserController {
 
 	@Autowired
     private VacationMapper vacationMapper;
+
+	@Autowired
+    private  ISysPositionService sysPositionService;
 	
 	@Autowired
 	private ISysUserService sysUserService;
@@ -148,6 +153,9 @@ public class SysUserController {
 
     @Autowired
     private ISysFileService service;
+
+    @Autowired
+    private IUserQuitService userQuitService;
 	@Autowired
 	private RedisUtil redisUtil;
 
@@ -220,6 +228,32 @@ public class SysUserController {
     }
 
 
+    @RequestMapping(value = "/roleUser", method = RequestMethod.GET)
+    public  Result<IPage<SysUser>> roleUser(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                            @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) throws ParseException {
+        Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
+        Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
+        Page<SysUser> sysUserPage = sysUserService.RoleUser(page, user);
+        List<String>userids=new ArrayList<>();
+        if (sysUserPage.getRecords().size()!=0){
+            for (SysUser u:sysUserPage.getRecords()){
+                userids.add(u.getId());
+            }
+        }
+        //批量查询用户的所属部门
+        //step.1 先拿到全部的 useids
+        //step.2 通过 useids,一次性查询用户的所属部门名字
+        if(userids!=null && userids.size()>0){
+            Map<String,String>  useDepNames = sysUserService.getDepNamesByUserIds(userids);
+            sysUserPage.getRecords().forEach(item->{
+                item.setOrgCodeTxt(useDepNames.get(item.getId()));
+            });
+        }
+        result.setSuccess(true);
+        result.setResult(sysUserPage);
+        return result;
+    }
+
 
     /**
      * 获取工资方法情况人事部门
@@ -278,15 +312,9 @@ public class SysUserController {
         if (userRole!=null&&userRole.size()>0){
             for (SysUserRole role:userRole){
                 if (role.getRoleId().equals("1462659329857978370")){
-                    List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId());
-                    for (SysDepart depart:list){
-                        deptids+=depart.getId()+",";
-                        if (depart.getId().equals("1")){
-                            state="1";
-                        }
-                    }
-                    if (state.equals("0")){
-                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(deptids);
+                    SysDepart one = sysDepartService.getOne(new QueryWrapper<SysDepart>().lambda().eq(SysDepart::getOrgCode, sysUser.getOrgCode()));
+                    if (one!=null&&!one.getOrgType().equals("0")){
+                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(one.getId());
                     }
                 }
             }
@@ -305,6 +333,12 @@ public class SysUserController {
             pageList.getRecords().forEach(item->{
                 String bankCard = item.getBankCard();
                 item.setOrgCodeTxt(useDepNames.get(item.getId()));
+                List<UserQuit> userIds1 = userQuitService.getUserIds(item.getId());
+                if (userIds1!=null&&userIds1.size()>0){
+                    item.setEndDate(userIds1.get(0).getEndDate());
+                    item.setNewDate(userIds1.get(0).getNewDate());
+                    item.setDemo(userIds1.get(0).getRemarks());
+                }
                 List<String> orgName = sysUserService.getOrgName(item.getId());
                 List<SysUserDepVo> depNamesByUserIds = sysUserMapper.getDepNamesByUserIds(Arrays.asList(item.getId().split(",")));
                 if (orgName!=null&&orgName.size()>0){
@@ -394,14 +428,6 @@ public class SysUserController {
                 }
                 attendanceRuleService.save(attendanceRule);
             }
-            HistoryWages historyWages=new HistoryWages();
-            historyWages.setUserId(user.getId());
-            historyWages.setWagesOne(user.getWagesOne());
-            historyWages.setWagesTwo(user.getWagesTwo());
-            historyWages.setWagesBase(user.getWagesBase());
-            historyWages.setDeptId(selectedDeparts);
-            historyWages.setSecurity(user.getSecurity());
-            historyWagesService.save(historyWages);
             if (txtFile!=null&&!txtFile.equals("")){
                 List<String> strings = Arrays.asList(txtFile.split(","));
                 strings.forEach(str->{
@@ -454,7 +480,6 @@ public class SysUserController {
                 sysUserService.editUserWithDepart(user, departs);
                 sysUserService.updateNullPhoneEmail();
                 service.deleteByUserId(user.getId());
-                List<HistoryWages> one = historyWagesService.getOne(user.getId());
                 if (jsonObject.getString("type")!=null){
                     AttendanceRule ats = attendanceRuleService.UserRule(user.getId());
                     if (ats!=null){
@@ -472,13 +497,6 @@ public class SysUserController {
                     }
                     attendanceRuleService.save(attendanceRule);
                 }
-                HistoryWages history =new HistoryWages();
-                history.setWagesBase(user.getWagesBase());
-                history.setWagesOne(user.getWagesOne());
-                history.setWagesTwo(user.getWagesTwo());
-                history.setSecurity(user.getSecurity());
-                history.setUserId(user.getId());
-                history.setDeptId(departs);
                 if (txtFile!=null&&!txtFile.equals("")){
                     List<String> strings = Arrays.asList(txtFile.split(","));
                     strings.forEach(str->{
@@ -487,24 +505,6 @@ public class SysUserController {
                         sysFile.setTxtName(str);
                         service.save(sysFile);
                     });
-                }if (one!=null&&one.size()>0){
-                    HistoryWages historyWages = one.get(0);
-                    String is="0";
-                    if (user.getWagesBase()!=null&&!user.getWagesBase().equals(historyWages.getWagesBase())){
-                        is="1";
-                    }else if (user.getWagesOne()!=null&&!user.getWagesOne().equals(historyWages.getWagesOne())){
-                        is="1";
-                    }else if (user.getWagesTwo()!=null&&!user.getWagesTwo().equals(historyWages.getWagesTwo())){
-                        is="1";
-                    }else if (user.getSecurity()!=null&&!user.getSecurity().equals(historyWages.getSecurity())){
-                        is="1";
-                    }
-
-                    if (is.equals("1")){
-                        historyWagesService.save(history);
-                    }
-                }else {
-                    historyWagesService.save(history);
                 }
 				result.success("修改成功!");
 			}
@@ -849,6 +849,7 @@ public class SysUserController {
         if (sysUser.getOrgCodeTxt()!=null&&!sysUser.getOrgCodeTxt().equals("")&&sysUser.getOrgCodeTxt().equals("空白模板")){
             sName="员工信息模板";
             SysUser u=new SysUser();
+            /*SysUser u=new SysUser();
             u.setRealname("例:李四");
             u.setEgName("例:cent");
             u.setEmail("例:cent.li@gksports.com.cn");
@@ -866,7 +867,7 @@ public class SysUserController {
             u.setBankCard("例:622************142");
             u.setBankAddr("例:上海工商银行徐汇支行");
             u.setSyFund("例:061***********245");
-            u.setWagesOne("例:10000");
+            u.setWagesOne("例:10000");*/
             pageList=new ArrayList<>();
             pageList.add(u);
         }
@@ -891,6 +892,7 @@ public class SysUserController {
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        Calendar now=Calendar.getInstance();
         // 错误信息
         List<String> errorMessage = new ArrayList<>();
         int successLines = 0, errorLines = 0;
@@ -900,11 +902,13 @@ public class SysUserController {
             params.setTitleRows(2);
             params.setHeadRows(1);
             params.setNeedSave(true);
+
             try {
                 List<SysUser> listSysUsers = ExcelImportUtil.importExcel(file.getInputStream(), SysUser.class, params);
-                listSysUsers.remove(0);
+                //listSysUsers.remove(0);
                 for (int i = 0; i < listSysUsers.size(); i++) {
                     SysUser sysUserExcel = listSysUsers.get(i);
+                    int lineNumber = i + 1;
                     CodeVo codeVo=new CodeVo();
                     codeVo.setSeqName("工号编码");
                     sysUserMapper.getNextNo(codeVo);
@@ -919,11 +923,23 @@ public class SysUserController {
                     sysUserExcel.setWorkNo(workNo);
                     sysUserExcel.setCode(workNo);
                     sysUserExcel.setId(workNo);
+                    sysUserExcel.setTrialMoth("6");
                     sysUserExcel.setIsAttendance("0");
                     if (sysUserExcel.getEmploymentStatus()==null||sysUserExcel.getEmploymentStatus().equals("")){
-                        sysUserExcel.setEmploymentStatus(10);
+                        sysUserExcel.setEmploymentStatus(40);
+                    }if(sysUserExcel.getEntryDate()!=null){
+                        Date entryDate =new Date(sysUserExcel.getEntryDate().getTime());
+                        entryDate.setMonth(entryDate.getMonth()+6);
+                        now.setTime(entryDate);
+                        now.add(Calendar.DAY_OF_MONTH,-1);
+                        sysUserExcel.setTrialEndDate(now.getTime());
                     } if (sysUserExcel.getEntryDate()==null){
+                        Date date = new Date();
                         sysUserExcel.setEntryDate(new Date());
+                        date.setMonth(date.getMonth()+6);
+                        now.setTime(date);
+                        now.add(Calendar.DAY_OF_MONTH,-1);
+                        sysUserExcel.setTrialEndDate(now.getTime());
                     }
                     sysUserExcel.setUsername(workNo);
                     if (StringUtils.isBlank(sysUserExcel.getPassword())) {
@@ -938,6 +954,7 @@ public class SysUserController {
                     sysUserExcel.setDelFlag(Integer.parseInt(CommonConstant.DEL_FLAG_0.toString()));
                     sysUserExcel.setStatus(1);
                     sysUserExcel.setInfoSy(3);
+                    sysUserExcel.setSfzType("0");
                     boolean f=true;
                     String depids="";
                     if(oConvertUtils.isNotEmpty(sysUserExcel.getOrgCodeTxt())) {
@@ -957,37 +974,73 @@ public class SysUserController {
                         if (!"".equals(sysUserExcel.getRealname())&&sysUserExcel.getRealname()!=null){
                             if (!"".equals(sysUserExcel.getEmail())&&sysUserExcel.getEmail()!=null){
                                 if (!"".equals(sysUserExcel.getOrgCodeTxt())&&sysUserExcel.getOrgCodeTxt()!=null){
-                                    if ("".equals(sysUserExcel.getSyFund())&&sysUserExcel.getSyFund()!=null){
-                                        if ("".equals(sysUserExcel.getPhone())&&sysUserExcel.getPhone()!=null){
-                                            if ("".equals(sysUserExcel.getBankCard())&&sysUserExcel.getBankCard()!=null){
-                                                if ("".equals(sysUserExcel.getWagesOne())&&sysUserExcel.getWagesOne()!=null){
-                                                    if ("".equals(sysUserExcel.getSfzCode())&&sysUserExcel.getSfzCode()!=null){
-                                                        if ("".equals(sysUserExcel.getEgName())&&sysUserExcel.getEgName()!=null){
+                                        if (!"".equals(sysUserExcel.getPhone())&&sysUserExcel.getPhone()!=null){
+                                            if (!"".equals(sysUserExcel.getBankCard())&&sysUserExcel.getBankCard()!=null){
+                                                if (sysUserExcel.getBankCard().length()!=16&&sysUserExcel.getBankCard().length()!=18){
+                                                    errorLines++;
+                                                    errorMessage.add("第 " + lineNumber + " 行:请输入16位至19位银行卡号,忽略导入。");
+                                                } else{
+                                                if (!"".equals(sysUserExcel.getWagesOne())&&sysUserExcel.getWagesOne()!=null){
+                                                    if (!"".equals(sysUserExcel.getSfzCode())&&sysUserExcel.getSfzCode()!=null){
+                                                        if (!"".equals(sysUserExcel.getEgName())&&sysUserExcel.getEgName()!=null){
                                                             if (sysUserExcel.getBirthday()!=null){
-                                                                if (sysUserExcel.getBirthday()!=null){
-                                                                    if ("".equals(sysUserExcel.getSex())&&sysUserExcel.getSex()!=null){
+                                                                    if (!"".equals(sysUserExcel.getSex())&&sysUserExcel.getSex()!=null){
                                                                         sysUserService.addUserWithRole(sysUserExcel, "1473241527673765890");
+                                                                        AttendanceRule attendanceRule=new AttendanceRule();
+                                                                        attendanceRule.setUserId(workNo);
+                                                                        attendanceRule.setType("2");
+                                                                        attendanceRuleService.save(attendanceRule);
                                                                         successLines++;
+                                                                    }else {
+                                                                        errorLines++;
+                                                                        errorMessage.add("第 " + lineNumber + " 行:性别为空,忽略导入。");
                                                                     }
-                                                                }
+
+                                                            }else {
+                                                                errorLines++;
+                                                                errorMessage.add("第 " + lineNumber + " 行:生日为空,忽略导入。");
                                                             }
+                                                        }else {
+                                                            errorLines++;
+                                                            errorMessage.add("第 " + lineNumber + " 行:英文名为空,忽略导入。");
                                                         }
+                                                    }else {
+                                                        errorLines++;
+                                                        errorMessage.add("第 " + lineNumber + " 行:身份证号为空,忽略导入。");
                                                     }
+                                                }else {
+                                                    errorLines++;
+                                                    errorMessage.add("第 " + lineNumber + " 行:工资为空,忽略导入。");
                                                 }
                                             }
+                                        }else {
+                                                errorLines++;
+                                                errorMessage.add("第 " + lineNumber + " 行:银行卡为空,忽略导入。");
+                                            }
+                                    }else {
+                                            errorLines++;
+                                            errorMessage.add("第 " + lineNumber + " 行:手机号为空,忽略导入。");
                                         }
-                                    }
 
+                                }else {
+                                    errorLines++;
+                                    errorMessage.add("第 " + lineNumber + " 行:部门为空,忽略导入。");
                                 }
+                            }else {
+                                errorLines++;
+                                errorMessage.add("第 " + lineNumber + " 行:邮箱为空,忽略导入。");
                             }
 
+                        }else {
+                            errorLines++;
+                            errorMessage.add("第 " + lineNumber + " 行:姓名为空,忽略导入。");
                         }
 
 
                     } catch (Exception e) {
                         errorLines++;
                         String message = e.getMessage().toLowerCase();
-                        int lineNumber = i + 1;
+
                         // 通过索引名判断出错信息
                         if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)) {
                             errorMessage.add("第 " + lineNumber + " 行:用户名已经存在,忽略导入。");
@@ -1988,15 +2041,9 @@ public class SysUserController {
         if (userRole!=null&&userRole.size()>0){
             for (SysUserRole role:userRole){
                 if (role.getRoleId().equals("1462659329857978370")){
-                    List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId());
-                    for (SysDepart depart:list){
-                        deptids+=depart.getId()+",";
-                        if (depart.getId().equals("1")){
-                            state="1";
-                        }
-                    }
-                    if (state.equals("0")){
-                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(deptids);
+                    SysDepart one = sysDepartService.getOne(new QueryWrapper<SysDepart>().lambda().eq(SysDepart::getOrgCode, sysUser.getOrgCode()));
+                    if (one!=null&&!one.getOrgType().equals("0")){
+                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(one.getId());
                     }
                 }
             }
@@ -2026,10 +2073,10 @@ public class SysUserController {
         return Result.OK(maps);
     }
 
-    @PostMapping(value = "/queryMothByCount")
-    public Result<?> queryMothByCount(@RequestBody UserShift userShift,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+    @RequestMapping(value = "/queryMothByCount", method = RequestMethod.GET)
+    public Result<?> queryMothByCount(UserShift userShift,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                       @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-                                      HttpServletRequest req) throws ParseException {
+                                      HttpServletRequest req,String realname,String deptid) throws ParseException {
         String deptids="";
         String state="0";
         List<String> mySubDepIdsByDepId=null;
@@ -2038,15 +2085,9 @@ public class SysUserController {
         if (userRole!=null&&userRole.size()>0){
             for (SysUserRole role:userRole){
                 if (role.getRoleId().equals("1462659329857978370")){
-                    List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId());
-                    for (SysDepart depart:list){
-                        deptids+=depart.getId()+",";
-                        if (depart.getId().equals("1")){
-                            state="1";
-                        }
-                    }
-                    if (state.equals("0")){
-                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(deptids);
+                    SysDepart one = sysDepartService.getOne(new QueryWrapper<SysDepart>().lambda().eq(SysDepart::getOrgCode, sysUser.getOrgCode()));
+                    if (one!=null&&!one.getOrgType().equals("0")){
+                        mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(one.getId());
                     }
                 }
             }
@@ -2057,7 +2098,7 @@ public class SysUserController {
             shiftDate=new Date();
         }
        String s= DateUtils.formatDate(userShift.getShiftDate(),"yyyy-MM-dd HH:mm:ss");
-        IPage<Map<String, Object>> mapIPage = userShiftService.mothUserByCount(page, s, mySubDepIdsByDepId);
+        IPage<Map<String, Object>> mapIPage = userShiftService.mothUserByCount(page, s, mySubDepIdsByDepId,realname,deptid);
         return Result.OK(mapIPage);
     }
 
@@ -2154,17 +2195,35 @@ public class SysUserController {
             params.setNeedSave(true);
             try {
                 List<UserChage> list = ExcelImportUtil.importExcel(file.getInputStream(), UserChage.class, params);
+                LoginUser sysUsers = (LoginUser) SecurityUtils.getSubject().getPrincipal();
                 //update-begin-author:taoyan date:20190528 for:批量插入数据
                 if (list!=null&&list.size()>0){
                     List<SysUser>lst=new ArrayList<>();
                     list.forEach(str->{
                     str.setTime(new Date());
-                    SysUser sysUser=new SysUser();
+                    str.setType("工资调整");
+                    str.setState("1");
+                    str.setConmitId(sysUsers.getId());
+                    str.setConmitDate(new Date());
+                    List<SysDepart> sysDeparts = sysDepartService.queryUserDeparts(str.getUserId());
+                        SysUser byId = sysUserService.getById(str.getUserId());
+                        SysUser sysUser=new SysUser();
+                     if (byId!=null){
+                         str.setRealname(byId.getRealname());
+                     }
                     if (str.getUserId()!=null&&!str.getUserId().equals("")){
                         sysUser.setId(str.getUserId());
                     }if (str.getEndWages()!=null&&!str.getEndWages().equals("")){
                         sysUser.setWagesOne(str.getEndWages());
-                    }
+                    }if (sysDeparts!=null){
+                        str.setDeptId(sysDeparts.get(0).getId());
+                        str.setDeptName(sysDeparts.get(0).getDepartName());
+                    }if (byId!=null&&byId.getPost()!=null&&!"".equals(byId.getPost())){
+                            SysPosition ones = sysPositionService.getOnes(byId.getPost());
+                            if (ones!=null){
+                                str.setStartPost(ones.getName());
+                            }
+                        }
                     lst.add(sysUser);
                     });
                     userChageService.saveBatch(list);
@@ -2187,4 +2246,6 @@ public class SysUserController {
         }
         return Result.error("文件导入失败!");
     }
+
+
 }

+ 16 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -226,7 +226,7 @@ public class SysUser implements Serializable {
     @Excel(name = "*末级部门", width = 15)
     private transient String orgCodeTxt;
 
-    @Excel(name = "*公积金账号", width = 15)
+    @Excel(name = "公积金账号", width = 15)
     private String syFund;
 
     @Excel(name = "*银行卡号", width = 15)
@@ -407,4 +407,19 @@ public class SysUser implements Serializable {
 
     /**备用虚拟字段**/
     private transient  String type;
+    /***
+     * 预计离职时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private transient Date endDate;
+
+    /***
+     * 实际离职时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private transient Date newDate;
+    /***
+     * 离职原因
+     */
+    private transient  String demo;
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java

@@ -23,4 +23,6 @@ public interface SysPositionMapper extends BaseMapper<SysPosition> {
 
     List<SysPosition>listByDept(Page<SysPosition> page, @Param("deptids")List<String> deptids);
 
+    SysPosition getOnes(@Param("code")String code);
+
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserDepartMapper.java

@@ -17,4 +17,6 @@ public interface SysUserDepartMapper extends BaseMapper<SysUserDepart>{
 
 	String getPid(@Param("id")String id);
 
+	boolean deletes(@Param("userid")String userid);
+
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -227,4 +227,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 	boolean updateByState(@Param("userids")List<String>userids);
 
+	List<SysUser>RoleUser(Page<SysUser> page,@Param("sysUser")SysUser sysUser);
+
 }

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml

@@ -37,4 +37,10 @@
             </foreach>
         </if>
     </select>
+    <select id="getOnes" resultType="org.jeecg.modules.system.entity.SysPosition">
+        select *from sys_position where 1=1
+        <if test="code!=null and ''!=code">
+            and code=#{code}
+        </if>
+    </select>
 </mapper>

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserDepartMapper.xml

@@ -1,6 +1,12 @@
 <?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="org.jeecg.modules.system.mapper.SysUserDepartMapper">
+    <delete id="deletes">
+		delete  from sys_user_depart where 1=1
+		<if test="userid!=null and ''!=userid">
+			and user_id=#{userid}
+		</if>
+	</delete>
     <select id="getUserDepartByUid" parameterType="String" resultType="org.jeecg.modules.system.entity.SysUserDepart">
 		SELECT *
 		FROM sys_user_depart

+ 13 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -476,4 +476,17 @@ on a.depart_name=b.orgCodeTxt
 			and a.realname=#{username}
 		</if>
 	</select>
+    <select id="RoleUser" resultType="org.jeecg.modules.system.entity.SysUser">
+		select a.*from sys_user a left join  sys_user_role b on a.id=b.user_id
+		where a.del_flag='0'
+		<if test="sysUser.workNo!=null and ''!=sysUser.workNo">
+			and a.work_no like concat(concat('%',#{sysUser.workNo}),'%')
+		</if>
+		<if test="sysUser.realname!=null and ''!=sysUser.realname">
+			and a.realname like concat(concat('%',#{sysUser.realname}),'%')
+		</if>
+		<if test="sysUser.del5!=null and ''!=sysUser.del5">
+			and b.role_id!=#{sysUser.del5}
+		</if>
+	</select>
 </mapper>

+ 4 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java

@@ -1,10 +1,11 @@
 package org.jeecg.modules.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.entity.SysPosition;
 import org.jeecg.modules.system.model.DepartIdModel;
 import org.jeecg.modules.system.model.SysDepartTreeModel;
-import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -123,4 +124,6 @@ public interface ISysDepartService extends IService<SysDepart>{
     List<SysDepart>listDept();
 
     List<SysDepart>listDeptTop(List<String>codes);
+
+
 }

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java

@@ -19,4 +19,5 @@ public interface ISysPositionService extends IService<SysPosition> {
     String getOne(String name);
     Page<SysPosition> lists(Page<SysPosition> page,SysPosition sysPosition);
     Page<SysPosition>listByDept(Page<SysPosition> page,List<String> deptids);
+    SysPosition getOnes(String code);
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserDepartService.java

@@ -45,4 +45,6 @@ public interface ISysUserDepartService extends IService<SysUserDepart> {
 	List<String>getUserDepart(String userId);
 
 	String getPid(String id);
+
+	boolean deletes(String userid);
 }

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -258,6 +258,9 @@ public interface ISysUserService extends IService<SysUser> {
 	 */
 	Map<String,Object> departCount(String departName);
 
+
+	Page<SysUser>RoleUser(Page<SysUser> page,SysUser sysUser);
+
 	/**
 	 * 查询对应部门的人员信息
 	 * @param departId

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/IWeixinUserService.java

@@ -45,6 +45,9 @@ public interface IWeixinUserService {
         //微信入职,转正,离职信息
         public Map<String, Object> WeixinQuit() throws IOException, ParseException;
 
+        //用户离职信息变更
+        public Map<String, Object> UserQuits() throws IOException, ParseException;
+
         //微信人事变动
         public Map<String, Object> WeixinChange() throws IOException, ParseException;
 

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java

@@ -82,4 +82,9 @@ public class SysPositionServiceImpl extends ServiceImpl<SysPositionMapper, SysPo
     public Page<SysPosition> listByDept(Page<SysPosition> page, List<String> deptids) {
         return page.setRecords(positionMapper.listByDept(page,deptids));
     }
+
+    @Override
+    public SysPosition getOnes(String code) {
+        return positionMapper.getOnes(code);
+    }
 }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java

@@ -146,5 +146,10 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
 		return sysUserDepartMapper.getPid(id);
 	}
 
+	@Override
+	public boolean deletes(String userid) {
+		return sysUserDepartMapper.deletes(userid);
+	}
+
 
 }

+ 12 - 12
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -97,9 +97,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword) {
         SysUser user = userMapper.getUserByName(username);
         String passwordEncode = PasswordUtil.encrypt(username, oldpassword, user.getSalt());
-        if (!user.getPassword().equals(passwordEncode)) {
-            return Result.error("旧密码输入错误!");
-        }
+//        if (!user.getPassword().equals(passwordEncode)) {
+//            return Result.error("旧密码输入错误!");
+//        }
         if (oConvertUtils.isEmpty(newpassword)) {
             return Result.error("新密码不允许为空!");
         }
@@ -382,6 +382,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 			}
 		}
 		//先删后加
+		///boolean delete = sysUserDepartMapper.delete(user.getId());
 		sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
 		if(oConvertUtils.isNotEmpty(departs)) {
 			for (String departId : arr) {
@@ -497,6 +498,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return map;
 	}
 
+	@Override
+	public Page<SysUser> RoleUser(Page<SysUser> page, SysUser sysUser) {
+		return page.setRecords(userMapper.RoleUser(page,sysUser));
+	}
+
 	@Override
 	public List<SysUser> departUser(String departId,String name) {
 		List<SysUser> sysUsers = userMapper.departUser(departId, name);
@@ -658,15 +664,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		if (userRole!=null&&userRole.size()>0){
 			for (SysUserRole role:userRole){
 				if (role.getRoleId().equals("1462659329857978370")){
-					List<SysDepart> list = this.sysDepartService.queryUserDeparts(sysUser.getId());
-					for (SysDepart depart:list){
-						deptids+=depart.getId()+",";
-						if (depart.getId().equals("1")){
-							state="1";
-						}
-					}
-					if (state.equals("0")){
-						mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(deptids);
+					SysDepart one = sysDepartService.getOne(new QueryWrapper<SysDepart>().lambda().eq(SysDepart::getOrgCode, sysUser.getOrgCode()));
+					if (one!=null&&!one.getOrgType().equals("0")){
+						mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(one.getId());
 					}
 				}
 			}

+ 90 - 18
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/WeixinUserImpl.java

@@ -21,6 +21,7 @@ import org.jeecg.modules.geke.makeUpCard.entity.MakeUpCard;
 import org.jeecg.modules.geke.makeUpCard.service.IMakeUpCardService;
 import org.jeecg.modules.geke.salary.entity.Salary;
 import org.jeecg.modules.geke.salary.service.ISalaryService;
+import org.jeecg.modules.geke.userShift.entity.UserDept;
 import org.jeecg.modules.geke.userchange.entity.UserChage;
 import org.jeecg.modules.geke.userchange.service.IUserChageService;
 import org.jeecg.modules.geke.userquit.entity.UserQuit;
@@ -70,6 +71,9 @@ public class WeixinUserImpl implements IWeixinUserService{
     @Autowired
     private ISysUserDepartService sysUserDepartService;
 
+    @Autowired
+    private  ISysUserRoleService sysUserRoleService;
+
     @Autowired
     private IDatatbService datatbService;
 
@@ -737,8 +741,8 @@ public class WeixinUserImpl implements IWeixinUserService{
         now.add(Calendar.DAY_OF_MONTH, -30);
         startDate2 = now.getTime().getTime()/1000;
         stDate2 = now.getTime();
-        list.addAll(WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate),"5"));
-        list.addAll(WeixinVacationList(String.valueOf(startDate2), String.valueOf(startDate),"5"));
+        list.addAll(WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate),"5",""));
+        list.addAll(WeixinVacationList(String.valueOf(startDate2), String.valueOf(startDate),"5",""));
             for (String ls:list){//循环审批id
                 workOvertime workOvertime = WeixinWorks(ls);
                 if (workOvertime!=null) {
@@ -779,16 +783,42 @@ public class WeixinUserImpl implements IWeixinUserService{
         now.add(Calendar.DAY_OF_MONTH, -30);
         startDate = now.getTime().getTime()/1000;
         stDate = now.getTime();
-        List<String> list = WeixinVacationList(String.valueOf(startDate),String.valueOf(endDate),null);
-        userQuitService.deleteQuit(sDate,eDate);
+        List<String> list = WeixinVacationList(String.valueOf(startDate),String.valueOf(endDate),"","3TmB1h5HqrhfjGe3iK6YAB3WaBu47w6FXugmpQea");
+       // userQuitService.deleteQuit(sDate,eDate);
         for (String ls:list){//循环审批id
            UserQuit quit = WeixinUserQuit(ls);
             if (quit!=null){
-                lst.add(quit);
+                try {
+                    userQuitService.save(quit);
+                }catch (Exception e){
+                    e.printStackTrace();
+                }
+
             }
         }
-        if (lst.size()>0){
-            userQuitService.saveQuits(lst);
+//        if (lst.size()>0){
+//            userQuitService.saveQuits(lst);
+//        }
+        return null;
+    }
+
+    @Override
+    public Map<String, Object> UserQuits() throws IOException, ParseException {
+        Calendar now = Calendar.getInstance();//获取系统时间实列
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date stDate =null;
+        Date enDate = now.getTime();
+        now.add(Calendar.DAY_OF_MONTH, -30);
+        now.add(Calendar.DAY_OF_MONTH, -30);
+        stDate=now.getTime();
+        List<UserQuit> lists = userQuitService.lists(sdf.format(stDate), sdf.format(enDate));
+        if (lists!=null&&lists.size()>0){
+            lists.forEach(str->{
+                SysUser user =new SysUser();
+                user.setId(str.getUserId());
+                user.setEmploymentStatus(30);
+                sysUserService.updateById(user);
+            });
         }
         return null;
     }
@@ -803,7 +833,6 @@ public class WeixinUserImpl implements IWeixinUserService{
     public Map<String, Object> WeixinChange() throws IOException, ParseException {
         Map<String,Object>map=new HashMap<>();
         UrlData.getVacationToken();
-        UrlData.getToken();
         String msg="ok";
         List<UserQuit>lst=new ArrayList<>();
         Calendar now = Calendar.getInstance();//获取系统时间实列
@@ -821,7 +850,7 @@ public class WeixinUserImpl implements IWeixinUserService{
         now.add(Calendar.DAY_OF_MONTH, -30);
         startDate = now.getTime().getTime()/1000;
         stDate = now.getTime();
-        List<String> list = WeixinVacationList(String.valueOf(startDate),String.valueOf(endDate),null);
+        List<String> list = WeixinVacationList(String.valueOf(startDate),String.valueOf(endDate),"","BsAbvVsPKdVX8a66FKM3PseMkbVo53fdL9U31eqar");
         for (String ls:list){//循环审批id
             UserChage userChage = WeixinUserChange(ls);
             boolean f=false;
@@ -858,6 +887,16 @@ public class WeixinUserImpl implements IWeixinUserService{
                     }
                 }if (str.getEndWages()!=null&&!str.getEndWages().equals("")){
                     sysUser.setWagesOne(str.getEndWages());
+                }if (str.getNewDeptId()!=null&&!str.getNewDeptId().equals("")){
+                    sysUser.setDepartIds(str.getNewDeptId());
+                    sysUserDepartService.deletes(str.getUserId());
+                    String[] split = str.getNewDeptId().split(",");
+                    for (String s:split){
+                       SysUserDepart userDepart=new SysUserDepart();
+                       userDepart.setUserId(str.getUserId());
+                       userDepart.setDepId(s);
+                        sysUserDepartService.save(userDepart);
+                    }
                 }
                 sysUserService.updateById(sysUser);
             });
@@ -895,8 +934,8 @@ public class WeixinUserImpl implements IWeixinUserService{
         now.add(Calendar.DAY_OF_MONTH, -30);
         startDate2 = now.getTime().getTime()/1000;
         stDate2 = now.getTime();
-        list.addAll(WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate),"2"));
-        list.addAll(WeixinVacationList(String.valueOf(startDate2), String.valueOf(startDate),"2"));
+        list.addAll(WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate),"2",""));
+        list.addAll(WeixinVacationList(String.valueOf(startDate2), String.valueOf(startDate),"2",""));
         makeUpCardService.deleteDate(sdf.format(startDate2));
         List<MakeUpCard>ls=new ArrayList<>();
         list.forEach(str->{
@@ -991,11 +1030,12 @@ public class WeixinUserImpl implements IWeixinUserService{
      * @return
      * @throws UnsupportedEncodingException
      */
-    public List<String>WeixinVacationList(String startDate,String endDate,String type) throws UnsupportedEncodingException {
+    public List<String>WeixinVacationList(String startDate,String endDate,String type,String tepid) throws UnsupportedEncodingException {
         Map<String, Object> headers = Maps.newHashMap();//请求头集合
         List<String>lt=new ArrayList<>();
         List<Map<String,Object>>ps=new ArrayList<>();
         Map<String,Object>map=new HashMap<>();
+        Map<String,Object>mapst=new HashMap<>();
         int cursor=0;
         headers.put("Content-Type", "application/json; charset=utf-8");
         ObjectMapper mapper = new ObjectMapper();//json转换实列
@@ -1010,6 +1050,11 @@ public class WeixinUserImpl implements IWeixinUserService{
                 map.put("key", "record_type");
                 map.put("value", type);
                 ps.add(map);
+            }if (tepid!=null&&!tepid.equals("")){
+                mapst.put("key", "template_id");
+                mapst.put("value", tepid);
+                ps.add(mapst);
+            }if (!type.equals("")||!tepid.equals("")){
                 params.put("filters", ps);
             }
             while (cursor!=-1) {
@@ -1248,11 +1293,11 @@ public class WeixinUserImpl implements IWeixinUserService{
                                     }else if (sr.get("control").equals("Text")) {
                                         List<Map<String,Object>>lis=(List<Map<String, Object>>)sr.get("title");
                                         String f=null;
-                                        if (lis.get(0).get("text").equals("原位")){
+                                        if (lis.get(0).get("text").equals("原位")){
                                             f="1";
-                                        }else if (lis.get(0).get("text").equals("新位")){
+                                        }else if (lis.get(0).get("text").equals("新位")){
                                             f="2";
-                                        }else if (lis.get(0).get("text").equals("薪资")){
+                                        }else if (lis.get(0).get("text").equals("调整前薪资")){
                                             f="3";
                                         }else if (lis.get(0).get("text").equals("调整后薪资")){
                                             f="4";
@@ -1311,9 +1356,10 @@ public class WeixinUserImpl implements IWeixinUserService{
             if (errcode.equals("0")) {//判断接口是否请求成功
                 WeixinApproval weixinApproval = JSONArray.parseObject(mapTypes.get("info").toString(), WeixinApproval.class);//字符串转实体类
                 if (weixinApproval != null && weixinApproval.getSp_status().equals("2")) {//获取数据库字段所需的数据
-                    if (weixinApproval.getSp_name().equals("入职") || weixinApproval.getSp_name().equals("转正") || weixinApproval.getSp_name().equals("离职")) {
+                    if (weixinApproval.getSp_name().equals("离职")) {
                         quit = new UserQuit();
                         quit.setSpNo(weixinApproval.getSp_no());
+                        quit.setId(weixinApproval.getSp_no());
                         quit.setSpName(weixinApproval.getSp_name());
                         String us = weixinApproval.getApplyer().toString();
                         mapTypes = JSON.parseObject(us);
@@ -1354,11 +1400,37 @@ public class WeixinUserImpl implements IWeixinUserService{
                                             if (!types.get("s_timestamp").equals("") && types.get("s_timestamp") != null) {
                                                 quit.setZzDate(new Date(Long.valueOf(types.get("s_timestamp").toString()) * 1000));
                                             }
+                                        }else if (m.get("text").equals("实际离职日期(人事部填写)")){
+                                            if (!types.get("s_timestamp").equals("") && types.get("s_timestamp") != null) {
+                                                quit.setNewDate(new Date(Long.valueOf(types.get("s_timestamp").toString()) * 1000));
+                                            }
                                         }
                                     }
                                 } else if (s.equals("Textarea")) {
                                     types = (Map) types.get("value");
                                     quit.setRemarks(types.get("text").toString());
+                                }else  if (s.equals("Text")){
+                                    types = (Map) types.get("value");
+                                    quit.setPost(types.get("text").toString());
+                                }else if (s.equals("Contact")){
+                                    List<Map<String,Object>>lts=(List<Map<String, Object>>) types.get("title");
+                                    if (lts.get(0).get("text").equals("离职申请人")){
+                                        types = (Map) types.get("value");
+                                        lts=(List<Map<String, Object>>) types.get("members");
+                                        quit.setUserId(lts.get(0).get("userid").toString());
+                                        quit.setUserName(lts.get(0).get("name").toString());
+                                    }else if (lts.get(0).get("text").equals("所在部门")){
+                                        types = (Map) types.get("value");
+                                        lts=(List<Map<String, Object>>) types.get("departments");
+                                        String deptname="";
+                                        String deptid="";
+                                        for (Map mp:lts){
+                                            deptname+=mp.get("name")+",";
+                                            deptid+=mp.get("openapi_id")+",";
+                                        }
+                                        quit.setDept(deptname.substring(0,deptname.length()-1));
+                                        quit.setDeptId(deptid.substring(0,deptid.length()-1));
+                                    }
                                 }
                             }
                         }
@@ -1396,8 +1468,8 @@ public class WeixinUserImpl implements IWeixinUserService{
             now.add(Calendar.DAY_OF_MONTH, -30);
             startDate2 = now.getTime().getTime()/1000;
             stDate2 = now.getTime();
-             list.addAll(WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate),"1"));
-             list.addAll(WeixinVacationList(String.valueOf(startDate2), String.valueOf(startDate),"1"));
+             list.addAll(WeixinVacationList(String.valueOf(startDate), String.valueOf(endDate),"1",""));
+             list.addAll(WeixinVacationList(String.valueOf(startDate2), String.valueOf(startDate),"1",""));
                     for (String ls:list){//循环审批id
                         Vacation vacation = WeixinVacationdetail(ls);
                         if (vacation!=null) {