xiaoding721
2024-11-05 ea20fed96c39f8b845ec33813a92b048bc031dd7
修复变动人力成本报表的一些bug
已修改2个文件
51 ■■■■■ 文件已修改
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport#1.qbl 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport#1.qbl
@@ -18,10 +18,12 @@
    column3  := table.LocalColumn( relnew,CustomName := "生产天数" ,CustomIndex := 3);
    
    column4  := table.LocalColumn( relnew,CustomName := "加班/欠工时长" ,CustomIndex := 4);
    column5  := table.LocalColumn( relnew,CustomName := "节假日加班时长" ,CustomIndex := 6);
    column5  := table.LocalColumn( relnew,CustomName := "节假日加班时长" ,CustomIndex := 5);
    
    column6  := table.LocalColumn( relnew,CustomName := "加班/欠工费" ,CustomIndex := 8);
    column7 := table.LocalColumn( relnew,CustomName := "节假日加班费" ,CustomIndex := 10);
    column6  := table.LocalColumn( relnew,CustomName := "加班/欠工费" ,CustomIndex := 6);
    column7 := table.LocalColumn( relnew,CustomName := "节假日加班费" ,CustomIndex := 7);
    column8 := table.LocalColumn( relnew,CustomName := "总计加班/欠工费" ,CustomIndex := 8);
    
    units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true );
    
@@ -92,7 +94,8 @@
              // 下一天是节假日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //      }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
            }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
              // 下一天是周六或周日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
@@ -102,7 +105,8 @@
              defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }
          }
        }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //  }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
        }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
          // 休息日加班 
          overtime := shiftPlan.GetBreakDayOvertimeHour( false );
          breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + overtime );
@@ -112,7 +116,8 @@
              // 下一天是节假日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //      }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
            }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
              // 下一天是周六或周日
              nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
@@ -131,7 +136,8 @@
              // 下一天是节假日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //      }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
            }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
              // 下一天是周六或周日
              nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
@@ -143,7 +149,8 @@
          }
        }
      }else{
        if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) )){
    //  if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) )){
        if( not shiftPlan.IsHoliday() and not ( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 )){
          qiangongCell := LocalCell_Default::GetCell(  rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 );
          qiangongCell.RealValue( qiangongCell.RealValue() - 8 );
        }
@@ -188,10 +195,11 @@
      jiejiarifeiCell.RealValue( EmployeeCost::GetSalary( unit,holidayMultiplier,jiejiariCell.RealValue()));
      
      qiangongCell := LocalCell_Default::GetCell(  rowKey + column4.CustomName(), cellIndexTree, cells, row, column4 );
      qiangongCell.RealValue( qiangongCell.RealValue() - 8 );
      qiangongfeiCell := LocalCell_Default::GetCell(  rowKey + column6.CustomName(), cellIndexTree, cells, row, column6 );
      qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,defaultMultiplier,qiangongCell.RealValue() ));
      total := LocalCell_Default::GetCell(  rowKey + column8.CustomName(), cellIndexTree, cells, row, column8 );
      total.RealValue( jiejiarifeiCell.RealValue() + qiangongfeiCell.RealValue() );
    }
    
    return table;
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateStandardHoursReport.qbl
@@ -27,6 +27,8 @@
    column10 := table.LocalColumn( relnew,CustomName := "节假日加班费" ,CustomIndex := 10);
    column11 := table.LocalColumn( relnew,CustomName := "欠工费" ,CustomIndex := 11);
    
    column12 := table.LocalColumn( relnew,CustomName := "总加班费" ,CustomIndex := 12);
    units := selectset( shiftPlans,Elements.UnitPeriodTime.Unit,unit,true );
    
    rows := construct( LocalRows );
@@ -95,7 +97,8 @@
              // 下一天是节假日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //        }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
            }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
              // 下一天是周六或周日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
@@ -105,7 +108,8 @@
              defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }
          }
        }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //  }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
        }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
          // 休息日加班
          overtime := shiftPlan.GetBreakDayOvertimeHour( false );
          breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + overtime );
@@ -114,7 +118,8 @@
              // 下一天是节假日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //      }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
            }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
              // 下一天是周六或周日
              nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
@@ -133,7 +138,8 @@
              // 下一天是节假日
              nextDayOvertime := shiftPlan.GetHolidayOvertimeHour( true );
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
    //      }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
            }else if( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 ){
              // 下一天是周六或周日
              nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
@@ -145,7 +151,8 @@
          }
        }
      }else{
        if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) )){
    //  if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) )){
        if( not shiftPlan.IsHoliday() and not ( shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 6 or  shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek() = 7 )){
          qiangongCell := LocalCell_Default::GetCell(  rowKey + column7.CustomName(), cellIndexTree, cells, row, column7 );
          qiangongCell.RealValue( qiangongCell.RealValue() + 8 );
        }
@@ -202,12 +209,14 @@
      
      // 欠工费
      qiangongCell := LocalCell_Default::GetCell(  rowKey + column7.CustomName(), cellIndexTree, cells, row, column7 );
      qiangongCell.RealValue( qiangongCell.RealValue() );
      qiangongfeiCell := LocalCell_Default::GetCell(  rowKey + column11.CustomName(), cellIndexTree, cells, row, column11 );
      qiangongfeiCell.RealValue( EmployeeCost::GetSalary( unit,qiangongMultiplier,qiangongCell.RealValue() ));
      
      
      // 总加班费
      totalOvertimePay := LocalCell_Default::GetCell(  rowKey + column12.CustomName(), cellIndexTree, cells, row, column12 );
      totalOvertimePay.RealValue( jiejiarifeiCell.RealValue() + xiuxifeiCell.RealValue() + jiabanfeiCell.RealValue())
      // 工作日
      workingDayCell := LocalCell_Default::GetCell(  rowKey + column3.CustomName(), cellIndexTree, cells, row, column3 );
      workingDayCell.RealValue( workingDayCell.RealValue() );