Quellcode durchsuchen

LY 培训离职逻辑修改

ly vor 3 Jahren
Ursprung
Commit
12ad701633

+ 17 - 0
master/src/main/java/com/ruoyi/common/utils/DateUtils.java

@@ -1,6 +1,7 @@
 package com.ruoyi.common.utils;
 
 import java.lang.management.ManagementFactory;
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -226,5 +227,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         time += day; // 相加得到新的毫秒数
         return new Date(time); // 将毫秒数转换成日期
     }
+    //计算时间差
+    private static int formatDate(Date nowDate, Date sqlDate){
+        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String newDate = df.format(nowDate);
+        String sqlDate1 = df.format(sqlDate);
+        try {
+            nowDate = df.parse(newDate);
+            sqlDate = df.parse(sqlDate1);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        Long time =  nowDate.getTime();
+        Long time2 =  sqlDate.getTime();
+        int day = (int) ((time - time2) / (24*3600*1000));
+        return day;
+    }
 
 }

+ 1 - 0
master/src/main/java/com/ruoyi/project/plant/mapper/TStaffmgrMapper.java

@@ -49,6 +49,7 @@ public interface TStaffmgrMapper
      */
     @DataScope(deptAlias = "d")
     public List<TStaffmgr> selectTStaffmgrList(TStaffmgr tStaffmgr);
+
     @DataScope(deptAlias = "d")
     public List<TStaffmgr> selectAllTStaffmgrList(TStaffmgr tStaffmgr);
 

+ 36 - 2
master/src/main/java/com/ruoyi/project/training/controller/TTrainingController.java

@@ -154,7 +154,24 @@ public class TTrainingController extends BaseController
         if (tTraining.getPosition() != null) {
             TStaffmgr s = new TStaffmgr();
             s.setActualposts(tTraining.getPosition());
-            List<TStaffmgr> trainingStaff = tStaffmgrService.selectTStaffmgrList(s);
+            List<TStaffmgr> trainingStaff = tStaffmgrService.selectAllTStaffmgrList(s);
+            try {
+                //判断离职
+                if (!org.apache.commons.lang.StringUtils.isEmpty(tTraining.getYear())) {
+                    Iterator<TStaffmgr> iterator = trainingStaff.iterator();
+                    while (iterator.hasNext()) {
+                        TStaffmgr t = iterator.next();
+                        if (t.getLeftDate() != null && t.getDelFlag() == 9){
+                            if (t.getLeftDate().getTime() - tTraining.getStartDate().getTime() > 0l ) {
+                                logger.debug(t.getName() + "离职时间小于培训时间");
+                                iterator.remove();
+                            }
+                        }
+                    }
+                }
+            }catch (Exception e) {
+                logger.error(e.toString());
+            }
             for (TStaffmgr staff : trainingStaff) {
                 TTrainingDevice tTrainingDevice = new TTrainingDevice();
                 tTrainingDevice.setStaffId(staff.getStaffid());
@@ -239,7 +256,24 @@ public class TTrainingController extends BaseController
             if (tTraining.getPosition() != null) {
                 TStaffmgr s = new TStaffmgr();
                 s.setActualposts(tTraining.getPosition());
-                List<TStaffmgr> trainingStaff = tStaffmgrService.selectTStaffmgrList(s);
+                List<TStaffmgr> trainingStaff = tStaffmgrService.selectAllTStaffmgrList(s);
+                try {
+                    //判断离职
+                    if (!org.apache.commons.lang.StringUtils.isEmpty(tTraining.getYear())) {
+                        Iterator<TStaffmgr> iterator = trainingStaff.iterator();
+                        while (iterator.hasNext()) {
+                            TStaffmgr t = iterator.next();
+                            if (t.getLeftDate() != null && t.getDelFlag() == 9){
+                                if (t.getLeftDate().getTime() - tTraining.getStartDate().getTime() > 0l ) {
+                                    logger.debug(t.getName() + "离职时间小于培训时间");
+                                    iterator.remove();
+                                }
+                            }
+                        }
+                    }
+                }catch (Exception e) {
+                    logger.error(e.toString());
+                }
                 for (TStaffmgr staff : trainingStaff) {
                     TTrainingDevice tTrainingDevice = new TTrainingDevice();
                     tTrainingDevice.setStaffId(staff.getStaffid());

+ 74 - 3
master/src/main/java/com/ruoyi/project/training/controller/TTrainingRegularController.java

@@ -1,6 +1,8 @@
 package com.ruoyi.project.training.controller;
 
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Iterator;
 import java.util.List;
 
 import com.ruoyi.project.plant.domain.TStaffmgr;
@@ -11,6 +13,7 @@ import com.ruoyi.project.training.domain.TTraining;
 import com.ruoyi.project.training.domain.TTrainingDevice;
 import com.ruoyi.project.training.service.ITTrainingDeviceService;
 import com.ruoyi.project.training.service.ITTrainingService;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -170,7 +173,24 @@ public class TTrainingRegularController extends BaseController
                 logger.info("参培岗位人员");
                 TStaffmgr staffmgr = new TStaffmgr();
                 staffmgr.setActualposts(tTrainingRegular.getActualpostId());
-                List<TStaffmgr> staffmgrs = tStaffmgrService.selectTStaffmgrList(staffmgr);
+                List<TStaffmgr> staffmgrs = tStaffmgrService.selectAllTStaffmgrList(staffmgr);
+                try {
+                    //判断离职
+                    if (!StringUtils.isEmpty(tTrainingRegular.getYear())) {
+                        Iterator<TStaffmgr> iterator = staffmgrs.iterator();
+                        while (iterator.hasNext()) {
+                            TStaffmgr t = iterator.next();
+                            if (t.getLeftDate() != null && t.getDelFlag() == 9){
+                                if (t.getLeftDate().getTime() - tTrainingRegular.getPlanTrainingdate().getTime() > 0l ) {
+                                    logger.debug(t.getName() + "离职时间小于培训时间");
+                                    iterator.remove();
+                                }
+                            }
+                        }
+                    }
+                }catch (Exception e) {
+                    logger.error(e.toString());
+                }
                 for (TStaffmgr s : staffmgrs) {
                     TTrainingDevice tTrainingDevice = new TTrainingDevice();
                     tTrainingDevice.setStaffId(s.getStaffid());
@@ -198,7 +218,24 @@ public class TTrainingRegularController extends BaseController
                 logger.info("涉及MOC人员");
                 TStaffmgr staffmgrMoc = new TStaffmgr();
                 staffmgrMoc.setActualposts(tTrainingRegular.getDesignatedOther());
-                List<TStaffmgr> staffmgrsMoc = tStaffmgrService.selectTStaffmgrList(staffmgrMoc);
+                List<TStaffmgr> staffmgrsMoc = tStaffmgrService.selectAllTStaffmgrList(staffmgrMoc);
+                try {
+                    //判断离职
+                    if (!StringUtils.isEmpty(tTrainingRegular.getYear())) {
+                        Iterator<TStaffmgr> iterator = staffmgrsMoc.iterator();
+                        while (iterator.hasNext()) {
+                            TStaffmgr t = iterator.next();
+                            if (t.getLeftDate() != null && t.getDelFlag() == 9){
+                                if (t.getLeftDate().getTime() - tTrainingRegular.getPlanTrainingdate().getTime() > 0l ) {
+                                    logger.debug(t.getName() + "离职时间小于培训时间");
+                                    iterator.remove();
+                                }
+                            }
+                        }
+                    }
+                }catch (Exception e) {
+                    logger.error(e.toString());
+                }
                 for (TStaffmgr s : staffmgrsMoc) {
                     TTrainingDevice tTrainingDevice = new TTrainingDevice();
                     tTrainingDevice.setStaffId(s.getStaffid());
@@ -262,6 +299,23 @@ public class TTrainingRegularController extends BaseController
                 TStaffmgr staffmgrMoc = new TStaffmgr();
                 staffmgrMoc.setActualposts(tTrainingRegular.getDesignatedOther());
                 List<TStaffmgr> staffmgrsMoc = tStaffmgrService.selectTStaffmgrList(staffmgrMoc);
+                try {
+                    //判断离职
+                    if (!StringUtils.isEmpty(tTrainingRegular.getYear())) {
+                        Iterator<TStaffmgr> iterator = staffmgrsMoc.iterator();
+                        while (iterator.hasNext()) {
+                            TStaffmgr staffmgr2 = iterator.next();
+                            if (staffmgr2.getLeftDate() != null && t.getDelFlag() == 9){
+                                if (staffmgr2.getLeftDate().getTime() - tTrainingRegular.getPlanTrainingdate().getTime() > 0l ) {
+                                    logger.debug(staffmgr2.getName() + "离职时间小于培训时间");
+                                    iterator.remove();
+                                }
+                            }
+                        }
+                    }
+                }catch (Exception e) {
+                    logger.error(e.toString());
+                }
                 //如果存在条目
                 if (oldRegular.getActualpostId() != null || oldRegular.getDesignatedStaff() != null || oldRegular.getInvolvedMoc().equals("true")) {
                     TTrainingDevice tTrainingDevice = new TTrainingDevice();
@@ -273,7 +327,24 @@ public class TTrainingRegularController extends BaseController
                     logger.info("参培岗位人员");
                     TStaffmgr staffmgr = new TStaffmgr();
                     staffmgr.setActualposts(tTrainingRegular.getActualpostId());
-                    List<TStaffmgr> staffmgrs = tStaffmgrService.selectTStaffmgrList(staffmgr);
+                    List<TStaffmgr> staffmgrs = tStaffmgrService.selectAllTStaffmgrList(staffmgr);
+                    try {
+                        //判断离职
+                        if (!StringUtils.isEmpty(tTrainingRegular.getYear())) {
+                            Iterator<TStaffmgr> iterator = staffmgrs.iterator();
+                            while (iterator.hasNext()) {
+                                TStaffmgr staffmgr1 = iterator.next();
+                                if (staffmgr1.getLeftDate() != null && t.getDelFlag() == 9){
+                                    if (staffmgr1.getLeftDate().getTime() - tTrainingRegular.getPlanTrainingdate().getTime() > 0l ) {
+                                        logger.debug(staffmgr1.getName() + "离职时间小于培训时间");
+                                        iterator.remove();
+                                    }
+                                }
+                            }
+                        }
+                    }catch (Exception e) {
+                        logger.error(e.toString());
+                    }
                     for (TStaffmgr s : staffmgrs) {
                         TTrainingDevice tTrainingDevice = new TTrainingDevice();
                         tTrainingDevice.setStaffId(s.getStaffid());