Browse Source

排班修改

MSI\liwei 7 years ago
parent
commit
0b177b9c19

+ 10 - 8
VisualInspection/js/teamClass/charge_team_schedule.js

@@ -92,7 +92,7 @@
           get_common_service("dept/getFsByDept", "", function(data) {
               if (data != null) {
                   $(".thread_charge").append("<th>" + data.name + "</th>");
-                  $(".thread_charge").append("<th>值机班长</th>");
+                // $(".thread_charge").append("<th>值机班长</th>");
 
                   //灌南东
                   if (user_dept_id == 35) {
@@ -100,10 +100,10 @@
                       $(".thread_charge").append("<th>收费班长(新)</th>");
 
                   } else {
-                      $(".thread_charge").append("<th>收费班长</th>");
+                      $(".thread_charge").append("<th>收费班长<br/>(道口)</th>");
                   }
 
-                  $(".thread_charge").append("<th>值班室</th>");
+                  $(".thread_charge").append("<th>收费班长<br/>(值机室,金库)</th>");
 
 
                   // console.log(data);
@@ -245,6 +245,7 @@
 
 
           getCodeByFlagAndValue("record_class_days", 1, function(data) {
+              console.log(data);
               $("#save_user_class").removeClass("disabled");
 
               var days = 1;
@@ -264,7 +265,7 @@
 
               for (var j = 1; j < 4; j++) {
                   var cache = $(".tr-" + j).data("cache");
-
+                 
                   var zhiji_m_id = $(".c-" + j + "_0 select").val();
                   var station_m_id = $(".c-" + j + "_1 select").val();
                   var station_m_id1 = null;
@@ -288,13 +289,13 @@
 
                   zhiji_m_id = parseInt(zhiji_m_id)
                   station_m_id = parseInt(station_m_id)
-
+                  console.log(cache);
                   if (cache) {
                       var n_c = 2;
                       if (user_dept_id == 35) {
                           n_c = 3;
                       }
-                      for (var i = 2; i < lans + 1 + n_c; i++) {
+                      for (var i = 1; i < lans + 1 + n_c; i++) {
                           if ($(".tr-" + j + " td select").eq(i).val() != '' && $(".tr-" + j + " td select").eq(i).val() != null) {
                               var start_time = $("#save_user_class").data("work_date") + classCode[j].start_time + ":00";
                               if (j == 3) {
@@ -338,6 +339,7 @@
 
               if ($("#save_user_class").data("modify_flag")) {
                   $("#save_user_class").data("modify_flag", false);
+                  console.log(dutyList);
                   post_common_service("userClass/updateList", dutyList, function(data) {
                       tip("修改成功");
                       $('#add_fee_station').modal('hide');
@@ -550,7 +552,7 @@
                       selectv1 = selectv1.replace("<option value='0'>临时开道</option>", "");
                       selectv1 = selectv1.replace("<option value=''>请选择</option>", "<option value='0'>请选择</option>");
 
-                      $(".tr-" + ct).append("<td style='vertical-align:top;width:137px;padding:2px;' class='c-" + ct + "_0' >" + selectv1 + "</td>")
+                      //$(".tr-" + ct).append("<td style='vertical-align:top;width:137px;padding:2px;' class='c-" + ct + "_0' >" + selectv1 + "</td>")
 
                       if (user_dept_id == 35) {
                           $(".tr-" + ct).append("<td style='vertical-align:top;width:137px;padding:2px;' class='c-" + ct + "_1' >" + selectv1 + "</td>");
@@ -566,7 +568,7 @@
 
                       var selectv2 = selectv;
                       selectv2 = selectv2.replace("<option value='0'>临时开道</option>", "");
-
+                      console.log(selectv);
                       $(".tr-" + ct).append("<td style='vertical-align:top;width:137px;padding:2px;' class='c-" + ct + "-0' tag='0'>" + selectv2 + "</td>")
 
                       for (var z = 0; z < entrance_number; z++) {

+ 1 - 0
VisualInspection/js/user/userManager.js

@@ -71,6 +71,7 @@
      RoleGetALLNoData(function(data) {
 
          roles = [];
+         console.log(data);
          for (var i = 0; i < data.length; i++) {
              var m = data[i];
              var zdataItem = {};

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/GetOffWork.java

@@ -18,7 +18,7 @@ public class GetOffWork {
 
     private static final org.slf4j.Logger logger = LoggerFactory.getLogger(GetOffWork.class);
 
-    @Scheduled(cron = "0 20 00 * * ?")
+   // @Scheduled(cron = "0 10 * * * ?")
     public void confirmTasks() {
       // Date now = new Date();
 

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/system/securityTools/WebSecurityConfig.java

@@ -66,7 +66,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                  "/**/*.js"
          ).permitAll()
          // 对于获取token的rest api要允许匿名访问
-         .antMatchers("/user/auth/**","/file/**","/druid/**").permitAll()
+         .antMatchers("/user/auth/**","/file/**","/druid/**","/dept/get/all","/user/get/**","/checkRule/getItemListByRuleType","/checkOther/**").permitAll()
          // 除上面外的所有请求全部需要鉴权认证
          .anyRequest().authenticated();
     	

+ 5 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TeamClassController.java

@@ -6,6 +6,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 
+import com.xintong.visualinspection.service.OffWorkService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -34,6 +35,9 @@ public class TeamClassController extends BaseController {
     @Autowired
     private TeamService teamService;
 
+    @Autowired
+	private OffWorkService offWorkService;
+
 
    
     /**
@@ -57,6 +61,7 @@ public class TeamClassController extends BaseController {
      */
     @RequestMapping(value = "/add/list")
     public String addList(@Valid @RequestBody List<TeamClass> teamClasses,HttpServletRequest request){
+		//offWorkService.getOffWorkList();
     	User u =getCurrentUser(request);
     	for(int i=0;i<teamClasses.size();i++ ){
     		TeamClass teamClass = teamClasses.get(i);

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/xiansuo/CallDao.java

@@ -15,4 +15,6 @@ public interface CallDao {
 
     public List<OffWorkList> getOffWork();
 
+    public List<OffWorkList> getOffWorkDingBan();
+
 }

+ 4 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TeamClassMapper.xml

@@ -139,10 +139,11 @@
         ORDER BY t.work_date ASC ,t.class_type ASC
     </select>
 
-    <select id="getTeamClassByWorkdate" parameterType="com.xintong.visualinspection.pojo.TeamClass" resultMap="TeamClassResultMap">
+    <select id="getTeamClassByWorkdate" parameterType="com.xintong.visualinspection.bean.TeamClass" resultMap="BaseResultMap">
            SELECT * FROM sys_team_class where 1=1
         <if test="dept_id != null">AND dept_id = #{dept_id}</if>
-        <if test="work_date != null">AND work_date &gt;= #{work_date}</if>
-        <if test="class_type != null">AND class_type &gt;= #{class_type}</if>
+        <if test="work_date != null">AND work_date = #{work_date}</if>
+        <if test="class_type != null">AND class_type = #{class_type}</if>
     </select>
+
 </mapper>

+ 3 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/UserClassMapper.xml

@@ -192,7 +192,9 @@
         SELECT * FROM
         sys_user_class_unregular
         WHERE
-         user_id = #{user_id} and start_time &lt; #{start_time} &lt; end_time
+        #{start_time} between start_time and end_time
+        and
+         user_id = #{user_id} and class_type = #{class_type} and work_date = DATE_FORMAT(#{work_date},'%Y-%m-%d')
     </select>
 </mapper>
 

+ 5 - 2
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/xiansuo/CallMapper.xml

@@ -14,7 +14,10 @@
    </select>
 
     <select id="getOffWork"  resultMap="OffWorkList" >
-   		SELECT * FROM temp_offWorkList ORDER BY laneID,ONTIME,OPERATOR
+   		SELECT * FROM temp_offWorkList WHERE recordtype in (64,128) order by laneID,ONTIME,OPERATOR
+   </select>
+
+    <select id="getOffWorkDingBan"  resultMap="OffWorkList" >
+   		SELECT * FROM temp_offWorkList WHERE recordtype  not in (64,128) order by laneID,ONTIME,OPERATOR
    </select>
-    
 </mapper>

+ 138 - 38
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/OffWorkServiceImpl.java

@@ -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();
         }