LiGuang 3 år sedan
förälder
incheckning
2d47fa63c1
30 ändrade filer med 893 tillägg och 101 borttagningar
  1. 6 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/entity/StatutoryLeave.java
  2. 3 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/mapper/StatutoryLeaveMapper.java
  3. 6 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/mapper/xml/StatutoryLeaveMapper.xml
  4. 2 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/service/IStatutoryLeaveService.java
  5. 10 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/service/impl/StatutoryLeaveServiceImpl.java
  6. 353 8
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/controller/UserShiftController.java
  7. 82 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserShiftExcel.java
  8. 6 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/UserShiftMapper.java
  9. 16 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml
  10. 5 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java
  11. 28 3
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java
  12. 48 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/controller/UserQuitController.java
  13. 28 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/entity/UserQuit.java
  14. 2 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/mapper/UserQuitMapper.java
  15. 22 6
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/mapper/xml/UserQuitMapper.xml
  16. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/service/IUserQuitService.java
  17. 25 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userquit/service/impl/UserQuitServiceImpl.java
  18. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml
  19. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  20. 28 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java
  21. 123 48
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  22. 8 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
  23. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  24. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml
  25. 13 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  26. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  27. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
  28. 27 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/WeixinUserImpl.java
  29. 41 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/controller/workOvertimeController.java
  30. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/workOvertime/service/impl/workOvertimeServiceImpl.java

+ 6 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/entity/StatutoryLeave.java

@@ -36,6 +36,12 @@ public class StatutoryLeave {
 	@Excel(name = "假期名称", width = 15)
     @ApiModelProperty(value = "假期名称")
 	private java.lang.String name;
+
+	@Excel(name = "是否发定节假日", width = 15)
+	@ApiModelProperty(value = "是否发定节假日")
+	private java.lang.String isF;
+
+
 	@Excel(name = "类型", width = 15)
 	private java.lang.String type;
 	/**假期开始时间*/

+ 3 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/mapper/StatutoryLeaveMapper.java

@@ -17,4 +17,7 @@ public interface StatutoryLeaveMapper extends BaseMapper<StatutoryLeave> {
     StatutoryLeave getOne(@Param("date")String date,@Param("id")String id);
 
     List<StatutoryLeave>lists(Page<StatutoryLeave> page, @Param("st")StatutoryLeave st);
+
+    //获取一个月的法节日期
+    List<String> getList(@Param("date")String date);
 }

+ 6 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/mapper/xml/StatutoryLeaveMapper.xml

@@ -20,4 +20,10 @@
             and sum=#{st.sum}
         </if>
     </select>
+    <select id="getList" resultType="java.lang.String">
+        select DAYOFMONTH(start_date) from geke_statutory_leave where del_flag='0' and is_f='1'
+        <if test="date!=null and ''!=date">
+            and date_format(start_date,'%Y-%m') = date_format(#{date},'%Y-%m')
+        </if>
+    </select>
 </mapper>

+ 2 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/service/IStatutoryLeaveService.java

@@ -17,4 +17,6 @@ public interface IStatutoryLeaveService extends IService<StatutoryLeave> {
     StatutoryLeave getOne(String date,String id);
 
     Page<StatutoryLeave> lists(Page<StatutoryLeave> page,StatutoryLeave st);
+
+    List<String> getList(String date);
 }

+ 10 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/statutoryleave/service/impl/StatutoryLeaveServiceImpl.java

@@ -41,11 +41,20 @@ public class StatutoryLeaveServiceImpl extends ServiceImpl<StatutoryLeaveMapper,
             lists.forEach(str->{
                 if (str.getType().equals("1")){
                     str.setType("班");
-                }else {
+                }if(str.getType().equals("2")){
                     str.setType("休");
+                }if(str.getIsF()!=null&&str.getIsF().equals("1")){
+                    str.setIsF("是");
+                }if(str.getIsF()!=null&&str.getIsF().equals("2")){
+                    str.setIsF("否");
                 }
             });
         }
         return page.setRecords(lists);
     }
+
+    @Override
+    public List<String> getList(String date) {
+        return statutoryLeaveMapper.getList(date);
+    }
 }

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

@@ -191,24 +191,369 @@ public class UserShiftController extends JeecgController<UserShift, IUserShiftSe
 			  params.setTitleRows(2);
 			  params.setHeadRows(1);
 			  params.setNeedSave(true);
+			  String date="2022-06";
 			  try {
+			  	List<UserShift>ls=new ArrayList<>();
 				  List<UserShiftExcel> list = ExcelImportUtil.importExcel(file.getInputStream(), UserShiftExcel.class, params);
 				  for(UserShiftExcel o:list){
-					  System.out.println(o.getWorkNo());
-					  System.out.println(o.getName());
-					  System.out.println(o.getA1());
-					  System.out.println(o.getA2());
-					  System.out.println(o.getA3());
-					  System.out.println(o.getA4());
-					  System.out.println(o.getA5());
+					 if (oConvertUtils.isNotEmpty(o.getWorkNo())&&oConvertUtils.isNotEmpty(o.getMoth())){
+						 String userId = userShiftService.getUserId(o.getWorkNo());
+						 if (oConvertUtils.isNotEmpty(userId)) {
+							 if (oConvertUtils.isNotEmpty(o.getA1())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-01","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA1());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA1().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA2())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-02","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA2());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA1().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA3())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-03","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA3());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA3().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA4())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-04","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA4());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA4().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA5())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-05","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA5());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA5().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA6())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-06","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA6());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA6().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA7())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-07","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA7());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA7().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA8())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-08","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA8());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA8().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA9())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-09","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA9());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA9().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA10())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-10","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA10());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA10().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA11())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-11","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA11());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA11().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA12())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-12","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA12());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA12().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA13())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-13","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA13());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA13().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA14())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-14","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA14());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA14().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA15())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-15","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA15());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA15().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA16())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-16","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA16());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA16().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA17())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-17","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA17());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA17().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA18())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-18","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA18());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA18().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA19())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-19","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA19());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA19().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA20())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-20","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA20());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA20().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA21())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-21","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA21());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA21().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA22())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-22","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA22());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA22().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA23())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-23","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA23());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA23().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA23())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-23","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA23());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA23().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA24())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-24","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA24());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA24().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA25())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-25","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA25());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA25().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA26())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-26","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA26());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA26().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA27())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-27","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA27());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA27().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA28())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-28","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA28());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA28().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA30())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-30","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA30());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA30().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }if (oConvertUtils.isNotEmpty(o.getA31())) {
+								 UserShift u = new UserShift();
+								 u.setUserId(userId);
+								 u.setShiftDate(DateUtils.parseDate(o.getMoth()+"-31","yyyy-MM-dd"));
+								 String shiftId = userShiftService.getShiftId(o.getA31());
+								 if (oConvertUtils.isNotEmpty(shiftId)&&!o.getA31().equals("休")) {
+									 u.setShiftId(shiftId);
+								 }else {
+									 u.setShiftId("0");
+								 }
+								 ls.add(u);
+							 }
+						 }
+					 }
 				  }
+				if (ls.size()>0){
+					userShiftService.saveBatch(ls);
+				}
 				  //update-begin-author:taoyan date:20190528 for:批量插入数据
 				  long start = System.currentTimeMillis();
 				  //400条 saveBatch消耗时间1592毫秒  循环插入消耗时间1947毫秒
 				  //1200条  saveBatch消耗时间3687毫秒 循环插入消耗时间5212毫秒
 				  log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
 				  //update-end-author:taoyan date:20190528 for:批量插入数据
-				  return Result.ok("文件导入成功!数据行数:" + list.size());
+				  return Result.ok("文件导入成功!数据行数:" + ls.size());
 			  } catch (Exception e) {
 				  log.error(e.getMessage(), e);
 				  return Result.error("文件导入失败:" + e.getMessage());

+ 82 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/entity/UserShiftExcel.java

@@ -21,6 +21,9 @@ import java.util.Date;
 @ExcelTarget("userShiftExcel")
 public class UserShiftExcel implements java.io.Serializable {
 
+	@Excel(name = "月份", width = 15)
+	private String moth;
+
 	@Excel(name = "工号", width = 15)
 	private String workNo;
 
@@ -42,4 +45,83 @@ public class UserShiftExcel implements java.io.Serializable {
 	@Excel(name = "5号", width = 15)
 	private String a5;
 
+	@Excel(name = "6号", width = 15)
+	private String a6;
+
+	@Excel(name = "7号", width = 15)
+	private String a7;
+
+	@Excel(name = "8号", width = 15)
+	private String a8;
+
+	@Excel(name = "9号", width = 15)
+	private String a9;
+
+	@Excel(name = "10号", width = 15)
+	private String a10;
+
+	@Excel(name = "11号", width = 15)
+	private String a11;
+
+	@Excel(name = "12号", width = 15)
+	private String a12;
+
+	@Excel(name = "13号", width = 15)
+	private String a13;
+
+	@Excel(name = "14号", width = 15)
+	private String a14;
+
+	@Excel(name = "15号", width = 15)
+	private String a15;
+
+	@Excel(name = "16号", width = 15)
+	private String a16;
+
+	@Excel(name = "17号", width = 15)
+	private String a17;
+
+	@Excel(name = "18号", width = 15)
+	private String a18;
+
+	@Excel(name = "19号", width = 15)
+	private String a19;
+
+	@Excel(name = "20号", width = 15)
+	private String a20;
+
+	@Excel(name = "21号", width = 15)
+	private String a21;
+
+	@Excel(name = "22号", width = 15)
+	private String a22;
+
+	@Excel(name = "23号", width = 15)
+	private String a23;
+
+	@Excel(name = "24号", width = 15)
+	private String a24;
+
+	@Excel(name = "25号", width = 15)
+	private String a25;
+
+	@Excel(name = "26号", width = 15)
+	private String a26;
+
+	@Excel(name = "27号", width = 15)
+	private String a27;
+
+	@Excel(name = "28号", width = 15)
+	private String a28;
+
+	@Excel(name = "29号", width = 15)
+	private String a29;
+
+	@Excel(name = "30号", width = 15)
+	private String a30;
+
+	@Excel(name = "31号", width = 15)
+	private String a31;
+
+
 }

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

@@ -52,7 +52,7 @@ 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,@Param("type")String type,@Param("deptids") List<String>deptids,@Param("realname")String realname,@Param("dept")String dept);
+    List<Map<String,Object>>getUsers(Page<Map<String,Object>> page,@Param("type")String type,@Param("deptids") List<String>deptids,@Param("realname")String realname,@Param("dept")String dept,@Param("date")String date);
     //查询规则人员
     List<String>getUserids(@Param("deptids") List<String>deptids,@Param("deptname")String deptname);
 
@@ -64,4 +64,9 @@ public interface UserShiftMapper extends BaseMapper<UserShift> {
 
     //统计每月班次有多少次人员排班
    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);
+
+  String getUserId(@Param("code")String code);
+
+  String getShiftId(@Param("name")String name);
 }
+

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

@@ -73,7 +73,7 @@ order by a.shift_date desc
     left join sys_user b on a.user_id=b.id
     left join sys_user_depart c on b.id=c.user_id
     left join sys_depart d on c.dep_id=d.id
-    where b.del_flag='0' and b.employment_status='10' and b.is_attendance='0'
+    where b.del_flag='0' and  b.is_attendance='0'
     <if test="type!=null and ''!=type">
         and a.type=#{type}
     </if>
@@ -89,6 +89,9 @@ order by a.shift_date desc
         <if test="dept!=null and ''!=dept">
             and d.id= #{dept}
         </if>
+<if test="date!=null and ''!=date">
+    and(b.employment_status='10' or date_format(b.term_Date,'%Y-%m')>=date_format(#{date},'%Y-%m'))
+</if>
     </select>
     <delete id="deleteUserids">
        delete from geke_user_shift where 1=1
@@ -213,4 +216,16 @@ order by a.shift_date desc
         </if>
         order by date_format(b.start_date,'%H:%i:%s') asc
     </select>
+    <select id="getUserId" resultType="java.lang.String">
+        select id from sys_user where 1=1
+        <if test="code!=null and ''!=code">
+            and work_no=#{code}
+        </if>
+    </select>
+    <select id="getShiftId" resultType="java.lang.String">
+        select id from geke_shift where 1=1
+        <if test="name!=null and ''!=name">
+            and name=#{name}
+        </if>
+    </select>
 </mapper>

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

@@ -43,10 +43,14 @@ public interface IUserShiftService extends IService<UserShift> {
     List<Map<String,Object>>mothUserShifts(String date,String type,String userid) throws ParseException;
     IPage<Map<String,Object>>getUserNot(Page<Map<String,Object>> page,@Param("userids")List<String>userids,List<String>deptids,String realname,String dept);
 
-    IPage<Map<String,Object>> getUsers(Page<Map<String,Object>> page,String type,List<String>deptids,String realname,String dept);
+    IPage<Map<String,Object>> getUsers(Page<Map<String,Object>> page,String type,List<String>deptids,String realname,String dept,String date);
 
     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);
+
+    String getUserId(String code);
+
+    String getShiftId(String name);
 }

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

@@ -9,6 +9,7 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.geke.shift.mapper.ShiftMapper;
+import org.jeecg.modules.geke.statutoryleave.service.IStatutoryLeaveService;
 import org.jeecg.modules.geke.userShift.entity.UserDept;
 import org.jeecg.modules.geke.userShift.entity.UserShift;
 import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
@@ -39,6 +40,9 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     @Autowired
     private ShiftMapper shiftMapper;
 
+    @Autowired
+    private IStatutoryLeaveService statutoryLeaveService;
+
 
 
     @Override
@@ -137,7 +141,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
         IPage<Map<String, Object>> users=null;
 
         if (oConvertUtils.isNotEmpty(type)&&!type.equals("4")) {
-            users=getUsers(page,type,deptids,name,dept);
+            users=getUsers(page,type,deptids,name,dept,date);
             if (users.getRecords() != null && users.getRecords().size() > 0) {
                 users.getRecords().forEach(str -> {
                     userids.add(str.get("id").toString());
@@ -167,6 +171,10 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
                             id.forEach(i->{
                                 user.put("a"+i.get("shiftDate"),i.get("name"));
                                 user.put("shiftid"+i.get("shiftDate"),i.get("id"));
+                                if (i.get("id").equals("1")){
+                                    user.put("a"+i.get("shiftDate"),"法");
+                                    user.put("shiftid"+i.get("shiftDate"),i.get("id"));
+                                }
                        });
                   }
                 }
@@ -222,11 +230,18 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
                         st.put("shiftid"+i,null);
                     }
                     List<Map<String, Object>> id = userShiftMapper.getMothsUserShift(st.get("id").toString(), date);
+                    List<String> list = statutoryLeaveService.getList(date);
+
                     if (oConvertUtils.isNotEmpty(id)){
                         id.forEach(i->{
                             st.put("a"+i.get("shiftDate"),i.get("name"));
                             st.put("shiftid"+i.get("shiftDate"),i.get("id"));
                         });
+                    }if (list!=null&&list.size()>0){
+                        list.forEach(s->{
+                            st.put("a"+s,"法");
+                            st.put("shiftid"+s,1);
+                        });
                     }
                 });
                 /*for (int i = 1; i <= actualMaximum; i++) {
@@ -260,8 +275,8 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     }
 
     @Override
-    public IPage<Map<String, Object>> getUsers(Page<Map<String, Object>> page,String type,List<String>deptids,String realname,String dept) {
-        return page.setRecords(userShiftMapper.getUsers(page,type,deptids,realname,dept));
+    public IPage<Map<String, Object>> getUsers(Page<Map<String, Object>> page,String type,List<String>deptids,String realname,String dept,String date) {
+        return page.setRecords(userShiftMapper.getUsers(page,type,deptids,realname,dept,date));
     }
 
     @Override
@@ -310,4 +325,14 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
         }
         return type;
     }
+
+    @Override
+    public String getUserId(String code) {
+        return userShiftMapper.getUserId(code);
+    }
+
+    @Override
+    public String getShiftId(String name) {
+        return userShiftMapper.getShiftId(name);
+    }
 }

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

@@ -7,6 +7,7 @@ import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
@@ -81,12 +82,35 @@ public class UserQuitController extends JeecgController<UserQuit, IUserQuitServi
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
 		QueryWrapper<UserQuit> queryWrapper = QueryGenerator.initQueryWrapper(userQuit, req.getParameterMap());
+		List<OrderItem>orderItems=new ArrayList<>();
+		if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+			String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+			OrderItem orderItem=new OrderItem();
+			orderItem.setColumn(s[0]);
+			if(s[0].equals("create_time")){
+				orderItem.setColumn("a.apply_Time");
+			}
+			orderItem.setAsc(true);
+			if (s[1].equals("DESC")){
+				orderItem.setAsc(false);
+			}
+			orderItems.add(orderItem);
+		}
 		Page<UserQuit> page = new Page<UserQuit>(pageNo, pageSize);
+		page.setOrders(orderItems);
+		String startDate="";
+		String endDate="";
+		List<String>arr=null;
 		//IPage<UserQuit> pageList = userQuitService.page(page, queryWrapper);
 		if(oConvertUtils.isNotEmpty(userQuit.getUserName())){
 			userQuit.setUserName(userQuit.getUserName().trim());
+		}if (oConvertUtils.isNotEmpty(userQuit.getSpName())){
+			arr=Arrays.asList(userQuit.getSpName().toString().split(","));
+		}if (oConvertUtils.isNotEmpty(userQuit.getSpNo())&&!userQuit.getSpNo().equals(",")){
+			startDate=userQuit.getSpNo().split(",")[0];
+			endDate=userQuit.getSpNo().split(",")[1];
 		}
-		Page<UserQuit> list = userQuitService.list(page, userQuit);
+		Page<UserQuit> list = userQuitService.list(page, userQuit,startDate,endDate,arr);
 		return Result.OK(list);
 	}
 
@@ -188,8 +212,30 @@ public class UserQuitController extends JeecgController<UserQuit, IUserQuitServi
   @RequestMapping(value = "/exportXls")
   public ModelAndView exportXls(HttpServletRequest request, UserQuit userQuit) {
 	  Page<UserQuit> page = new Page<UserQuit>(1, 10000);
+	  QueryWrapper<UserQuit> queryWrapper = QueryGenerator.initQueryWrapper(userQuit, request.getParameterMap());
+	  List<OrderItem>orderItems=new ArrayList<>();
+	  if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+		  String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+		  OrderItem orderItem=new OrderItem();
+		  orderItem.setColumn(s[0]);
+		  orderItem.setAsc(true);
+		  if (s[1].equals("DESC")){
+			  orderItem.setAsc(false);
+		  }
+		  orderItems.add(orderItem);
+	  }
+	  page.setOrders(orderItems);
 	  //IPage<UserQuit> pageList = userQuitService.page(page, queryWrapper);
-	  Page<UserQuit> list = userQuitService.list(page, userQuit);
+	  String startDate="";
+	  String endDate="";
+	  List<String>arr=null;
+	  if (oConvertUtils.isNotEmpty(userQuit.getSpName())){
+		  arr=Arrays.asList(userQuit.getSpName().toString().split(","));
+	  }if (oConvertUtils.isNotEmpty(userQuit.getSpNo())&&!userQuit.getSpNo().equals(",")){
+		  startDate=userQuit.getSpNo().split(",")[0];
+		  endDate=userQuit.getSpNo().split(",")[1];
+	  }
+	  Page<UserQuit> list = userQuitService.list(page, userQuit,startDate,endDate,arr);
 	  LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 	  ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
 	  mv.addObject(NormalExcelConstants.FILE_NAME, "离职信息列表"); //此处设置的filename无效 ,前端会重更新设置一下

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

@@ -47,17 +47,35 @@ public class UserQuit {
 	/**userId*/
     @ApiModelProperty(value = "userId")
 	private java.lang.String userId;
+	@Excel(name = "工号", width = 15)
+	@ApiModelProperty(value = "work_no")
+	private java.lang.String workNo;
 	/**userName*/
 	@Excel(name = "姓名", width = 15)
     @ApiModelProperty(value = "userName")
 	private java.lang.String userName;
+
+	@Excel(name = "人员类别", width = 15,dicCode="category")
+	@Dict(dicCode = "category")
+	private Integer category;
+
+	@Excel(name = "一级部门", width = 15)
+	private java.lang.String del;
+
+	@Excel(name = "二级部门", width = 15)
+	private java.lang.String del2;
 	/**dept*/
 	@Excel(name = "部门", width = 15)
     @ApiModelProperty(value = "dept")
 	private java.lang.String dept;
 
 	@Excel(name = "职位", width = 20)
+	private java.lang.String posts;
+
 	private java.lang.String post;
+
+	@Excel(name = "身份证号", width = 15)
+	private java.lang.String sfzCode;
 	/**deptId*/
     @ApiModelProperty(value = "deptId")
 	private java.lang.String deptId;
@@ -66,8 +84,14 @@ public class UserQuit {
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "startDate")
 	private java.util.Date startDate;
+
+	@Excel(name="入职日期",width = 15,format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private  Date entryDate;
+
 	/**endDate*/
-	@Excel(name = "预计离职日期", width = 20, format = "yyyy-MM-dd")
+	//@Excel(name = "预计离职日期", width = 20, format = "yyyy-MM-dd")
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "endDate")
@@ -95,7 +119,9 @@ public class UserQuit {
 	@ApiModelProperty(value = "remarks")
 	private java.lang.String remarks;
 
-	@Excel(name = "状态", width = 15 ,dicCode = "state")
+	private java.lang.String orgCode;
+
+	//@Excel(name = "状态", width = 15 ,dicCode = "state")
 	@Dict(dicCode = "state")
 	private java.lang.Integer state;
 

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

@@ -17,7 +17,8 @@ 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,@Param("state")String state,@Param("newDate")String newDate);
+    List<UserQuit>list(Page<UserQuit> page,@Param("userQuit")UserQuit userQuit,@Param("deptids")List<String>deptids,@Param("state")String state,@Param("startDate")String startDate,@Param("endDate")String endDate,
+                       @Param("cat")List<String>cat);
     boolean updateUserSate(@Param("userid")String userid);
 
     List<UserQuit>lists(@Param("startDate")String startDate);

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

@@ -22,23 +22,39 @@
         </if>
     </delete>
     <select id="list" resultType="org.jeecg.modules.geke.userquit.entity.UserQuit">
-        select *from geke_user_quit where 1=1
+        select a.user_name,a.id,b.work_no as 'workNo',b.category as 'category',b.sfz_code as 'sfzCode',b.entry_Date as 'entryDate',
+        a.dept,a.new_Date,a.post,b.post as 'posts',a.remarks,a.state,d.org_code as 'orgCode'
+        from geke_user_quit a
+        left join sys_user  b on a.user_id=b.id
+        left join sys_user_depart c on b.id=c.user_id
+        left join sys_depart d on c.dep_id=d.id
+        where 1=1
         <if test="userQuit.userName!=null and ''!=userQuit.userName">
-            and user_name like concat(concat('%',#{userQuit.userName}),'%')
+            and a.user_name like concat(concat('%',#{userQuit.userName}),'%')
         </if>
         <if test="state!=null and ''!=state">
-            and state=#{state}
+            and a.state=#{state}
         </if>
 
         <if test="deptids!=null and deptids.size()>0">
-            and dept_id in
+            and a.dept_id in
             <foreach collection="deptids" index="index" item="id" open="(" separator="," close=")">
                 #{id}
             </foreach>
         </if>
-        <if test="newDate!=null and ''!=newDate">
-          and   date_format(new_date,'%Y-%m-%d')=date_format(#{newDate},'%Y-%m-%d')
+        <if test="startDate!=null and ''!=startDate">
+          and   date_format(a.new_date,'%Y-%m-%d')>=date_format(#{startDate},'%Y-%m-%d')
         </if>
+        <if test="endDate!=null and ''!=endDate">
+            and   date_format(a.new_date,'%Y-%m-%d')&lt;=date_format(#{endDate},'%Y-%m-%d')
+        </if>
+        <if test="cat!=null and cat.size()>0">
+            and b.category in
+            <foreach collection="cat" 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' and status='0'

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

@@ -17,7 +17,7 @@ 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);
+    Page<UserQuit>list(Page<UserQuit> page,UserQuit userQuit,String startDate,String endDate,List<String> cat);
     List<UserQuit>getUserIds(String userid);
     boolean updateUserSate(String userid);
     List<UserQuit>lists(String startDate);

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

@@ -11,8 +11,10 @@ import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 入职,离职信息
@@ -42,7 +44,7 @@ public class UserQuitServiceImpl extends ServiceImpl<UserQuitMapper, UserQuit> i
     }
 
     @Override
-    public Page<UserQuit> list(Page<UserQuit> page, UserQuit userQuit) {
+    public Page<UserQuit> list(Page<UserQuit> page, UserQuit userQuit,String startDate,String endDate,List<String> cat) {
         List<String> subDepIdsByDepId=null;
         String state=null;
         String newDate=null;
@@ -54,7 +56,28 @@ public class UserQuitServiceImpl extends ServiceImpl<UserQuitMapper, UserQuit> i
         }if (userQuit.getNewDate()!=null){
             newDate= DateUtils.formatDate(userQuit.getNewDate());
         }
-        List<UserQuit> list = userQuitMapper.list(page, userQuit, subDepIdsByDepId,state,newDate);
+        List<UserQuit> list = userQuitMapper.list(page, userQuit, subDepIdsByDepId,state,startDate,endDate,cat);
+        if (list!=null&&list.size()>0){
+            list.forEach(str->{
+                String codet=str.getOrgCode();
+                if (codet!=null) {
+                    List<String> codes = new ArrayList<>();
+                    for (int i = 0; i < codet.length(); i = i + 2) {
+                        codes.add(codet.substring(0, i + 2));
+                    }
+                    List<Map<String, Object>> sysDeparts = makeUpCardMapper.listDeptTop(codes);
+                    if (sysDeparts != null && sysDeparts.size() > 0) {
+                        sysDeparts.forEach(st -> {
+                            if (st.get("org_type").equals("1") || st.get("org_type").equals(1)) {
+                                str.setDel(st.get("depart_name").toString());
+                            } else if (st.get("org_type").equals("2") || st.get("org_type").equals(2)) {
+                                str.setDel2(st.get("depart_name").toString());
+                            }
+                        });
+                    }
+                }
+            });
+        }
         return page.setRecords(list);
     }
 

+ 1 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml

@@ -98,7 +98,7 @@
                 and date_format(start_date,'%Y-%m-%d')>=date_format(#{date},'%Y-%m-%d')
             </if>
             GROUP BY user_id) b on a.id=b.id
-           left join (select person as 'id',sum(duration) as 'count' from bd_work_overtime where set_info='累计调休'
+           left join (select person as 'id',sum(ifnull(duration,0)*multiple) as 'count' from bd_work_overtime where set_info='累计调休'
         <if test="userid!=null and ''!=userid">
             and person=#{userid}
         </if>

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

@@ -541,7 +541,7 @@ public class LoginController {
 		if (auts!=null){
 			sysUser = sysUserService.getById(auts);
 		}
-	//	String password = sysLoginModel.getPassword();
+		//String password = sysLoginModel.getPassword();
 //		//1. 校验用户是否有效
 		//SysUser sysUser = sysUserService.getUserByName(username);
 		result = sysUserService.checkUserIsEffective(sysUser);

+ 28 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.system.controller;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -103,6 +104,19 @@ public class SysPositionController {
                                                     HttpServletRequest req) {
         Result<IPage<SysPosition>> result = new Result<IPage<SysPosition>>();
         Page<SysPosition> page = new Page<SysPosition>(pageNo, pageSize);
+        QueryWrapper<SysPosition> queryWrapper = QueryGenerator.initQueryWrapper(sysPosition, req.getParameterMap());
+        List<OrderItem>orderItems=new ArrayList<>();
+        if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+            String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+            OrderItem orderItem=new OrderItem();
+            orderItem.setColumn(s[0]);
+            orderItem.setAsc(true);
+            if (s[1].equals("DESC")){
+                orderItem.setAsc(false);
+            }
+            orderItems.add(orderItem);
+        }
+        page.setOrders(orderItems);
         if(oConvertUtils.isNotEmpty(sysPosition.getCode())){
             sysPosition.setCode(sysPosition.getCode().trim());
         }if(oConvertUtils.isNotEmpty(sysPosition.getName())){
@@ -279,10 +293,24 @@ public class SysPositionController {
 //        } catch (UnsupportedEncodingException e) {
 //            e.printStackTrace();
 //        }
+        QueryWrapper<SysPosition> queryWrapper = QueryGenerator.initQueryWrapper(sysPosition, request.getParameterMap());
+        List<OrderItem>orderItems=new ArrayList<>();
+        if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+            String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+            OrderItem orderItem=new OrderItem();
+            orderItem.setColumn(s[0]);
+            orderItem.setAsc(true);
+            if (s[1].equals("DESC")){
+                orderItem.setAsc(false);
+            }
+            orderItems.add(orderItem);
+        }
+
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         //Step.2 AutoPoi 导出Excel
         ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
         Page<SysPosition> page = new Page<SysPosition>(1, 10000);
+        page.setOrders(orderItems);
         IPage<SysPosition> pageList = sysPositionService.lists(page,sysPosition);
         //List<SysPosition> pageList = sysPositionService.list(queryWrapper);
         //导出文件名称

+ 123 - 48
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -5,10 +5,13 @@ import cn.hutool.core.util.RandomUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.ISqlSegment;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -313,9 +316,35 @@ public class SysUserController {
 									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {
 		Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
 		QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
-    	//TODO 外部模拟登陆临时账号,列表不显示
+        Map<String, String[]> parameterMap = req.getParameterMap();
+        List<OrderItem>orderItems=new ArrayList<>();
+        if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+            String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+            OrderItem orderItem=new OrderItem();
+            orderItem.setColumn(s[0]);
+            orderItem.setAsc(true);
+            if (s[1].equals("DESC")){
+                orderItem.setAsc(false);
+            }
+            orderItems.add(orderItem);
+        }
+        String rzStartDate="";
+        String rzEndDate="";
+        String syStartDate="";
+        String syEndDate="";
+        if (oConvertUtils.isNotEmpty(user.getRzDate())&&!user.getRzDate().equals(",")){
+            String[] split = user.getRzDate().split(",");
+            rzStartDate=split[0];
+            rzEndDate=split[1];
+        }if (oConvertUtils.isNotEmpty(user.getSyDate())&&!user.getSyDate().equals(",")){
+            String[] split = user.getSyDate().split(",");
+            syStartDate=split[0];
+            syEndDate=split[1];
+        }
+        //TODO 外部模拟登陆临时账号,列表不显示
         queryWrapper.ne("username","_reserve_user_external");
         Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
+        page.setOrders(orderItems);
         String deptids="";
         String state="0";
         List<String> mySubDepIdsByDepId=null;
@@ -345,7 +374,7 @@ public class SysUserController {
         }if(oConvertUtils.isNotEmpty(user.getWorkNo())){
             user.setWorkNo(user.getWorkNo().trim());
         }
-        Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId,mySubDepIdsByDepId,status,category);
+        Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId,mySubDepIdsByDepId,status,category,rzStartDate,rzEndDate,syStartDate,syEndDate);
         //批量查询用户的所属部门
         //step.1 先拿到全部的 useids
         //step.2 通过 useids,一次性查询用户的所属部门名字
@@ -379,12 +408,17 @@ public class SysUserController {
                     List<SysDepart> sysDeparts = sysDepartService.listDeptTop(codes);
                     if (sysDeparts!=null&&sysDeparts.size()>0){
                         sysDeparts.forEach(str->{
-                            if (str.getOrgType().equals("1")){
+                            if(sysDeparts.size()>1) {
+                                if (str.getOrgType().equals("1")) {
+                                    item.setDel2(str.getDepartName());
+                                } else if (str.getOrgType().equals("2")) {
+                                    item.setDel3(str.getDepartName());
+                                } else if (str.getOrgType().equals("3")) {
+                                    item.setDel4(str.getDepartName());
+                                }
+                            }else {
                                 item.setDel2(str.getDepartName());
-                            }else if (str.getOrgType().equals("2")){
                                 item.setDel3(str.getDepartName());
-                            }else if (str.getOrgType().equals("3")){
-                                item.setDel4(str.getDepartName());
                             }
                         });
                     }
@@ -828,14 +862,39 @@ public class SysUserController {
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
         // Step.1 组装查询条件
         QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(sysUser, request.getParameterMap());
+        List<OrderItem>orderItems=new ArrayList<>();
+        if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+            String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+            OrderItem orderItem=new OrderItem();
+            orderItem.setColumn(s[0]);
+            orderItem.setAsc(true);
+            if (s[1].equals("DESC")){
+                orderItem.setAsc(false);
+            }
+            orderItems.add(orderItem);
+        }
         //Step.2 AutoPoi 导出Excel
         ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
         Page<SysUser> page = new Page<SysUser>(1, 10000);
+        page.setOrders(orderItems);
         //update-begin--Author:kangxiaolin  Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据--------------------
         String selections = request.getParameter("selections");
        if(!oConvertUtils.isEmpty(selections)){
            queryWrapper.in("id",selections.split(","));
        }
+        String rzStartDate="";
+        String rzEndDate="";
+        String syStartDate="";
+        String syEndDate="";
+        if (oConvertUtils.isNotEmpty(sysUser.getRzDate())){
+            String[] split = sysUser.getRzDate().split(",");
+            rzStartDate=split[0];
+            rzEndDate=split[1];
+        }if (oConvertUtils.isNotEmpty(sysUser.getSyDate())){
+            String[] split = sysUser.getSyDate().split(",");
+            syStartDate=split[0];
+            syEndDate=split[1];
+        }
         List<String> mySubDepIdsByDepId=null;
         LoginUser sysUsers = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, sysUsers.getId()));
@@ -860,7 +919,7 @@ public class SysUserController {
         }if (sysUser.getCategorys()!=null&&!"".equals(sysUser.getCategorys())){
             category=Arrays.asList(sysUser.getCategorys().toString().split(","));
         }
-        List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId,mySubDepIdsByDepId,status,category);
+        List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId,mySubDepIdsByDepId,status,category,rzStartDate,rzEndDate,syStartDate,syEndDate);
 
         List<String>userids=new ArrayList<>();
        if (pageList.size()>0){
@@ -1268,7 +1327,7 @@ public class SysUserController {
     }
 
 
-    /*@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+   /* @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
@@ -1288,59 +1347,75 @@ public class SysUserController {
                 listSysUsers.remove(0);
                 for (int i = 0; i < listSysUsers.size(); i++) {
                     SysUser sysUserExcel = listSysUsers.get(i);
-                    int lineNumber = i + 1;
-                    if (sysUserExcel.getWorkNo().equals("100009")){
-                        sysUserExcel.setId("100009");
-                    }if (sysUserExcel.getWorkNo().equals("100024")){
-                        sysUserExcel.setId("Alice.guo");
-                    }if (sysUserExcel.getWorkNo().equals("100025")){
-                        sysUserExcel.setId("eva.zheng");
-                    }if (sysUserExcel.getWorkNo().equals("100027")){
-                        sysUserExcel.setId("kerr.zou");
-                    }if (sysUserExcel.getWorkNo().equals("100059")){
-                        sysUserExcel.setId("100059");
-                    }if (sysUserExcel.getWorkNo().equals("100134")){
-                        sysUserExcel.setId("100134");
-                    }if (sysUserExcel.getWorkNo().equals("100135")){
-                        sysUserExcel.setId("100135");
-                    }
-                    //sysUserExcel.setId(sysUserExcel.getWorkNo());
-                    if (sysUserExcel.getSfzType().equals("其他")){
-                        sysUserExcel.setSfzType("1");
-                    }if (sysUserExcel.getSfzType().equals("中国身份证")){
+                    if(sysUserExcel.getSfzType().equals("中国身份证")){
                         sysUserExcel.setSfzType("0");
-                    }if (sysUserExcel.getIsAttendance().equals("是")){
-                        sysUserExcel.setIsAttendance("0");
-                    }if (sysUserExcel.getIsAttendance().equals("否")){
-                        sysUserExcel.setIsAttendance("1");
+                    }else {
+                        sysUserExcel.setSfzType("1");
                     }
                     try {
-
-                       // sysUserService.updateById(sysUserExcel);
-                        if (sysUserExcel.getIsAttendance().equals("0")){
-                            AttendanceRule attendanceRule=new AttendanceRule();
-                            attendanceRule.setUserId(sysUserExcel.getId());
-                            attendanceRule.setType(sysUserExcel.getType());
-                            if (sysUserExcel.getType().equals("1")||sysUserExcel.getType().equals(1)){
-                                String str="2022-01-02 10:00:00";
-                                String end="2022-01-02 19:00:00";
-                                attendanceRule.setWorkDay("0,1,2,3,4,5,6");
-                                attendanceRule.setStartDate(DateUtils.parseDate(str,"yyyy-MM-dd HH:mm:ss"));
-                                attendanceRule.setEndDate(DateUtils.parseDate(end,"yyyy-MM-dd HH:mm:ss"));
+                        if (sysUserExcel.getWorkNo().equals("100024")){
+                            sysUserExcel.setId("Alice.guo");
+                        }else if (sysUserExcel.getWorkNo().equals("100025")){
+                            sysUserExcel.setId("eva.zheng");
+                        }else if (sysUserExcel.getWorkNo().equals("100206")){
+                            sysUserExcel.setId("gaines.guo");
+                        }else if (sysUserExcel.getWorkNo().equals("100020")){
+                            sysUserExcel.setId("jack.wu");
+                        }else if (sysUserExcel.getWorkNo().equals("100201")){
+                            sysUserExcel.setId("jacky.yao");
+                        }else if (sysUserExcel.getWorkNo().equals("100068")){
+                            sysUserExcel.setId("Kayla.kang");
+                        }else if (sysUserExcel.getWorkNo().equals("100027")){
+                            sysUserExcel.setId("kerr.zou");
+                        }else if (sysUserExcel.getWorkNo().equals("100198")){
+                            sysUserExcel.setId("lisa.wang");
+                        }else if (sysUserExcel.getWorkNo().equals("100015")){
+                            sysUserExcel.setId("mike.wang");
+                        }else if (sysUserExcel.getWorkNo().equals("100202")){
+                            sysUserExcel.setId("owen.li");
+                        }else if (sysUserExcel.getWorkNo().equals("100014")){
+                            sysUserExcel.setId("roy.zhu");
+                        }else if (sysUserExcel.getWorkNo().equals("100023")){
+                            sysUserExcel.setId("Simon.zhang");
+                        }else if (sysUserExcel.getWorkNo().equals("100054")){
+                            sysUserExcel.setId("vito.chen");
+                        }else if (sysUserExcel.getWorkNo().equals("100013")){
+                            sysUserExcel.setId("yongqiang.zhang");
+                        }else {
+                            sysUserExcel.setId(sysUserExcel.getWorkNo());
+                        }
+                        String departLis = departMapper.getDepartLis(sysUserExcel.getOrgCodeTxt());
+                        sysUserExcel.setDepartIds(departLis);
+                        if (sysUserExcel.getIsAttendance().equals("是")){
+                            sysUserExcel.setIsAttendance("0");
+                        }else {
+                            sysUserExcel.setIsAttendance("1");
+                        }
+                        sysUserService.editUserWithDepart(sysUserExcel, departLis);
+                        sysUserService.updateById(sysUserExcel);
+                        if (sysUserExcel.getIsAttendance().equals("0")&&sysUserExcel.getType()!=null){
+                            AttendanceRule attendanceRule = attendanceRuleService.UserRule(sysUserExcel.getId());
+                            if (attendanceRule!=null){
+                                attendanceRuleService.removeById(attendanceRule.getId());
                             }
-                            attendanceRuleService.save(attendanceRule);
+                            AttendanceRule attendanceRule1=new AttendanceRule();
+                            attendanceRule1.setType(sysUserExcel.getType());
+                            attendanceRule1.setUserId(sysUserExcel.getId());
+                            attendanceRuleService.save(attendanceRule1);
                         }
+
+
                     } catch (Exception e) {
                         errorLines++;
                         String message = e.getMessage().toLowerCase();
 
                         // 通过索引名判断出错信息
                         if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)) {
-                            errorMessage.add("第 " + lineNumber + " 行:用户名已经存在,忽略导入。");
+                            errorMessage.add("第 " + 1 + " 行:用户名已经存在,忽略导入。");
                         } else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_PHONE)) {
-                            errorMessage.add("第 " + lineNumber + " 行:手机号已经存在,忽略导入。");
+                            errorMessage.add("第 " + 1 + " 行:手机号已经存在,忽略导入。");
                         } else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_EMAIL)) {
-                            errorMessage.add("第 " + lineNumber + " 行:电子邮件已经存在,忽略导入。");
+                            errorMessage.add("第 " + 1 + " 行:电子邮件已经存在,忽略导入。");
                         }
                     }
 

+ 8 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -201,7 +201,7 @@ public class SysUser implements Serializable {
     @Excel(name = "二级部门", width = 15)
     private  transient String del3;
     /**用户所属组织**/
-    @Excel(name = "三级部门", width = 15)
+    //@Excel(name = "三级部门", width = 15)
     private transient  String del4;
     /**部门名称*/
     @Excel(name = "*末级部门", width = 15)
@@ -285,7 +285,7 @@ public class SysUser implements Serializable {
     /**
      * 年假可用天数
      */
-   // @Excel(name = "年假可用天数", width = 15)
+    @Excel(name = "年假可用天数", width = 15)
     private String yearCount;
 
 
@@ -323,7 +323,7 @@ public class SysUser implements Serializable {
     /**
      * 职务,关联职务表
      */
-    //@Excel(name = "职位", width = 15,dictTable ="sys_position",dicText = "name",dicCode = "code")
+    @Excel(name = "职位", width = 15,dictTable ="sys_position",dicText = "name",dicCode = "code")
     @Dict(dictTable ="sys_position",dicText = "name",dicCode = "code")
     private String post;
 
@@ -463,4 +463,9 @@ public class SysUser implements Serializable {
 
 
     private transient String categorys;
+
+    //入职日期查询条件
+    private transient String rzDate;
+    //试用期查询条件
+    private transient String syDate;
 }

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

@@ -221,7 +221,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	//获取下一个工号
 	void getNextNo(CodeVo params);
 
-	List<SysUser>kQueryUser(Page<SysUser> page,@Param("user") SysUser user,@Param("deptids")List<String> deptids,@Param("mydeptids")List<String>mydeptids,@Param("status")List<String>status,@Param("category")List<String>category);
+	List<SysUser>kQueryUser(Page<SysUser> page,@Param("user") SysUser user,@Param("deptids")List<String> deptids,@Param("mydeptids")List<String>mydeptids,@Param("status")List<String>status,@Param("category")List<String>category,
+							@Param("rzStartDate")String rzStartDate,@Param("rzEndDate")String rzEndDate,@Param("syStartDate")String syStartDate,@Param("syEndDate")String syEndDate);
 
 	//根据员工id查询部门
 	List<Map<String,Object>>getDeptByUserName(@Param("userid")String userid);

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

@@ -24,7 +24,7 @@
         <if test="sysPosition.name!=null and ''!=sysPosition.name">
             and a.name like concat(concat('%',#{sysPosition.name}),'%')
         </if>
-         order by create_time desc
+
     </select>
     <select id="listByDept" resultType="org.jeecg.modules.system.entity.SysPosition">
         select a.*,b.depart_name as 'deptName', b.org_code as 'orgCode'

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

@@ -486,7 +486,19 @@ on a.depart_name=b.orgCodeTxt
 		<if test="user.category!=null and ''!=user.category">
 			and a.category=#{user.category}
 		</if>
-		order by create_time DESC
+		<if test="rzStartDate!=null and ''!=rzStartDate">
+			and date_format(a.entry_date,'%Y-%m-%d')>=date_format(#{rzStartDate},'%Y-%m-%d')
+		</if>
+		<if test="rzEndDate!=null and ''!=rzEndDate">
+			and date_format(a.entry_date,'%Y-%m-%d')&lt;=date_format(#{rzEndDate},'%Y-%m-%d')
+		</if>
+		<if test="syStartDate!=null and ''!=syStartDate">
+			and date_format(a.trial_end_date,'%Y-%m-%d')>=date_format(#{syStartDate},'%Y-%m-%d')
+		</if>
+		<if test="syEndDate!=null and ''!=syEndDate">
+			and date_format(a.trial_end_date,'%Y-%m-%d')&lt;=date_format(#{syEndDate},'%Y-%m-%d')
+		</if>
+
 	</select>
     <select id="getDeptByUserName" resultType="java.util.Map">
 		select  a.id,a.realname,c.id as 'deptid',c.depart_name as 'deptname'  from sys_user a

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

@@ -316,7 +316,7 @@ List<String>  departIds(String userid);
 
 	Page<SysUser>deptUser(Page<SysUser> page,String username,List<String>deptids,Integer sex,String realname,String ipone,Integer state);
 
-	Page<SysUser>kQueryUser(Page<SysUser> page,SysUser user,List<String> deptids,List<String>mydeptids,List<String>status,List<String>category);
+	Page<SysUser>kQueryUser(Page<SysUser> page,SysUser user,List<String> deptids,List<String>mydeptids,List<String>status,List<String>category,String rzStartDate,String rzEndDate,String syStartDate,String syEndDate);
 
 	List<Map<String,Object>>getDeptByUserName(String username);
 

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

@@ -639,8 +639,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	}
 
 	@Override
-	public Page<SysUser> kQueryUser(Page<SysUser> page, SysUser user,List<String> deptids,List<String>mydeptids,List<String>status,List<String>category) {
-		return page.setRecords(userMapper.kQueryUser(page,user,deptids,mydeptids,status,category));
+	public Page<SysUser> kQueryUser(Page<SysUser> page, SysUser user,List<String> deptids,List<String>mydeptids,List<String>status,List<String>category,String rzStartDate,String rzEndDate,String syStartDate,String syEndDate) {
+		return page.setRecords(userMapper.kQueryUser(page,user,deptids,mydeptids,status,category,rzStartDate,rzEndDate,syStartDate,syEndDate));
 	}
 
 	@Override

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

@@ -702,8 +702,17 @@ public class WeixinUserImpl implements IWeixinUserService{
         int yearCount=0;
         List<BdAnnualLeave> years = bdAnnualLeaveMapper.getYear(simpleDateFormat.format(newDate));
         if (years!=null&&years.size()>0&&userByid.getEntryDate()!=null){
+
             for (BdAnnualLeave ls:years){
-                yearCount+= getYear(userByid.getEntryDate(), ls.getBeginDate(), userByid);
+                if(ls.getYearName().equals("2022")){
+                    if (oConvertUtils.isNotEmpty(userByid.getYearCount())) {
+                        yearCount += Integer.parseInt(userByid.getYearCount());
+                    }else {
+                        yearCount+=0;
+                    }
+                }else {
+                    yearCount+= getYear(userByid.getEntryDate(), ls.getBeginDate(), userByid);
+                }
                 vacationsBody.addAll(vacationMapper.queryListBody(id,ls.getYearName()));
             }
         }
@@ -730,7 +739,7 @@ public class WeixinUserImpl implements IWeixinUserService{
         dBefore = calendar.getTime(); //得到前3月的时间
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置时间格式
         String defaultStartDate = sdf.format(dBefore); //格式化前3月的时间
-        Map<String, Object> stringObjectMap = vacationMapper.txCount(userByid.getId(), defaultStartDate);
+        Map<String, Object> stringObjectMap = vacationMapper.txCount(userByid.getId(),null);
         if (stringObjectMap.get("count")!=null&&!stringObjectMap.get("count").equals("0.0")&&!stringObjectMap.get("count").equals(0.0)){
             txCount=new  BigDecimal(stringObjectMap.get("count").toString()).subtract(new BigDecimal(stringObjectMap.get("sycount").toString())).toString();
 
@@ -756,6 +765,7 @@ public class WeixinUserImpl implements IWeixinUserService{
         Calendar now = Calendar.getInstance();//获取系统时间实列
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");//日期格式化
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM");
             int actualMaximum = now.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
             Date stDate = null;
             Date stDate2 = null;
@@ -765,8 +775,10 @@ public class WeixinUserImpl implements IWeixinUserService{
             long endDate;
         endDate =now.getTime().getTime()/1000;
        // enDate = now.getTime();
-        now.add(Calendar.DAY_OF_MONTH, -30);
-        startDate = now.getTime().getTime()/1000;
+       // now.add(Calendar.DAY_OF_MONTH, -30);
+        String format = sdff.format(now.getTime());
+        Date date = DateUtils.str2Date(format + "-01 00:00:00", sdf);
+        startDate = date.getTime()/1000;
 //        stDate = now.getTime();
 //        now.add(Calendar.DAY_OF_MONTH, -30);
 //        startDate2 = now.getTime().getTime()/1000;
@@ -1085,6 +1097,7 @@ public class WeixinUserImpl implements IWeixinUserService{
         List<Map<String,Object>>ps=new ArrayList<>();
         Map<String,Object>map=new HashMap<>();
         Map<String,Object>mapst=new HashMap<>();
+        Map<String,Object>mst=new HashMap<>();
         int cursor=0;
         headers.put("Content-Type", "application/json; charset=utf-8");
         ObjectMapper mapper = new ObjectMapper();//json转换实列
@@ -1094,7 +1107,9 @@ public class WeixinUserImpl implements IWeixinUserService{
             params.put("starttime", startDate);//开始时间参数
             params.put("endtime", endDate);//结束时间参数
             params.put("size", 100);//获取数据大小最大100
-
+            mst.put("key","sp_status");
+            mst.put("value","2");
+            ps.add(mst);
             if (type!=null&&!type.equals("")){
                 map.put("key", "record_type");
                 map.put("value", type);
@@ -1502,6 +1517,7 @@ public class WeixinUserImpl implements IWeixinUserService{
             Calendar now = Calendar.getInstance();//获取系统时间实列
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");//日期格式化
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            SimpleDateFormat sdff = new SimpleDateFormat("yyyy-MM");
             int actualMaximum = now.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
             Date stDate = null;
             Date stDate2 = null;
@@ -1510,9 +1526,12 @@ public class WeixinUserImpl implements IWeixinUserService{
             long startDate2;
             long endDate;
             endDate =now.getTime().getTime()/1000;
-            enDate = now.getTime();
-            now.add(Calendar.DAY_OF_MONTH, -30);
-            startDate = now.getTime().getTime()/1000;
+            //enDate = now.getTime();
+            String format = sdff.format(now.getTime());
+            Date date = DateUtils.str2Date(format + "-01 00:00:00", sdf);
+            startDate = date.getTime()/1000;
+            //now.add(Calendar.DAY_OF_MONTH, -30);
+           // startDate = now.getTime().getTime()/1000;
 //            stDate = now.getTime();
 //            now.add(Calendar.DAY_OF_MONTH, -30);
 //            startDate2 = now.getTime().getTime()/1000;

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

@@ -1,9 +1,7 @@
 package org.jeecg.modules.workOvertime.controller;
 
 import java.text.ParseException;
-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;
@@ -17,11 +15,13 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
+import org.jeecg.common.util.UUIDGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.geke.makeUpCard.entity.MakeUpCard;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.mapper.SysDepartMapper;
 import org.jeecg.modules.workOvertime.entity.workOvertime;
 import org.jeecg.modules.workOvertime.service.IworkOvertimeService;
-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;
@@ -57,6 +57,9 @@ public class workOvertimeController extends JeecgController<workOvertime, IworkO
 	@Autowired
 	private IworkOvertimeService workOvertimeService;
 
+	@Autowired
+	private SysDepartMapper departMapper;
+
 	 @Value("${jeecg.path.upload}")
 	 private String upLoadPath;
 	/**
@@ -213,7 +216,40 @@ public class workOvertimeController extends JeecgController<workOvertime, IworkO
    */
   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-      return super.importExcel(request, response, workOvertime.class);
+	  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+	  Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+	  Calendar now=Calendar.getInstance();
+	  // 错误信息
+	  List<String> errorMessage = new ArrayList<>();
+	  int successLines = 0, errorLines = 0;
+	  for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+		  MultipartFile file = entity.getValue();// 获取上传文件对象
+		  ImportParams params = new ImportParams();
+		  params.setTitleRows(2);
+		  params.setHeadRows(1);
+		  params.setNeedSave(true);
+		try {
+			List<workOvertime> listSysUsers = ExcelImportUtil.importExcel(file.getInputStream(), workOvertime.class, params);
+			if (listSysUsers!=null&&listSysUsers.size()>0){
+				for (workOvertime listSysUser : listSysUsers) {
+					String departLis = departMapper.getDepartLis(listSysUser.getDept());
+					listSysUser.setDept(departLis);
+					//workOvertimeService.sts(listSysUser);
+				}
+//				listSysUsers.get(0).setId(UUIDGenerator.generate());
+//				String departLis = departMapper.getDepartLis(listSysUsers.get(0).getDept());
+//				listSysUsers.get(0).setDept(departLis);
+//				workOvertimeService.save(listSysUsers.get(0));
+//				workOvertimeService.saveBatch(listSysUsers);
+				workOvertimeService.saveBatch(listSysUsers);
+
+			}
+		}catch (Exception e){
+			e.printStackTrace();
+		}
+
+	  }
+      return null;
   }
 
 	 /**

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

@@ -56,6 +56,7 @@ public class workOvertimeServiceImpl extends ServiceImpl<workOvertimeMapper, wor
                 if (str.getDeptCode()!=null&&!"".equals(str.getDeptCode())) {
                     List<String> codes = new ArrayList<>();
                     String codet = str.getDeptCode();
+                    if (!codet.equals("0")){
                     for (int i = 0; i < codet.length(); i = i + 2) {
                         codes.add(codet.substring(0, i + 2));
                     }
@@ -71,6 +72,7 @@ public class workOvertimeServiceImpl extends ServiceImpl<workOvertimeMapper, wor
                             }
                         });
                     }
+                    }
                 }
             });
         }