LG88888888 3 rokov pred
rodič
commit
3df44078fb
74 zmenil súbory, kde vykonal 486 pridanie a 67 odobranie
  1. 21 8
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/YouBianCodeUtil.java
  2. BIN
      jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/common/util/YouBianCodeUtil.class
  3. 2 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.java
  4. 8 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml
  5. 4 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.java
  6. 5 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/controller/ShiftController.java
  7. 2 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/ShiftMapper.java
  8. 10 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml
  9. 5 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/IShiftService.java
  10. 10 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.java
  11. 2 9
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/controller/UserShiftController.java
  12. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.java
  13. 8 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml
  14. 4 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java
  15. 14 4
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java
  16. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.class
  17. 8 0
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml
  18. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.class
  19. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/controller/ShiftController.class
  20. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/ShiftMapper.class
  21. 10 0
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml
  22. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/IShiftService.class
  23. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.class
  24. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/controller/UserShiftController.class
  25. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserShiftMothVo.class
  26. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.class
  27. 8 1
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml
  28. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/IUserShiftService.class
  29. BIN
      jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.class
  30. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openapi4j/service/DepartmentService.java
  31. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openapi4j/service/PersonService.java
  32. 27 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/UserTPJob.java
  33. 27 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/WorkJob.java
  34. 54 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  35. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java
  36. 5 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  37. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml
  38. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml
  39. 42 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  40. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/CategoryCodeRule.java
  41. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/OrgCodeRule.java
  42. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java
  43. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserRoleService.java
  44. 4 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  45. 9 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java
  46. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.java
  47. 55 17
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
  48. 13 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/controller/workOvertimeController.java
  49. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/mapper/workOvertimeMapper.java
  50. 21 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/mapper/xml/workOvertimeMapper.xml
  51. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/service/IworkOvertimeService.java
  52. 23 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/service/impl/workOvertimeServiceImpl.java
  53. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysUserController.class
  54. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysDepartMapper.class
  55. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysUserMapper.class
  56. 3 0
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml
  57. 3 3
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml
  58. 42 1
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  59. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/rule/CategoryCodeRule.class
  60. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/rule/OrgCodeRule.class
  61. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysDepartService.class
  62. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysUserRoleService.class
  63. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysUserService.class
  64. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/IWeixinUserService.class
  65. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.class
  66. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.class
  67. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysUserServiceImpl.class
  68. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$1.class
  69. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$2.class
  70. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$3.class
  71. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$4.class
  72. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$5.class
  73. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl.class
  74. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/WeixinUser.class

+ 21 - 8
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/YouBianCodeUtil.java

@@ -27,9 +27,9 @@ public class YouBianCodeUtil {
 	public static synchronized String getNextYouBianCode(String code) {
 		String newcode = "";
 		if (code == null || code =="") {
-			String zimu = "A";
+			//String zimu = "A";
 			String num = getStrNum(1);
-			newcode = zimu + num;
+			newcode = num;
 		} else {
 			String before_code = code.substring(0, code.length() - 1- numLength);
 			String after_code = code.substring(code.length() - 1 - numLength,code.length());
@@ -76,14 +76,27 @@ public class YouBianCodeUtil {
 	 * @param localCode    同级code
 	 * @return
 	 */
-	public static synchronized String getSubYouBianCode(String parentCode,String localCode) {
+	public static synchronized String getSubYouBianCode(String parentCode,String localCode,String type) {
 		if(localCode!=null && localCode!=""){
-
-//			return parentCode + getNextYouBianCode(localCode);
-			return getNextYouBianCode(localCode);
-
+			if (type.equals("1")){
+				String before_code = localCode.substring(0, localCode.length() - 1);
+				String after_code = localCode.substring(localCode.length() - 1,localCode.length());
+					int i = Integer.parseInt(localCode);
+					if (i>=10){
+						return  String.valueOf(getNextNum(Integer.parseInt(localCode)));
+					}else {
+						return  String.valueOf(getNextStrNum(Integer.parseInt(after_code)));
+					}
+			}else {
+				return getNextYouBianCode(localCode);
+			}
 		}else{
-			parentCode = parentCode + "A"+ getNextStrNum(0);
+			if (type.equals("1")){
+
+				parentCode = parentCode +getNextNum(0);
+			}else {
+				parentCode = parentCode + getNextStrNum(0);
+			}
 		}
 		return parentCode;
 	}

BIN
jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/common/util/YouBianCodeUtil.class


+ 2 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.geke.attendance.mapper;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.geke.attendance.entity.Attendance;
@@ -31,5 +32,5 @@ public interface AttendanceMapper extends BaseMapper<Attendance> {
      * @return
      */
     int DeleteDateAttendance(@Param("StartDate")String StartDate,@Param("EndDate")String EndDate,@Param("userids")List<String> userids);
-
+    Map<String,Object> getOneWork(@Param("userId")String userId, @Param("date")String date);
 }

+ 8 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml

@@ -64,5 +64,13 @@ where 1=1
         </if>
         and d.exception_type !='未打卡'
     </select>
+    <select id="getOneWork" resultType="java.util.Map">
+        select *from bd_work_overtime where 1=1
+<if test="date!=null and ''!=date">
+    and date_format(begin_date,'%Y-%m-%d')>=#{date}  and date_format(end_date,'%Y-%m-%d')&lt;=#{date}</if>
+<if test="userId!=null and ''!=userId">
+    and person=#{userId}
+</if>
+    </select>
 
 </mapper>

+ 4 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.java

@@ -37,6 +37,7 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
     @Autowired
     private UserShiftMapper userShiftMapper;
 
+
     @Override
     public Map<String,Object> queryList(String userid, String date) throws ParseException {
         Map<String,Object> map=new HashMap<>();
@@ -115,7 +116,7 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
                             attendances.get(0).setCheckinType("下班打卡");
                         }
                     }else{
-                        attendances.get(attendances.size()-1).setCheckinType("下班打卡");
+                        attendances.get(attendances.size()-1).setCheckinType("下班打卡");
 
                         if (attendances.get(0).getUsDate().getTime()>sd.parse(sdf.format(attendances.get(0).getUsDate()) + " " + oneUserShift.get(oneUserShift.size()-1).get("startDate").toString()).getTime()&&attendances.get(0).getUsDate().getTime()<sd.parse(sdf.format(attendances.get(0).getUsDate()) + " " + oneUserShift.get(oneUserShift.size()-1).get("endDate").toString()).getTime()){
                             attendances.get(0).setExceptionType("迟到");
@@ -221,10 +222,12 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
                     lit.add(at);
             }
             Vacation vacation = vacationMapper.vacation(userid, date);//获取当前用户的假期数据
+        Map<String, Object> oneWork = attendanceMapper.getOneWork(userid, date);
         map.put("date",attendances);
         map.put("data",vacation);
         map.put("day",lit);
         map.put("count",cont);
+        map.put("work",oneWork);
         return map;
     }
 

+ 5 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/controller/ShiftController.java

@@ -170,4 +170,9 @@ public class ShiftController extends JeecgController<Shift, IShiftService> {
       return super.importExcel(request, response, Shift.class);
   }
 
+  @GetMapping(value = "/listShift")
+  public List<Map<String,Object>>listShift(String userid,String date){
+	  List<Map<String, Object>> maps = shiftService.listUserShift(userid, date);
+	  return maps;
+  }
 }

+ 2 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/ShiftMapper.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.geke.shift.mapper;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.geke.shift.entity.Shift;
@@ -14,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ShiftMapper extends BaseMapper<Shift> {
 
+    List<Map<String,Object>>listUserShift(@Param("userid") String userid,@Param("date") String date);
 }

+ 10 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml

@@ -2,4 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.geke.shift.mapper.ShiftMapper">
 
+    <select id="listUserShift" resultType="java.util.Map">
+        select a.name,date_format(a.start_date,'%H:%i:%s') as 'startDate', date_format(a.end_date,'%H:%i:%s') as 'endDate',date_format(b.shift_date,'%Y-%m-%d') as 'shiftDate' from geke_shift a left join geke_user_shift b on a.id=b.shift_id where 1=1
+        <if test="date!=null and ''!=date">
+            and  date_format(b.shift_date,'%Y-%m')=date_format(#{date},'%Y-%m')
+        </if>
+<if test="userid!=null and ''!=userid">
+    and user_id=#{userid}
+</if>
+ order by b.shift_date desc
+    </select>
 </mapper>

+ 5 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/IShiftService.java

@@ -1,8 +1,12 @@
 package org.jeecg.modules.geke.shift.service;
 
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.geke.shift.entity.Shift;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 班次档案
  * @Author: jeecg-boot
@@ -12,5 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IShiftService extends IService<Shift> {
 
 
+    List<Map<String,Object>> listUserShift(String userid, String date);
 
 }

+ 10 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.java

@@ -3,10 +3,14 @@ package org.jeecg.modules.geke.shift.service.impl;
 import org.jeecg.modules.geke.shift.entity.Shift;
 import org.jeecg.modules.geke.shift.mapper.ShiftMapper;
 import org.jeecg.modules.geke.shift.service.IShiftService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 班次档案
  * @Author: jeecg-boot
@@ -15,5 +19,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class ShiftServiceImpl extends ServiceImpl<ShiftMapper, Shift> implements IShiftService {
+    @Autowired
+    private  ShiftMapper shiftMapper;
 
+    @Override
+    public List<Map<String, Object>> listUserShift(String userid, String date) {
+        return shiftMapper.listUserShift(userid,date);
+    }
 }

+ 2 - 9
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/controller/UserShiftController.java

@@ -129,8 +129,8 @@ public class UserShiftController extends JeecgController<UserShift, IUserShiftSe
 	@AutoLog(value = "员工排班-通过id删除")
 	@ApiOperation(value="员工排班-通过id删除", notes="员工排班-通过id删除")
 	@DeleteMapping(value = "/delete")
-	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
-		userShiftService.removeById(id);
+	public Result<?> delete(@RequestParam(name="id",required=true) String id,@RequestParam(name="date",required=true) String date) {
+		userShiftService.deleteUserShift(id,date);
 		return Result.OK("删除成功!");
 	}
 	
@@ -197,14 +197,7 @@ public class UserShiftController extends JeecgController<UserShift, IUserShiftSe
 //		 return Result.OK(maps);
 //	 }
 
-	 @GetMapping(value = "/queryMothByUser")
-	 public Result<?> queryMothByUser(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-									  HttpServletRequest req,UserShift userShift) throws ParseException {
-		 IPage<Map<String, Object>> maps = userShiftService.mothUserShift(DateUtils.formatDate(userShift.getShiftDate()),pageNo,pageSize);
 
-		 return Result.OK(maps);
-	 }
 
 
 

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

@@ -41,5 +41,5 @@ public interface UserShiftMapper extends BaseMapper<UserShift> {
 
     List<Map<String,Object>> getMothUserShifts(@Param("userid")String userid, @Param("date")String date);
 
-    List<Map<String,Object>>getUsers(Page<Map<String,Object>> page);
+    List<Map<String,Object>>getUsers(Page<Map<String,Object>> page,@Param("deptids")List<String> deptids);
 }

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

@@ -68,7 +68,14 @@ order by a.shift_date desc
         order by date_format(a.shift_date,'%Y-%m-%d') asc
     </select>
     <select id="getUsers" resultType="java.util.Map">
-        select id,realname from sys_user where del_flag='0'
+        select DISTINCT a.id,a.realname,a.create_time from sys_user a left join sys_user_depart b on a.id=b.user_id where a.del_flag='0'
+        <if test="deptids!=null and deptids.size()>0">
+            and b.dep_id in
+            <foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+       order by a.create_time desc
     </select>
 
 </mapper>

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

@@ -21,6 +21,8 @@ import java.util.Map;
 public interface IUserShiftService extends IService<UserShift> {
     public boolean addUserShift(String shift, String userids, Date date);
 
+    int deleteUserShift(String userid,String date);
+
     //用户排班数据
     public Page<UserShiftVo>  queryUserShift(Page<UserShiftVo> page,String username);
 
@@ -31,7 +33,7 @@ public interface IUserShiftService extends IService<UserShift> {
 
     List<Map<String,Object>> getMothUserShifts(String userid, String date);
 
-    IPage<Map<String,Object>>mothUserShift(String date,Integer pageNo,Integer pageSize) throws ParseException;
+    IPage<Map<String,Object>>mothUserShift(String date,Integer pageNo,Integer pageSize,List<String>deptids) throws ParseException;
 
-    IPage<Map<String,Object>> getUsers(Page<Map<String,Object>> page);
+    IPage<Map<String,Object>> getUsers(Page<Map<String,Object>> page,List<String> deptids);
 }

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

@@ -1,7 +1,10 @@
 package org.jeecg.modules.geke.userShift.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.geke.userShift.entity.UserDept;
 import org.jeecg.modules.geke.userShift.entity.UserShift;
@@ -31,6 +34,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     private  UserShiftMapper userShiftMapper;
 
 
+
     @Override
     public boolean addUserShift(String shift, String userids,Date date) {
         List<UserShift>list=new ArrayList<>();
@@ -54,6 +58,11 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
         return super.saveBatch(list);
     }
 
+    @Override
+    public int deleteUserShift(String userid, String date) {
+        return userShiftMapper.deleteUserShift(userid,date);
+    }
+
     @Override
     public Page<UserShiftVo> queryUserShift(Page<UserShiftVo> page, String username) {
         List<UserShiftVo> userShiftVos = userShiftMapper.queryUserShift(page, username);
@@ -99,10 +108,11 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     }
 
     @Override
-    public IPage<Map<String, Object>> mothUserShift(String date,Integer pageNo,Integer pageSize) throws ParseException {
+    public IPage<Map<String, Object>> mothUserShift(String date,Integer pageNo,Integer pageSize,List<String>deptids) throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Page<Map<String, Object>> page = new Page<Map<String, Object>>(pageNo, pageSize);
-        IPage<Map<String, Object>> users = getUsers(page);
+        List<String> mySubDepIdsByDepId=null;
+        IPage<Map<String, Object>> users = getUsers(page,deptids);
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(sdf.parse(date));
 
@@ -128,7 +138,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     }
 
     @Override
-    public IPage<Map<String, Object>> getUsers(Page<Map<String, Object>> page) {
-        return page.setRecords(userShiftMapper.getUsers(page));
+    public IPage<Map<String, Object>> getUsers(Page<Map<String, Object>> page,List<String> deptids) {
+        return page.setRecords(userShiftMapper.getUsers(page,deptids));
     }
 }

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/AttendanceMapper.class


+ 8 - 0
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/mapper/xml/AttendanceMapper.xml

@@ -64,5 +64,13 @@ where 1=1
         </if>
         and d.exception_type !='未打卡'
     </select>
+    <select id="getOneWork" resultType="java.util.Map">
+        select *from bd_work_overtime where 1=1
+<if test="date!=null and ''!=date">
+    and date_format(begin_date,'%Y-%m-%d')>=#{date}  and date_format(end_date,'%Y-%m-%d')&lt;=#{date}</if>
+<if test="userId!=null and ''!=userId">
+    and person=#{userId}
+</if>
+    </select>
 
 </mapper>

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/controller/ShiftController.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/ShiftMapper.class


+ 10 - 0
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/mapper/xml/ShiftMapper.xml

@@ -2,4 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.geke.shift.mapper.ShiftMapper">
 
+    <select id="listUserShift" resultType="java.util.Map">
+        select a.name,date_format(a.start_date,'%H:%i:%s') as 'startDate', date_format(a.end_date,'%H:%i:%s') as 'endDate',date_format(b.shift_date,'%Y-%m-%d') as 'shiftDate' from geke_shift a left join geke_user_shift b on a.id=b.shift_id where 1=1
+        <if test="date!=null and ''!=date">
+            and  date_format(b.shift_date,'%Y-%m')=date_format(#{date},'%Y-%m')
+        </if>
+<if test="userid!=null and ''!=userid">
+    and user_id=#{userid}
+</if>
+ order by b.shift_date desc
+    </select>
 </mapper>

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/IShiftService.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/shift/service/impl/ShiftServiceImpl.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/controller/UserShiftController.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/entity/UserShiftMothVo.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.class


+ 8 - 1
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml

@@ -68,7 +68,14 @@ order by a.shift_date desc
         order by date_format(a.shift_date,'%Y-%m-%d') asc
     </select>
     <select id="getUsers" resultType="java.util.Map">
-        select id,realname from sys_user where del_flag='0';
+        select DISTINCT a.id,a.realname,a.create_time from sys_user a left join sys_user_depart b on a.id=b.user_id where a.del_flag='0'
+        <if test="deptids!=null and deptids.size()>0">
+            and b.dep_id in
+            <foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+       order by a.create_time desc
     </select>
 
 </mapper>

BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/IUserShiftService.class


BIN
jeecg-boot-module-demo/target/classes/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.class


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

@@ -82,6 +82,7 @@ public class DepartmentService extends BaseService {
 			Map<String, String> paramMap = new HashMap();
 			paramMap.put("to_account", to_account);
 			paramMap.put("tradeid", tradeId);
+			paramMap.put("ds_sequence","4");
 			String url = this.createURL("department/add", paramMap);
 			logger.debug(url);
 			String resultStr = HttpUtil.post(url, jsonBody);

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

@@ -80,6 +80,7 @@ public class PersonService extends BaseService {
 			Map<String, String> paramMap = new HashMap();
 			paramMap.put("to_account", to_account);
 			paramMap.put("tradeid", tradeId);
+			paramMap.put("ds_sequence","4");
 			String url = this.createURL("person/add", paramMap);
 			logger.debug(url);
 			String resultStr = HttpUtil.post(url, jsonBody);

+ 27 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/UserTPJob.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.quartz.job;
+
+import lombok.SneakyThrows;
+import org.jeecg.modules.system.service.IWeixinUserService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 微信同步用户数据到平台
+ */
+public class UserTPJob implements Job {
+    @Autowired
+    IWeixinUserService weixinUserService;
+
+
+    @SneakyThrows
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        System.out.println("=======================开始执行======================");
+                weixinUserService.pullData();
+        System.out.println("=======================执行完成======================");
+
+    }
+
+}

+ 27 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/WorkJob.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.quartz.job;
+
+import lombok.SneakyThrows;
+import org.jeecg.modules.system.service.IWeixinUserService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 微信同步加班数据到平台
+ */
+public class WorkJob implements Job {
+    @Autowired
+    IWeixinUserService weixinUserService;
+
+
+    @SneakyThrows
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        System.out.println("=======================开始执行======================");
+                weixinUserService.WeixinWork();
+        System.out.println("=======================执行完成======================");
+
+    }
+
+}

+ 54 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -19,6 +19,7 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.jeecg.common.api.vo.Result;
@@ -31,7 +32,9 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
 import org.jeecg.modules.geke.attendance.service.IAttendanceService;
+import org.jeecg.modules.geke.userShift.entity.UserShift;
 import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
+import org.jeecg.modules.geke.userShift.service.IUserShiftService;
 import org.jeecg.modules.geke.vacation.entity.Vacation;
 import org.jeecg.modules.geke.vacation.mapper.VacationMapper;
 import org.jeecg.modules.geke.vacation.service.IVacationService;
@@ -119,6 +122,9 @@ public class SysUserController {
     @Autowired
     private SysDepartMapper departMapper;
 
+    @Autowired
+    private IUserShiftService userShiftService;
+
 
 	@Autowired
 	private RedisUtil redisUtil;
@@ -237,7 +243,29 @@ public class SysUserController {
     	//TODO 外部模拟登陆临时账号,列表不显示
         queryWrapper.ne("username","_reserve_user_external");
 		Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
-		IPage<SysUser> pageList = sysUserService.page(page, queryWrapper);
+        String deptids="";
+        List<String> mySubDepIdsByDepId=null;
+        String state="0";
+        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+        List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, sysUser.getId()));
+        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);
+                    }
+                    break;
+                }
+            }
+        }
+        IPage<SysUser> pageList = sysUserService.deptUser(page,user.getUsername(),mySubDepIdsByDepId,user.getSex(),user.getRealname(),user.getPhone(),user.getStatus());
 
 		//批量查询用户的所属部门
         //step.1 先拿到全部的 useids
@@ -1646,4 +1674,29 @@ public class SysUserController {
         IPage<SysUser> pageList = sysUserService.queryUserShift(page,sysUser.getUsername(),sysUser.getDepartId(),sysUser.getId(),sysUser.getEntryDate());
         return Result.OK(pageList);
     }
+
+    @GetMapping(value = "/queryMothByUser")
+    public Result<?> queryMothByUser(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                     @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                     HttpServletRequest req, UserShift userShift) throws ParseException {
+        String deptids="";
+        List<String> mySubDepIdsByDepId=null;
+        LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+        List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, sysUser.getId()));
+        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()+",";
+                    }
+                    mySubDepIdsByDepId = sysDepartService.getMySubDepIdsByDepId(deptids);
+
+                }
+            }
+        }
+        IPage<Map<String, Object>> maps = userShiftService.mothUserShift(DateUtils.formatDate(userShift.getShiftDate()),pageNo,pageSize,mySubDepIdsByDepId);
+
+        return Result.OK(maps);
+    }
 }

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java

@@ -57,4 +57,5 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
 	//导入根据部门名称查询部门id
 	String getDepartLis(@Param("name") String name);
 
+	List<SysDepart>listDept();
 }

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

@@ -200,10 +200,13 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 	List<SysUser> queryUserShift(Page<SysUser> page,@Param("username") String username,@Param("userids")List<String>userids,@Param("deptid")String deptid,@Param("userid")String userid);
 
-	List<DepartTreeVo>Deptlist(@Param("pid")List<String>  pid,@Param("name")String name);
+	List<DepartTreeVo>Deptlist(@Param("pid")List<String>  pid,@Param("name")String name,@Param("ids")List<String>ids);
 
 	List<DepartTreeVo>selectByUser(@Param("id")String id);
 
-	List<DepartTreeVo>DeptTree();
+	List<DepartTreeVo>DeptTree(List<String>ids);
+
+	List<SysUser>deptUser(Page<SysUser> page,@Param("username") String username,@Param("deptids")List<String>deptids,@Param("sex")Integer sex,@Param("realname")String realname,@Param("ipone")String ipone,@Param("state")Integer state);
+
 
 }

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

@@ -46,5 +46,8 @@
             and depart_name=#{name}
         </if>
     </select>
+    <select id="listDept" resultType="org.jeecg.modules.system.entity.SysDepart">
+        select *from sys_depart  where org_code!='0' order by org_type asc
+    </select>
 
 </mapper>

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml

@@ -53,7 +53,7 @@
 					)
 					or (p.url like '%:code' and p.url like '/online%' and p.hidden = 1)
 					or p.url = '/online')
-			   and p.del_flag = 0
+			   and p.del_flag = 0  AND p.id not in('1462618866362900482','1462619077051179010','1462619990193102849','1462620435628187650','1462658124922519553','1462658413884899329','1462705936934707202','1473909700802678785','1473889222096642050')
 			<!--update begin Author:lvdandan  Date:20200213 for:加入部门权限 -->
 			   UNION
 			   SELECT p.*
@@ -65,7 +65,7 @@
 					join sys_user d on d.id = c.user_id
 					where p.id = a.permission_id AND d.username = #{username,jdbcType=VARCHAR}
 			   )
-			   and p.del_flag = 0
+			   and p.del_flag = 0  AND p.id not in('1462618866362900482','1462619077051179010','1462619990193102849','1462620435628187650','1462658124922519553','1462658413884899329','1462705936934707202','1473909700802678785','1473889222096642050')
 			<!--update end Author:lvdandan  Date:20200213 for:加入部门权限 -->
 		   ) h order by h.sort_no ASC
 	</select>
@@ -115,7 +115,7 @@
 																								  ON d.id = c.user_id
 				WHERE p.id = a.permission_id
 
-				  AND d.id =#{username} )) and p.del_flag = 0
+				  AND d.id =#{username} )) and p.del_flag = 0 AND p.id in('1462618866362900482','1462619990193102849','1462620435628187650','1462658124922519553','1462658413884899329','1462705936934707202','1473889222096642050','1473909700802678785')
 	</select>
 
 

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

@@ -333,6 +333,12 @@ on a.depart_name=b.orgCodeTxt
 				#{id}
 			</foreach>
 		</if>
+		<if test="ids!=null and ids.size()>0">
+			and id in
+			<foreach collection="ids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
 		<if test="name!=null and ''!=name">
 			and depart_name=#{name}
 		</if>
@@ -347,7 +353,42 @@ on a.depart_name=b.orgCodeTxt
 		where a.id=#{id}
 	</select>
 	<select id="DeptTree" resultType="org.jeecg.modules.system.vo.DepartTreeVo">
-		select id, depart_name as 'name',parent_id as 'pid' from sys_depart where parent_id is not null and parent_id!=""
+		select id, depart_name as 'name',parent_id as 'pid' from sys_depart where 1=1
+		<if test="ids!=null and ids.size()>0">
+			and id in
+			<foreach collection="ids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
+		<if test="ids==null or ids.size()==0">
+		and 	parent_id is not null and parent_id!=""
+		</if>
+	</select>
+    <select id="deptUser" resultType="org.jeecg.modules.system.entity.SysUser">
+		select DISTINCT a.*
+		from sys_user a left join sys_user_depart b on a.id=b.user_id where 1=1
+		<if test="username!=null and ''!=username">
+			and a.username like concat(concat('%',#{username}),'%')
+		</if>
+		<if test="sex!=null and ''!=sex">
+			and a.sex like concat(concat('%',#{sex}),'%')
+		</if>
+		<if test="ipone!=null and ''!=ipone">
+			and a.phone=#{ipone}
+		</if>
+		<if test="realname!=null and ''!=realname">
+			and a.realname=#{realname}
+		</if>
+		<if test="deptids!=null and deptids.size()>0">
+			and b.dep_id in
+			<foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
+		<if test="state!=null and ''!=state">
+			and a.status=#{state}
+		</if>
+	and a.del_flag='0' order by create_time desc
 	</select>
 
 </mapper>

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/CategoryCodeRule.java

@@ -53,7 +53,7 @@ public class CategoryCodeRule implements IFillRuleHandler {
             } else {
                 //情况2
                 SysCategory parent = (SysCategory) baseMapper.selectById(categoryPid);
-                categoryCode = YouBianCodeUtil.getSubYouBianCode(parent.getCode(), null);
+                categoryCode = YouBianCodeUtil.getSubYouBianCode(parent.getCode(), null,"0");
             }
         } else {
             //情况3

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/OrgCodeRule.java

@@ -53,8 +53,8 @@ public class OrgCodeRule implements IFillRuleHandler {
             query1.orderByDesc(SysDepart::getOrgCode);
             departList = sysDepartService.list(query1);
             if (departList == null || departList.size() == 0) {
-                strArray[0] = YouBianCodeUtil.getNextYouBianCode(null);
-                strArray[1] = "1";
+                strArray[0] = "0";
+                strArray[1] = "0";
                 return strArray;
             } else {
                 SysDepart depart = departList.get(0);
@@ -78,12 +78,12 @@ public class OrgCodeRule implements IFillRuleHandler {
             // 处理同级部门为null的情况
             if (parentList == null || parentList.size() == 0) {
                 // 直接生成当前的部门编码并返回
-                newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null);
+                newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null,orgType);
             } else { //处理有同级部门的情况
                 // 获取同级部门的编码,利用工具类
                 String subCode = parentList.get(0).getOrgCode();
                 // 返回生成的当前部门编码
-                newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode);
+                newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode,orgType);
             }
         }
         // 返回最终封装了部门编码和部门类型的数组

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

@@ -113,4 +113,6 @@ public interface ISysDepartService extends IService<SysDepart>{
     SysDepart getOneDepart( String id);
 
     Boolean saveDepart(SysDepart sysDepart);
+
+    List<SysDepart>listDept();
 }

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

@@ -15,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2018-12-21
  */
 public interface ISysUserRoleService extends IService<SysUserRole> {
+   Boolean saveUserRole(SysUserRole sysUserRole);
 }

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

@@ -17,6 +17,7 @@ import org.jeecg.common.system.vo.SysUserCacheInfo;
 import org.jeecg.modules.system.entity.SysUser;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysUserRole;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.vo.DepartTreeVo;
 import org.springframework.transaction.annotation.Transactional;
@@ -284,7 +285,7 @@ public interface ISysUserService extends IService<SysUser> {
 
 
 	//获取企业微信的数据同步到本地数据库
-	Boolean add(SysUser sysUser);
+	Boolean add(SysUser sysUser, SysUserRole sysUserRole);
 
 	SysUser getUserByid(String id);
 //查询部门id
@@ -299,4 +300,6 @@ List<String>  departIds(String userid);
 
 	Page<SysUser>queryUserShift(Page<SysUser> page, String username, String deptid, String userid, Date date);
 
+	Page<SysUser>deptUser(Page<SysUser> page,String username,List<String>deptids,Integer sex,String realname,String ipone,Integer state);
+
 }

+ 9 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java

@@ -185,12 +185,12 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 					// 处理同级部门为null的情况
 					if (parentList == null || parentList.size() == 0) {
 						// 直接生成当前的部门编码并返回
-						newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null);
+						newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null,orgType);
 					} else { //处理有同级部门的情况
 						// 获取同级部门的编码,利用工具类
 						String subCode = parentList.get(0).getOrgCode();
 						// 返回生成的当前部门编码
-						newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode);
+						newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode,orgType);
 					}
 				}
 				// 返回最终封装了部门编码和部门类型的数组
@@ -403,7 +403,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 		Map<String,String> map = new HashMap<>();
 		//1.先将同一公司归类
 		for(SysDepart dept : list){
-			String code = dept.getOrgCode().substring(0,3);
+			String code = dept.getOrgCode().substring(0,2);
 			if(map.containsKey(code)){
 				String mapCode = map.get(code)+","+dept.getOrgCode();
 				map.put(code,mapCode);
@@ -467,13 +467,18 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 	public Boolean saveDepart(SysDepart sysDepart) {
 		SysDepart byId = super.getById(sysDepart.getId());
 		if (byId!=null){
-			return	super.updateById(byId);
+			return	true;
 		}else {
 			return	super.save(sysDepart);
 		}
 
 	}
 
+	@Override
+	public List<SysDepart> listDept() {
+		return sysDepartMapper.listDept();
+	}
+
 	/**
      * 根据关键字筛选部门信息
      * @param keyWord

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

@@ -26,5 +26,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService {
+    @Autowired
+    private SysUserRoleMapper sysUserRoleMapper;
 
+    @Override
+    public Boolean saveUserRole(SysUserRole sysUserRole) {
+
+        return super.save(sysUserRole);
+    }
 }

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

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.formula.functions.T;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
@@ -23,6 +24,8 @@ import org.jeecg.modules.geke.teams.service.ITeamsService;
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.*;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
+import org.jeecg.modules.system.service.ISysDepartService;
+import org.jeecg.modules.system.service.ISysUserRoleService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecg.modules.system.util.UrlData;
 import org.jeecg.modules.system.vo.DepartTreeVo;
@@ -48,7 +51,9 @@ import java.util.stream.Collectors;
 @Service
 @Slf4j
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
-	
+	@Autowired
+	private ISysDepartService sysDepartService;
+
 	@Autowired
 	private SysUserMapper userMapper;
 	@Autowired
@@ -70,6 +75,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	@Resource
 	private BaseCommonService baseCommonService;
 
+	@Autowired
+	private ISysUserRoleService sysUserRoleService;
+
 	@Autowired
 	private ITeamsService teamsService;
 
@@ -508,11 +516,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 	//企业微信接口拉取数据增加用户方法
 	@Override
-	public Boolean add(SysUser sysUser) {
+	public Boolean add(SysUser sysUser,SysUserRole sysUserRole) {
 		SysUser byId = this.getOnes(sysUser.getId());
 		if (byId!=null &&!byId.equals("")){
 			return super.updateById(sysUser);
 		}else {
+			sysUserRoleService.saveUserRole(sysUserRole);
 			sysUser.setStatus(1);
 			sysUser.setDelFlag(0);
 			if (StringUtils.isBlank(sysUser.getPassword())) {
@@ -522,10 +531,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 			// 密码加密加盐
 			String salt = oConvertUtils.randomGen(8);
 			sysUser.setSalt(salt);
-			sysUser.setUsername(UrlData.getPingYin(sysUser.getRealname()));
 			String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), sysUser.getPassword(), salt);
 			sysUser.setPassword(passwordEncode);
-			sysUser.setCode(UrlData.getPingYin(sysUser.getRealname()));
 			return this.save(sysUser);
 		}
 
@@ -576,6 +583,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return page.setRecords(sysUsers);
 	}
 
+	@Override
+	public Page<SysUser> deptUser(Page<SysUser> page, String username, List<String> deptids, Integer sex, String realname, String ipone, Integer state) {
+		return page.setRecords(userMapper.deptUser(page,username,deptids,sex,realname,ipone,state));
+	}
+
 
 	/**
 	 * 循环获取字典数据 树
@@ -588,25 +600,51 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		// 转化为vo
 		List<String>id=new ArrayList<>();
 		List<DepartTreeVo> dictVos=new ArrayList<>();
+		String deptids="";
+		String state="0";
+		List<String> mySubDepIdsByDepId=null;
+		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, sysUser.getId()));
+		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);
+					}
+				}
+			}
+		}
+
 		if (name!=null&&!name.equals("")){
-			 dictVos = userMapper.Deptlist(null, name);
-			if (dictVos!=null&&dictVos.size()>0){
-				id.add(dictVos.get(0).getId());
-				while (id!=null&&id.size()>0){
-					List<DepartTreeVo> deptlist1 = userMapper.Deptlist(id, "");
-					if (deptlist1!=null&&deptlist1.size()>0){
-						dictVos.addAll(deptlist1);
-						id.clear();
-						for (DepartTreeVo is:deptlist1){
-							id.add(is.getId());
+			if (mySubDepIdsByDepId!=null){
+				dictVos = userMapper.Deptlist(null, name,mySubDepIdsByDepId);
+			}else {
+				dictVos = userMapper.Deptlist(null, name, null);
+				if (dictVos != null && dictVos.size() > 0) {
+					id.add(dictVos.get(0).getId());
+					while (id != null && id.size() > 0) {
+						List<DepartTreeVo> deptlist1 = userMapper.Deptlist(id, "", null);
+						if (deptlist1 != null && deptlist1.size() > 0) {
+							dictVos.addAll(deptlist1);
+							id.clear();
+							for (DepartTreeVo is : deptlist1) {
+								id.add(is.getId());
+							}
+						} else {
+							id.clear();
 						}
-					}else {
-						id.clear();
 					}
 				}
 			}
 		}else {
-			dictVos = userMapper.DeptTree();
+			dictVos = userMapper.DeptTree(mySubDepIdsByDepId);
 		}
 		// 最终输出的树
 		List<DepartTreeVo> vos = new ArrayList<>();

+ 13 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/controller/workOvertimeController.java

@@ -70,7 +70,19 @@ public class workOvertimeController extends JeecgController<workOvertime, IworkO
 		IPage<workOvertime> pageList = workOvertimeService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
-	
+
+
+	 @AutoLog(value = "加班表-分页列表查询")
+	 @ApiOperation(value="加班表-分页列表查询", notes="加班表-分页列表查询")
+	 @GetMapping(value = "/lists")
+	 public Result<?> queryPageLists(workOvertime workOvertime,
+									@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+									@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+									HttpServletRequest req) {
+		 Page<workOvertime> page = new Page<workOvertime>(pageNo, pageSize);
+		 IPage<workOvertime> pageList = workOvertimeService.getWork(page,workOvertime.getPerson(),workOvertime.getCode());
+		 return Result.OK(pageList);
+	 }
 	/**
 	 * 添加
 	 *

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

@@ -1,7 +1,10 @@
 package org.jeecg.modules.workOvertime.mapper;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.workOvertime.entity.workOvertime;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -13,5 +16,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @Version: V1.0
  */
 public interface workOvertimeMapper extends BaseMapper<workOvertime> {
+    String getOne(@Param("userid")String userid,@Param("date") String date);
+
+    List<workOvertime>getworkList(Page<workOvertime> page,@Param("name")String name,@Param("code")String code);
 
 }

+ 21 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/mapper/xml/workOvertimeMapper.xml

@@ -2,4 +2,25 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.workOvertime.mapper.workOvertimeMapper">
 
+    <select id="getOne" resultType="java.lang.String">
+        select id from bd_work_overtime where 1=1
+<if test="userid!=null and ''!=userid">
+   and  person=#{userid}
+</if>
+<if test="date!=null and ''!=date">
+    and date_format(commit_date,'%Y-%m-%d')=#{date}
+</if>
+    </select>
+    <select id="getworkList" resultType="org.jeecg.modules.workOvertime.entity.workOvertime">
+        select a.code,a.demo,a.begin_date,a.end_date,a.commit_date,a.duration,b.realname as 'person',c.depart_name as 'dept' from bd_work_overtime a left  join sys_user b on a.person=b.id left join sys_depart
+        c on a.dept=c.id
+        where 1=1
+<if test="code!=null and ''!=code">
+    and  a.code=#{code}
+</if>
+<if test="name!=null and ''!=name">
+    and b.realname=#{name}
+</if>
+order by a.commit_date desc
+    </select>
 </mapper>

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/service/IworkOvertimeService.java

@@ -1,8 +1,12 @@
 package org.jeecg.modules.workOvertime.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.workOvertime.entity.workOvertime;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * @Description: 加班表
  * @Author: jeecg-boot
@@ -10,5 +14,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IworkOvertimeService extends IService<workOvertime> {
+    Boolean workSave(workOvertime work);
 
+    IPage<workOvertime> getWork(Page<workOvertime> page,String name, String code);
 }

+ 23 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/service/impl/workOvertimeServiceImpl.java

@@ -1,8 +1,12 @@
 package org.jeecg.modules.workOvertime.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.workOvertime.entity.workOvertime;
 import org.jeecg.modules.workOvertime.mapper.workOvertimeMapper;
 import org.jeecg.modules.workOvertime.service.IworkOvertimeService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -15,5 +19,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class workOvertimeServiceImpl extends ServiceImpl<workOvertimeMapper, workOvertime> implements IworkOvertimeService {
+    @Autowired
+    private  workOvertimeMapper works;
 
+    @Override
+    public Boolean workSave(workOvertime work) {
+        Boolean b=true;
+        String one = works.getOne(work.getPerson(), DateUtils.formatDate(work.getCommitDate()));
+        if (one!=null&&!one.equals("")){
+            return true;
+        }
+
+        b= save(work);
+
+       return b;
+    }
+
+    @Override
+    public IPage<workOvertime> getWork(Page<workOvertime> page, String name, String code) {
+        return page.setRecords(works.getworkList(page,name,code));
+    }
 }

BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/SysUserController.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysDepartMapper.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/SysUserMapper.class


+ 3 - 0
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml

@@ -46,5 +46,8 @@
             and depart_name=#{name}
         </if>
     </select>
+    <select id="listDept" resultType="org.jeecg.modules.system.entity.SysDepart">
+        select *from sys_depart  where org_code!='0' order by org_type asc
+    </select>
 
 </mapper>

+ 3 - 3
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml

@@ -53,7 +53,7 @@
 					)
 					or (p.url like '%:code' and p.url like '/online%' and p.hidden = 1)
 					or p.url = '/online')
-			   and p.del_flag = 0
+			   and p.del_flag = 0  AND p.id not in('1462618866362900482','1462619077051179010','1462619990193102849','1462620435628187650','1462658124922519553','1462658413884899329','1462705936934707202','1473909700802678785','1473889222096642050')
 			<!--update begin Author:lvdandan  Date:20200213 for:加入部门权限 -->
 			   UNION
 			   SELECT p.*
@@ -65,7 +65,7 @@
 					join sys_user d on d.id = c.user_id
 					where p.id = a.permission_id AND d.username = #{username,jdbcType=VARCHAR}
 			   )
-			   and p.del_flag = 0
+			   and p.del_flag = 0  AND p.id not in('1462618866362900482','1462619077051179010','1462619990193102849','1462620435628187650','1462658124922519553','1462658413884899329','1462705936934707202','1473909700802678785','1473889222096642050')
 			<!--update end Author:lvdandan  Date:20200213 for:加入部门权限 -->
 		   ) h order by h.sort_no ASC
 	</select>
@@ -115,7 +115,7 @@
 																								  ON d.id = c.user_id
 				WHERE p.id = a.permission_id
 
-				  AND d.id =#{username} )) and p.del_flag = 0
+				  AND d.id =#{username} )) and p.del_flag = 0 AND p.id in('1462618866362900482','1462619990193102849','1462620435628187650','1462658124922519553','1462658413884899329','1462705936934707202','1473889222096642050','1473909700802678785')
 	</select>
 
 

+ 42 - 1
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -333,6 +333,12 @@ on a.depart_name=b.orgCodeTxt
 				#{id}
 			</foreach>
 		</if>
+		<if test="ids!=null and ids.size()>0">
+			and id in
+			<foreach collection="ids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
 		<if test="name!=null and ''!=name">
 			and depart_name=#{name}
 		</if>
@@ -347,7 +353,42 @@ on a.depart_name=b.orgCodeTxt
 		where a.id=#{id}
 	</select>
 	<select id="DeptTree" resultType="org.jeecg.modules.system.vo.DepartTreeVo">
-		select id, depart_name as 'name',parent_id as 'pid' from sys_depart where parent_id is not null and parent_id!=""
+		select id, depart_name as 'name',parent_id as 'pid' from sys_depart where 1=1
+		<if test="ids!=null and ids.size()>0">
+			and id in
+			<foreach collection="ids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
+		<if test="ids==null or ids.size()==0">
+		and 	parent_id is not null and parent_id!=""
+		</if>
+	</select>
+    <select id="deptUser" resultType="org.jeecg.modules.system.entity.SysUser">
+		select DISTINCT a.*
+		from sys_user a left join sys_user_depart b on a.id=b.user_id where 1=1
+		<if test="username!=null and ''!=username">
+			and a.username like concat(concat('%',#{username}),'%')
+		</if>
+		<if test="sex!=null and ''!=sex">
+			and a.sex like concat(concat('%',#{sex}),'%')
+		</if>
+		<if test="ipone!=null and ''!=ipone">
+			and a.phone=#{ipone}
+		</if>
+		<if test="realname!=null and ''!=realname">
+			and a.realname=#{realname}
+		</if>
+		<if test="deptids!=null and deptids.size()>0">
+			and b.dep_id in
+			<foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
+				#{id}
+			</foreach>
+		</if>
+		<if test="state!=null and ''!=state">
+			and a.status=#{state}
+		</if>
+	and a.del_flag='0' order by create_time desc
 	</select>
 
 </mapper>

BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/rule/CategoryCodeRule.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/rule/OrgCodeRule.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysDepartService.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysUserRoleService.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/ISysUserService.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/IWeixinUserService.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/SysUserServiceImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$1.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$2.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$3.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$4.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl$5.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/service/impl/WeixinUserImpl.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/vo/WeixinUser.class