LiGuang 3 years ago
parent
commit
eda0c076a7

+ 38 - 36
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendanceRule/controller/AttendanceRuleController.java

@@ -151,43 +151,45 @@ public class AttendanceRuleController extends JeecgController<AttendanceRule, IA
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
 		List<String> strings = Arrays.asList(attendanceRule.getUserId().split(","));
 		List<String>ids=new ArrayList<>();
-		if (!attendanceRule.getType().equals("1")&&!attendanceRule.getType().equals("3")){
-			ObjectMapper mapper=new ObjectMapper();
-			List ls = mapper.readValue(attendanceRule.getRuleType(), List.class);
-			Map one=(Map)ls.get(0);
-			strings.forEach(s->{
-				userShiftService.deleteUserShift(s,one.get("date").toString());
-			});
-			List<UserShift>lt=new ArrayList<>();
-			ls.forEach(str->{
-				Map user=(Map)str;
-				UserShift shift=new UserShift();
-				shift.setShiftId(user.get("shiftid").toString());
-				shift.setUserId(user.get("userid").toString());
-				Date date = null;
-				try {
-					date = DateUtils.parseDate(user.get("date").toString(), "yyyy-MM-dd HH:mm:ss");
-				} catch (ParseException e) {
-					e.printStackTrace();
-				}
-				shift.setShiftDate(date);
-				lt.add(shift);
-			});
-			userShiftService.saveBatch(lt);
-		}
-
-		strings.forEach(str->{
-			AttendanceRule ar = attendanceRuleService.UserRule(str);
-			if (ar!=null) {
-				ar.setType(attendanceRule.getType());
-				ar.setStartDate(attendanceRule.getStartDate());
-				ar.setEndDate(attendanceRule.getEndDate());
-				ar.setWorkDay(attendanceRule.getWorkDay());
-				list.add(ar);
+		if (!attendanceRule.getRuleType().equals("[]")) {
+			if (!attendanceRule.getType().equals("1") && !attendanceRule.getType().equals("3") && !attendanceRule.getRuleType().equals("[]")) {
+				ObjectMapper mapper = new ObjectMapper();
+				List ls = mapper.readValue(attendanceRule.getRuleType(), List.class);
+				Map one = (Map) ls.get(0);
+				strings.forEach(s -> {
+					userShiftService.deleteUserShift(s, one.get("date").toString());
+				});
+				List<UserShift> lt = new ArrayList<>();
+				ls.forEach(str -> {
+					Map user = (Map) str;
+					UserShift shift = new UserShift();
+					shift.setShiftId(user.get("shiftid").toString());
+					shift.setUserId(user.get("userid").toString());
+					Date date = null;
+					try {
+						date = DateUtils.parseDate(user.get("date").toString(), "yyyy-MM-dd HH:mm:ss");
+					} catch (ParseException e) {
+						e.printStackTrace();
+					}
+					shift.setShiftDate(date);
+					lt.add(shift);
+				});
+				userShiftService.saveBatch(lt);
 			}
-		});
-		attendanceRuleService.updateBatchById(list);
-
+				strings.forEach(str -> {
+					AttendanceRule ar = attendanceRuleService.UserRule(str);
+					if (ar != null) {
+						ar.setType(attendanceRule.getType());
+						ar.setStartDate(attendanceRule.getStartDate());
+						ar.setEndDate(attendanceRule.getEndDate());
+						ar.setWorkDay(attendanceRule.getWorkDay());
+						list.add(ar);
+					}
+				});
+			attendanceRuleService.updateBatchById(list);
+		}else {
+			userShiftService.deleteUserShift(attendanceRule.getUserId(),attendanceRule.getName()+"-01");//name作为时间传递
+		}
 		return Result.OK("编辑成功!");
 	}
 	

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

@@ -12,6 +12,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.common.aspect.annotation.Dict;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
@@ -74,6 +75,7 @@ public class Shift {
 	/**创建人*/
 	@Excel(name = "创建人", width = 15)
     @ApiModelProperty(value = "创建人")
+	@Dict(dicCode = "id",dictTable = "sys_user",dicText = "realname")
 	private java.lang.String createBy;
 	/**修改人*/
     @ApiModelProperty(value = "修改人")

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

@@ -136,7 +136,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
         List<String> mySubDepIdsByDepId=null;
         IPage<Map<String, Object>> users=null;
 
-        if (!type.equals("4")) {
+        if (oConvertUtils.isNotEmpty(type)&&!type.equals("4")) {
             users=getUsers(page,type,deptids,name,dept);
             if (users.getRecords() != null && users.getRecords().size() > 0) {
                 users.getRecords().forEach(str -> {
@@ -155,7 +155,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
         int year = calendar.get(Calendar.YEAR);//年份
         int month = calendar.get(calendar.MONTH) + 1;//月份
         int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
-        if (type.equals("2")) {
+        if (oConvertUtils.isNotEmpty(type)&&type.equals("2")) {
                 for (Map user : users.getRecords()) {
                     if (!user.get("type").equals("1") && !user.get("type").equals("3")) {
                         List<Map<String, Object>> id = userShiftMapper.getMothsUserShift(user.get("id").toString(), date);
@@ -171,7 +171,7 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
                   }
                 }
             }
-        }else if (type.equals("4")){
+        }else if (oConvertUtils.isNotEmpty(type)&&type.equals("4")){
             List<String> ids = userShiftMapper.getUserids(deptids,dept);
             users = getUserNot(page, ids,deptids,name,dept);
             if (users.getRecords() != null && users.getRecords().size() > 0) {
@@ -199,7 +199,11 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
         int year = calendar.get(Calendar.YEAR);//年份
         int month = calendar.get(calendar.MONTH) + 1;//月份
         int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
-        List<Map<String, Object>> userByids = userShiftMapper.getUserByids(Arrays.asList(userid.split(",")));
+        List<String>arr=new ArrayList<>();
+        if (oConvertUtils.isNotEmpty(userid)){
+            arr=Arrays.asList(userid.split(","));
+        }
+        List<Map<String, Object>> userByids = userShiftMapper.getUserByids(arr);
         if (!type.equals("2")){
             if (userByids!=null){
                 for (int i = 1; i <= actualMaximum; i++) {

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

@@ -920,7 +920,7 @@ public class SysUserController {
             u.setNationality("101");
             u.setEducation("101");
             u.setSchool("例:上海师范大学");
-            u.setShareDept("1");
+            u.setShareDept("中后台");
             u.setTrialMoth("6");
             u.setTrialEndDate(new Date());
             u.setWorkMoth("6");
@@ -933,6 +933,7 @@ public class SysUserController {
             u.setType("2");
             u.setRemarks("国外友人");
             pageList=new ArrayList<>();
+            pageList.add(u);
         }
         ExportParams exportParams = new ExportParams("员工列表数据", "导出人:"+user.getRealname(), sName);
         exportParams.setImageBasePath(upLoadPath);

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

@@ -553,7 +553,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	public Boolean add(SysUser sysUser,SysUserRole sysUserRole) {
 		SysUser byId = this.getOnes(sysUser.getId());
 		if (byId!=null &&!byId.equals("")){
-			return super.updateById(sysUser);
+			//return super.updateById(sysUser);
+			return false;
 		}else {
 			sysUserRoleService.saveUserRole(sysUserRole);
 			sysUser.setStatus(1);

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

@@ -16,6 +16,7 @@ import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.constant.FillRuleConstant;
 import org.jeecg.common.util.*;
 import org.jeecg.modules.geke.attendance.entity.Attendance;
+import org.jeecg.modules.geke.attendance.mapper.AttendanceMapper;
 import org.jeecg.modules.geke.attendance.service.IAttendanceService;
 import org.jeecg.modules.geke.makeUpCard.entity.MakeUpCard;
 import org.jeecg.modules.geke.makeUpCard.service.IMakeUpCardService;
@@ -115,6 +116,9 @@ public class WeixinUserImpl implements IWeixinUserService{
     @Autowired
     private IUserChageService userChageService;
 
+    @Autowired
+    private AttendanceMapper attendanceMapper;
+
 
     private DepartmentService departmentService=new DepartmentService();
 
@@ -602,29 +606,23 @@ public class WeixinUserImpl implements IWeixinUserService{
         Calendar calendar = Calendar.getInstance();//获取系统时间实列
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");//日期格式化
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd");
         int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取前端传过来的时间获取月份的总天数
-        Date stDate = null;
-        Date enDate = null;
-        Date stDate2 = null;
         long startDate;
-        long startDate2;
         long endDate;
-        Calendar now = Calendar.getInstance();
-        endDate =now.getTime().getTime()/1000;
-        enDate = now.getTime();//当前日期
-        now.add(Calendar.DAY_OF_MONTH, -30);
-        startDate = now.getTime().getTime()/1000;
-        stDate = now.getTime();//当前日期前30天
-        now.add(Calendar.DAY_OF_MONTH, -30);
-        startDate2 = now.getTime().getTime()/1000;
-        stDate2 = now.getTime();//当前日期前60天
-
+        Calendar now = Calendar.getInstance();//当前日期
+        now.add(Calendar.DAY_OF_MONTH, -1);
+        String format = sft.format(now.getTime());
+        Date parse = sdf.parse(format + " 00:00:00");
+        startDate = parse.getTime()/1000;
+        Date parses = sdf.parse(format + " 23:59:59");
+        endDate= parses.getTime()/1000;
         try {
             List<String> list = WeixinUserIdList();
             if (list != null && list.size() > 0) {
-                attendanceService.DeleteDateAttendance(sdf.format(stDate2), sdf.format(enDate), list);
+                //attendanceService.DeleteDateAttendance(sdf.format(stDate2), sdf.format(enDate), list);
                 weixinSigns.addAll(WeixinSignList(String.valueOf(startDate), String.valueOf(endDate), list));
-                weixinSigns.addAll(WeixinSignList(String.valueOf(startDate2), String.valueOf(startDate), list));
+                //weixinSigns.addAll(WeixinSignList(String.valueOf(startDate2), String.valueOf(startDate), list));
                 if (weixinSigns != null && weixinSigns.size() > 0) {
                     for (WeixinSign wxlist : weixinSigns) {
                         Attendance attendance = new Attendance();
@@ -971,6 +969,14 @@ public class WeixinUserImpl implements IWeixinUserService{
                 MakeUpCard makeUpCard = WxUpCard(str);
                 if (makeUpCard!=null){
                     makeUpCardService.save(makeUpCard);
+                    Attendance one = attendanceMapper.getOne(makeUpCard.getUserId(), sdf.format(makeUpCard.getTime()));
+                    if (oConvertUtils.isEmpty(one)){
+                        Attendance attendance=new Attendance();
+                        attendance.setUserDate(makeUpCard.getTime());
+                        attendance.setUserId(makeUpCard.getUserId());
+                        attendance.setExceptionType("正常");
+                       // attendanceService.save()
+                    }
                 }
                 System.out.println(makeUpCard);
             }catch (Exception e){