Min 11 kuukautta sitten
vanhempi
commit
b823e52c09

+ 38 - 22
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserWithBeisenController.java

@@ -209,13 +209,13 @@ public class UserWithBeisenController {
                     if(between.toHours()<=0){
                         continue;
                     }else {
-                        //去掉休息时长
-                        long rest1 = DateTimeUtil.calculateOverlap(min, max, LocalTime.parse("12:00:00", df4), LocalTime.parse("13:00:00", df4));
-                        long rest2 = DateTimeUtil.calculateOverlap(min, max, LocalTime.parse("17:30:00", df4), LocalTime.parse("18:00:00", df4));
-                        long lastWorkMinute = between.toMinutes() - rest1-rest2;
-                        BigDecimal decimal = new BigDecimal(lastWorkMinute);
-                        decimal=decimal.divide(new BigDecimal(60),1,RoundingMode.HALF_DOWN);
-                        workTime=decimal.doubleValue();
+                        if(workDay){
+                            //去掉休息时长
+                            workTime=8.0;
+                        }else {
+                            //去掉休息时长
+                            workTime=0.0;
+                        }
                     }
                     Stream<JSONObject> overTimeStream = allOverTimeList.stream().map(elment -> (JSONObject) elment);
                     Stream<JSONObject> vacationStream = allVacationList.stream().map(elment -> (JSONObject) elment);
@@ -252,7 +252,9 @@ public class UserWithBeisenController {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>o.getDouble("OverTimeDuration")){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+o.getDouble("OverTimeDuration");
+                                        workTime=workTime+o.getDouble("OverTimeDuration");
+                                    }else{
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -266,7 +268,9 @@ public class UserWithBeisenController {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>l){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+l;
+                                        workTime=workTime+l;
+                                    }else {
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }
                             }else if(LocalDateTime.parse(o.getString("StopDate"),df1).toLocalDate().isEqual(localDate)){
@@ -277,7 +281,9 @@ public class UserWithBeisenController {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>o.getDouble("OverTimeDuration")){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+o.getDouble("OverTimeDuration");
+                                        workTime=workTime+o.getDouble("OverTimeDuration");
+                                    }else {
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -291,7 +297,9 @@ public class UserWithBeisenController {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>l){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+l;
+                                        workTime=workTime+l;
+                                    }else {
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }
                             }
@@ -446,13 +454,13 @@ public class UserWithBeisenController {
                 msg.setError("无考勤记录");
                 return msg;
             }else {
-                //去掉休息时长
-                long rest1 = DateTimeUtil.calculateOverlap(min, max, LocalTime.parse("12:00:00", df4), LocalTime.parse("13:00:00", df4));
-                long rest2 = DateTimeUtil.calculateOverlap(min, max, LocalTime.parse("17:30:00", df4), LocalTime.parse("18:00:00", df4));
-                long lastWorkMinute = between.toMinutes() - rest1-rest2;
-                BigDecimal decimal = new BigDecimal(lastWorkMinute);
-                decimal=decimal.divide(new BigDecimal(60),1,RoundingMode.HALF_DOWN);
-                workTime=decimal.doubleValue();
+              if(workDay){
+                  //去掉休息时长
+                  workTime=8.0;
+              }else {
+                  //去掉休息时长
+                  workTime=0.0;
+              }
             }
             Stream<JSONObject> overTimeStream = allOverTimeList.stream().map(elment -> (JSONObject) elment);
             Stream<JSONObject> vacationStream = vacationList.stream().map(elment -> (JSONObject) elment);
@@ -490,7 +498,9 @@ public class UserWithBeisenController {
                             BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                             if(divide.doubleValue()>o.getDouble("OverTimeDuration")){
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                workTime=workTime-divide.doubleValue()+o.getDouble("OverTimeDuration");
+                                workTime=workTime+o.getDouble("OverTimeDuration");
+                            }else{
+                                workTime=workTime+divide.doubleValue();
                             }
                         }else {
                             //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -504,7 +514,9 @@ public class UserWithBeisenController {
                             BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                             if(divide.doubleValue()>l){
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                workTime=workTime-divide.doubleValue()+l;
+                                workTime=workTime+l;
+                            }else {
+                                workTime=workTime+divide.doubleValue();
                             }
                         }
                     }else if(LocalDateTime.parse(o.getString("StopDate"),df1).toLocalDate().isEqual(localDate)){
@@ -515,7 +527,9 @@ public class UserWithBeisenController {
                             BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                             if(divide.doubleValue()>o.getDouble("OverTimeDuration")){
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                workTime=workTime-divide.doubleValue()+o.getDouble("OverTimeDuration");
+                                workTime=workTime+o.getDouble("OverTimeDuration");
+                            }else {
+                                workTime=workTime+divide.doubleValue();
                             }
                         }else {
                             //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -529,7 +543,9 @@ public class UserWithBeisenController {
                             BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                             if(divide.doubleValue()>l){
                                 //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                workTime=workTime-divide.doubleValue()+l;
+                                workTime=workTime+l;
+                            }else {
+                                workTime=workTime+divide.doubleValue();
                             }
                         }
                     }

+ 19 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -2159,13 +2159,13 @@ public class TimingTask {
                     if(between.toHours()<=0){
                         continue;
                     }else {
-                        //去掉休息时长
-                        long rest1 = DateTimeUtil.calculateOverlap(min, max, LocalTime.parse("12:00:00", df4), LocalTime.parse("13:00:00", df4));
-                        long rest2 = DateTimeUtil.calculateOverlap(min, max, LocalTime.parse("17:30:00", df4), LocalTime.parse("18:00:00", df4));
-                        long lastWorkMinute = between.toMinutes() - rest1-rest2;
-                        BigDecimal decimal = new BigDecimal(lastWorkMinute);
-                        decimal=decimal.divide(new BigDecimal(60),1,RoundingMode.HALF_DOWN);
-                        workTime=decimal.doubleValue();
+                        if(workDay){
+                            //去掉休息时长
+                            workTime=8.0;
+                        }else {
+                            //去掉休息时长
+                            workTime=0.0;
+                        }
                     }
                     Stream<JSONObject> overTimeStream = allOverTimeList.stream().map(elment -> (JSONObject) elment);
                     Stream<JSONObject> vacationStream = allVacationList.stream().map(elment -> (JSONObject) elment);
@@ -2202,7 +2202,9 @@ public class TimingTask {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>o.getDouble("OverTimeDuration")){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+o.getDouble("OverTimeDuration");
+                                        workTime=workTime+o.getDouble("OverTimeDuration");
+                                    }else{
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -2216,7 +2218,9 @@ public class TimingTask {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>l){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+l;
+                                        workTime=workTime+l;
+                                    }else {
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }
                             }else if(LocalDateTime.parse(o.getString("StopDate"),df1).toLocalDate().isEqual(localDate)){
@@ -2227,7 +2231,9 @@ public class TimingTask {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>o.getDouble("OverTimeDuration")){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+o.getDouble("OverTimeDuration");
+                                        workTime=workTime+o.getDouble("OverTimeDuration");
+                                    }else {
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }else {
                                     //开始日期和结束日期是不相同的情况 说明是加班区间存在加班到第二天的情况
@@ -2241,7 +2247,9 @@ public class TimingTask {
                                     BigDecimal divide = overTimeBigDecimal.divide(new BigDecimal(60), 1, RoundingMode.HALF_DOWN);
                                     if(divide.doubleValue()>l){
                                         //打卡获取到的加班时长大于加班单时长 需要在打卡体现的时长-打卡体现的加班时长+加班单时长
-                                        workTime=workTime-divide.doubleValue()+l;
+                                        workTime=workTime+l;
+                                    }else {
+                                        workTime=workTime+divide.doubleValue();
                                     }
                                 }
                             }

+ 5 - 1
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/planComponent.vue

@@ -24,7 +24,7 @@
                 <el-option label="排产工单号" value="1"></el-option>
                 <el-option label="项目名称" value="2"></el-option>
                 <el-option label="产品名称" value="3"></el-option>
-                <el-option label="订单号" value="3"></el-option>
+                <el-option label="订单号" value="4"></el-option>
               </el-select>
               <el-button slot="append" icon="el-icon-search" @click="getTableData()"></el-button>
             </el-input>
@@ -95,6 +95,10 @@
               </div>
             </template>
           </el-table-column>
+          <el-table-column prop="productOrderNum" label="排产订单号" width="180">
+          </el-table-column>
+          <el-table-column prop="projectName" label="项目名称" width="180">
+          </el-table-column>
           <el-table-column prop="productName" label="产品名称" width="180">
           </el-table-column>
           <el-table-column prop="projectCode" label="项目代码" width="180">