|
|
@@ -43,6 +43,7 @@ public class OffWorkServiceImpl extends BaseService implements OffWorkService {
|
|
|
public void getOffWorkList(){
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
cal.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
+ //cal.add(Calendar.HOUR_OF_DAY, -1);
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
String date = sdf.format(cal.getTime());
|
|
|
System.err.println(date);
|
|
|
@@ -75,9 +76,9 @@ public class OffWorkServiceImpl extends BaseService implements OffWorkService {
|
|
|
}
|
|
|
}
|
|
|
for(int j = i;j<list.size();j++){
|
|
|
- if(list.get(j).getRecordtype() == 128){
|
|
|
+ if(list.get(j).getRecordtype() == 128 && list.get(i).getOperator() == list.get(j).getOperator()){
|
|
|
uc.setEnd_time(list.get(j).getOntime());
|
|
|
- uc.setClass_type(getClassType(uc.getStart_time(),uc.getEnd_time()));
|
|
|
+ uc.setClass_type(getUserClassType(uc.getStart_time(),uc.getEnd_time()));
|
|
|
// TeamClass teamClass = new TeamClass();
|
|
|
// teamClass.setClass_type(uc.getClass_type());
|
|
|
// teamClass.setWork_date(uc.getWork_date());
|
|
|
@@ -88,15 +89,23 @@ public class OffWorkServiceImpl extends BaseService implements OffWorkService {
|
|
|
cObj.setWork_date( simpleDateFormat.parse(simpleDateFormat.format(uc.getWork_date())));
|
|
|
cObj.setDept_id(uc.getDept_id());
|
|
|
cObj.setLane(uc.getLane());
|
|
|
- uc.setClass_id(classDao.getUsersClassByDeptAndWorkDay(cObj).get(0).getId());
|
|
|
- if(classDao.getUsersClassByMore(uc).size() == 0){
|
|
|
- classDao.insert_detail2(uc);
|
|
|
- }
|
|
|
+ cObj.setUser_id(uc.getUser_id());
|
|
|
+ int monitor = teamList.get(0).getMonitor();
|
|
|
+ cObj.setMonitor_user_id((long)monitor);
|
|
|
+ List<UserClass> userClassList= classDao.getUsersClassByDeptAndWorkDay(cObj);
|
|
|
+ if(userClassList.size() == 0 ){
|
|
|
+ insertUserClass(cObj);
|
|
|
+ }
|
|
|
+ // uc.setClass_id(classDao.getUsersClassByDeptAndWorkDay(cObj).get(0).getId());
|
|
|
+ //if(classDao.getUsersClassByMore(uc).size() == 0 ){
|
|
|
+ // classDao.insert_detail2(uc);
|
|
|
+ // }
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ insertUseClassUnglar(org,cal);
|
|
|
}
|
|
|
catch (Exception e ){
|
|
|
e.printStackTrace();
|
|
|
@@ -113,19 +122,97 @@ public class OffWorkServiceImpl extends BaseService implements OffWorkService {
|
|
|
int start = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
calendar.setTime(end_date);
|
|
|
int end = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
- if(start<=8 && end>=8){
|
|
|
+ if(start >= 8 && start < 16){
|
|
|
return 1;
|
|
|
- }else if(start >= 8 && 8 <= end && end <= 15){
|
|
|
- return 1;
|
|
|
- }else if(start <=15 && end >= 15 ){
|
|
|
+ }else if(start >=16 && start < 23 ){
|
|
|
return 2;
|
|
|
- }else if(start >=15 && end <=23 && end >=15){
|
|
|
- return 2;
|
|
|
}else{
|
|
|
return 3;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public Integer getUserClassType(Date start_date,Date end_date){
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(start_date);
|
|
|
+ int start = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
+ calendar.setTime(end_date);
|
|
|
+ int end = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
+ if(start == 7 || start == 8){
|
|
|
+ return 1;
|
|
|
+ }else if(start == 15 || start == 16){
|
|
|
+ return 2;
|
|
|
+ }else{
|
|
|
+ return 3;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void insertUseClassUnglar(Organ org,Calendar cal){
|
|
|
+ try {
|
|
|
+ List<OffWorkList> list = callDao.getOffWorkDingBan();
|
|
|
+ UnregularUserClass uc = new UnregularUserClass();
|
|
|
+ List<Team> teamList = teamDao.getByDeptId((long) org.getId());
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ if (list.get(i).getRecordtype() == 106) {
|
|
|
+ User user = userDao.findByUserName(list.get(i).getOperator());
|
|
|
+ if (user == null) {
|
|
|
+ user = userDao.getOne(3232);
|
|
|
+ }
|
|
|
+ uc.setUser_id((long) user.getId());
|
|
|
+ uc.setTeam_id(teamList.get(0).getId());
|
|
|
+ uc.setMonitor_user_id((long) teamList.get(0).getMonitor());
|
|
|
+ uc.setDept_id((long) org.getId());
|
|
|
+ uc.setUser_name(user.getTruename());
|
|
|
+ uc.setStart_time(list.get(i).getOntime());
|
|
|
+ uc.setWork_date(cal.getTime());
|
|
|
+ if (Integer.valueOf(list.get(i).getLaneID()) > 100) {
|
|
|
+ uc.setLane(0 - (Integer.valueOf(list.get(i).getLaneID()) - 100));
|
|
|
+ }else{
|
|
|
+ uc.setLane(Integer.valueOf(list.get(i).getLaneID()));
|
|
|
+ }
|
|
|
+ for (int j = i; j < list.size(); j++) {
|
|
|
+ if (list.get(j).getRecordtype() == 104) {
|
|
|
+ uc.setEnd_time(list.get(j).getOntime());
|
|
|
+ uc.setClass_type(getClassType(uc.getStart_time(), uc.getEnd_time()));
|
|
|
+ UserClass cObj = new UserClass();
|
|
|
+ cObj.setClass_type(uc.getClass_type());
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ cObj.setWork_date(simpleDateFormat.parse(simpleDateFormat.format(uc.getWork_date())));
|
|
|
+ cObj.setDept_id(uc.getDept_id());
|
|
|
+ cObj.setLane(uc.getLane());
|
|
|
+ cObj.setUser_id(3232L);
|
|
|
+// user = userDao.findByUserName(list.get(i).getOperator());
|
|
|
+// if(user == null){
|
|
|
+// user = userDao.getOne(3232);
|
|
|
+// }
|
|
|
+// uc.setUser_id((long)user.getId());
|
|
|
+ int monitor = teamList.get(0).getMonitor();
|
|
|
+ cObj.setMonitor_user_id((long) monitor);
|
|
|
+ List<UserClass> userClassList = classDao.getUsersClassByDeptAndWorkDay(cObj);
|
|
|
+ if (userClassList.size() == 0) {
|
|
|
+ insertUserClass(cObj);
|
|
|
+ }
|
|
|
+ long lane = Long.valueOf(list.get(j).getLaneID());
|
|
|
+ if(Integer.valueOf(list.get(i).getLaneID()) > 100){
|
|
|
+ lane = 0-(lane-100);
|
|
|
+ }
|
|
|
+ uc.setClass_id(classDao.getUsersClassByDeptAndWorkDay(cObj).get(0).getId());
|
|
|
+ if(classDao.getUsersClassByMore(uc).size() == 0 && uc.getLane() == lane){
|
|
|
+ classDao.insert_detail2(uc);
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public void insertTeamClass(Long deptid,Date work_date){
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
@@ -149,46 +236,59 @@ public class OffWorkServiceImpl extends BaseService implements OffWorkService {
|
|
|
teamClass.setStart_time(calendar.getTime());
|
|
|
calendar.add(Calendar.HOUR_OF_DAY,9);
|
|
|
teamClass.setEnd_time(calendar.getTime());
|
|
|
- teamClassDao.insert(teamClass);
|
|
|
- insertUserClass(teamClass);
|
|
|
+ if(teamClassDao.getTeamClassByWorkdate(teamClass) == null){
|
|
|
+ teamClassDao.insert(teamClass);
|
|
|
+ }
|
|
|
+ //insertUserClass(teamClass);
|
|
|
teamClass.setClass_type(1);
|
|
|
teamClass.setStart_time(calendar.getTime());
|
|
|
- calendar.add(Calendar.HOUR_OF_DAY,7);
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,8);
|
|
|
teamClass.setEnd_time(calendar.getTime());
|
|
|
- teamClassDao.insert(teamClass);
|
|
|
- insertUserClass(teamClass);
|
|
|
+ if(teamClassDao.getTeamClassByWorkdate(teamClass) == null){
|
|
|
+ teamClassDao.insert(teamClass);
|
|
|
+ }
|
|
|
+ // insertUserClass(teamClass);
|
|
|
teamClass.setClass_type(2);
|
|
|
teamClass.setStart_time(calendar.getTime());
|
|
|
- calendar.add(Calendar.HOUR_OF_DAY,8);
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,7);
|
|
|
teamClass.setEnd_time(calendar.getTime());
|
|
|
- teamClassDao.insert(teamClass);
|
|
|
- insertUserClass(teamClass);
|
|
|
+ if(teamClassDao.getTeamClassByWorkdate(teamClass) == null){
|
|
|
+ teamClassDao.insert(teamClass);
|
|
|
+ }
|
|
|
+ // insertUserClass(teamClass);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- public void insertUserClass(TeamClass teamClass){
|
|
|
+ public void insertUserClass(UserClass userClass){
|
|
|
try {
|
|
|
- UserClass user = new UserClass();
|
|
|
- user.setStart_time(teamClass.getStart_time());
|
|
|
- user.setEnd_time(teamClass.getEnd_time());
|
|
|
- user.setDept_id(teamClass.getDept_id());
|
|
|
- user.setWork_date(teamClass.getWork_date());
|
|
|
- user.setClass_type(teamClass.getClass_type());
|
|
|
- user.setUser_id((long)3232);
|
|
|
- user.setTeam_id(teamClass.getTeam_id());
|
|
|
- long dept = teamClass.getDept_id();
|
|
|
- FeeStation feeStation = deptService.getFSByDeptId((int)dept);
|
|
|
- for(int i=1;i<feeStation.getEntrance_numer()+1;i++){
|
|
|
- user.setLane(i);
|
|
|
- classDao.insert(user);
|
|
|
- }
|
|
|
- for(int i=-1;i>0-feeStation.getExit_numer()-1;i--){
|
|
|
- user.setLane(i);
|
|
|
- classDao.insert(user);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date work_date = simpleDateFormat.parse(simpleDateFormat.format(userClass.getWork_date()));
|
|
|
+ calendar.setTime(work_date);
|
|
|
+ // UserClass user = new UserClass();
|
|
|
+ if(userClass.getClass_type() == 3){
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,-1);
|
|
|
+ userClass.setStart_time(calendar.getTime());
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,9);
|
|
|
+ userClass.setEnd_time(calendar.getTime());
|
|
|
+ }else if(userClass.getClass_type() == 1){
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,8);
|
|
|
+ userClass.setStart_time(calendar.getTime());
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,8);
|
|
|
+ userClass.setEnd_time(calendar.getTime());
|
|
|
+ }else if(userClass.getClass_type() == 2){
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,16);
|
|
|
+ userClass.setStart_time(calendar.getTime());
|
|
|
+ calendar.add(Calendar.HOUR_OF_DAY,7);
|
|
|
+ userClass.setEnd_time(calendar.getTime());
|
|
|
}
|
|
|
+
|
|
|
+ //userClass.setUser_id((long)3232);
|
|
|
+ userClass.setTeam_id(teamDao.getByDeptId(userClass.getDept_id()).get(0).getId());
|
|
|
+ classDao.insert(userClass);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|