atsOverTimeBillEditEx.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /**
  2. * 加班单拓展
  3. * 202412
  4. * 匡原志_coyle
  5. */
  6. shr.defineClass("shr.ats.AtsOverTimeBillEditEx", shr.ats.AtsOverTimeBillEdit, {
  7. initalizeDOM:function(){
  8. shr.ats.AtsOverTimeBillEditEx.superClass.initalizeDOM.call(this);
  9. var that = this ;
  10. },
  11. calculataApplyOTTime : function(){
  12. var startTime = atsMlUtile.getFieldOriginalValue("entries_startTime");
  13. var endTime = atsMlUtile.getFieldOriginalValue("entries_endTime");
  14. var restTime = atsMlUtile.getFieldOriginalValue("entries_restTime");
  15. if( (new String(restTime)).trim()=='' ){
  16. restTime=0;
  17. atsMlUtile.setTransNumValue("entries_restTime",0,{'decimalPrecision':0});
  18. }else{
  19. restTime=parseFloat(restTime);
  20. if(restTime<0.0){
  21. atsMlUtile.setTransNumValue("entries_restTime",0,{'decimalPrecision':0});
  22. restTime=0.0;
  23. }
  24. }
  25. if ( startTime!=""&&startTime!=null && endTime!=""&&endTime!=null ) {
  26. var regEx = new RegExp("\\-","gi");
  27. startTime = startTime.replace(regEx,"/");
  28. endTime = endTime.replace(regEx,"/");
  29. var startTimeOfDate = new Date(startTime);
  30. var endTimeOfDate = new Date(endTime);
  31. var longTime = endTimeOfDate.getTime() - startTimeOfDate.getTime();
  32. if (longTime <= 0) {
  33. atsMlUtile.setTransNumValue("entries_applyOTTime",0);
  34. //$("#entries_realOTTime").val(0);//时刻根据 实际的止-实际的起-休息通过在调用that.calculataApplyOTTime()后调用that.calculataRealOTTime()来达到的
  35. }else{
  36. t1 = parseFloat(longTime)/1000.0/60/60;
  37. t1 = t1 - parseFloat(restTime)/60;
  38. var that = this;
  39. //向下取整
  40. that.getDecimalPlace(Math.floor(t1),"entries_applyOTTime");
  41. }
  42. }
  43. },
  44. calculataRealOTTime : function(){
  45. var realStartTime = atsMlUtile.getFieldOriginalValue("entries_realStartTime");
  46. var realEndTime = atsMlUtile.getFieldOriginalValue("entries_realEndTime");
  47. var restTime = atsMlUtile.getFieldOriginalValue("entries_restTime")||'';
  48. if( (new String(restTime)).trim()=='' ){
  49. restTime=0;
  50. atsMlUtile.setTransNumValue("entries_restTime",0,{'decimalPrecision':0});
  51. }else{
  52. restTime=parseFloat(restTime);
  53. if(restTime<0.0){
  54. atsMlUtile.setTransNumValue("entries_restTime",0,{'decimalPrecision':0});
  55. restTime=0.0;
  56. }
  57. }
  58. if ( realStartTime!=""&&realStartTime!=null && realEndTime!=""&&realEndTime!=null ) {
  59. var regEx = new RegExp("\\-","gi");
  60. realStartTime = realStartTime.replace(regEx,"/");
  61. realEndTime = realEndTime.replace(regEx,"/");
  62. var realStartTimeOfDate = new Date(realStartTime);
  63. var realEndTimeOfDate = new Date(realEndTime);
  64. //lzq 加上减去休息时间
  65. var floatTime = parseFloat( realEndTimeOfDate.getTime() - realStartTimeOfDate.getTime() )/1000.0/60/60 - parseFloat(restTime)/60;;
  66. if (floatTime <= 0.0) {
  67. atsMlUtile.setTransNumValue("entries_realOTTime",0);
  68. }else{
  69. //t1 = parseFloat(longTime)/1000.0/60/60;\
  70. var that = this;
  71. //向下取整
  72. that.getDecimalPlace(Math.floor(floatTime),"entries_realOTTime");
  73. }
  74. }
  75. },
  76. });