123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- shr.defineClass("shr.customer.gtiit.AtsOverTimeBillEditEx", shr.ats.AtsOverTimeBillEdit, {
- initalizeDOM:function(){
- shr.customer.gtiit.AtsOverTimeBillEditEx.superClass.initalizeDOM.call(this);
- var that = this ;
- if(that.getOperateState() != 'VIEW'){
- $('#entries_otDate').bind('change',function(){
- var otDate=atsMlUtile.getFieldOriginalValue('entries_otDate');
- $('#entries_startTime').shrDateTimePicker('setValue', otDate);
- $('#entries_endTime').shrDateTimePicker('setValue', otDate);
- that.setOverTimeRemark();
- that.changeWorkType(otDate);
- });
- }
- },
- changeWorkType: function (otDate) {
- var that = this;
- if (!otDate) {
- return;
- }
- _self.remoteCall({
- type:"post",
- async: false,
- method:"workMultiple",
- param:{otDate:otDate},
- success:function(res){
- if(res.otTypeValue){
- var responseObejct = {id: res.otTypeValue,name: res.otTypeText};
- $("#entries_otType").shrPromptBox("setValue", responseObejct);
- }
- }
- });
- },
- checkOtDate:function(){
- var otDate = $("#entries_otDate").val();
- otDate = new Date(otDate);
- const currentDate = new Date();
- const lastMonthDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1, currentDate.getDate());
- var lastYear = lastMonthDate.getFullYear();
- var lastMonth = lastMonthDate.getMonth();
- if(otDate.getMonth() != lastMonth || otDate.getFullYear() != lastYear){
- shr.showWarning({message: "当月只能提交加班日期为上个月加班记录"});
- return false;
- }
- return true;
- },
- verify:function(){
- var _self = this ;
- var workArea = _self.getWorkarea();
- $form = $('form', workArea);
- if (!$form.valid()) {
- return false;
- }
- if ( !_self.verifyRestTime(true)) {
- return
- }
- var startTime = atsMlUtile.getFieldOriginalValue("entries_startTime");
- var endTime = atsMlUtile.getFieldOriginalValue("entries_endTime");
- var regEx = new RegExp("\\-","gi"); //i不区分大小写 g匹配所有
- startTime = startTime.replace(regEx,"/");
- endTime = endTime.replace(regEx,"/");
- var startTimeOfDate = new Date(startTime);
- var endTimeOfDate = new Date(endTime);
- var longTime = endTimeOfDate.getTime() - startTimeOfDate.getTime();
- var realstartTime = atsMlUtile.getFieldOriginalValue("entries_realStartTime");
- var realendTime = atsMlUtile.getFieldOriginalValue("entries_realEndTime");
- var realstartTimeOfDate = new Date( realstartTime.replace(regEx,"/") );
- var realendTimeOfDate = new Date( realendTime.replace(regEx,"/") );
- var longTime_real = realendTimeOfDate.getTime() - realstartTimeOfDate.getTime();
- //处理加班日期 与 加班开始时间 和结束时间的日期保持一致
- var overDate = atsMlUtile.getFieldOriginalValue("entries_otDate");
- var overTimeBegin = atsMlUtile.getFieldOriginalValue("entries_startTime");
- overTimeBegin = overTimeBegin.substring(0,10); //2014-01-02 00:00
- var overTimeEnd = atsMlUtile.getFieldOriginalValue("entries_endTime");
- overTimeEnd = overTimeEnd.substring(0,10);
- var overTimeDate = new Date(overDate.replace(regEx,"/"));
- var overTimeStartDate = new Date(overTimeBegin.replace(regEx,"/"));
- var overTimeEndDate = new Date(overTimeEnd.replace(regEx,"/"));
- var otTypeId = "";
- if (_self.getOperateState().toUpperCase() == 'VIEW') {
- otTypeId = $("#entries_otType").val();
- }else {
- otTypeId = $("#entries_otType_el").val();
- }
- if(otTypeId == null || otTypeId == undefined || otTypeId.length == 0){
- shr.showInfo({message: overDate + jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_12});
- return false;
- }
- //检查人员是否有考勤档案
- var isExistsFile = true;
- var personNum = "";
- if("ADDNEW" == this.getOperateState() || "EDIT" == this.getOperateState()){
- personNum = $("#entries_person_number").val()//@
- }else if("VIEW" == this.getOperateState()){
- personNum = $("#entries_person_number").text()//@
- }
-
- if ( overTimeStartDate.getTime() <overTimeDate.getTime()-24*60*60*1000 ) {//longTime_start != 0 && longTime_end != 0
- shr.showInfo({message: jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_2});
- return false;
- }
- if ( overTimeEndDate.getTime()-24*60*60*1000 > overTimeDate.getTime() ) {
- shr.showInfo({message: jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_2});
- return false;
- }
- if ( overTimeEndDate.getTime()- overTimeStartDate.getTime() >=2*24*60*60*1000) {
- shr.showInfo({message: jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_2});
- return false;
- }
- if (longTime <= 0) {
- shr.showInfo({message: jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_10});
- return false;
- }else if (longTime_real <= 0) {
- shr.showInfo({message: jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_19});
- return false;
- }else if ($("#entries_otCompens").attr("title")
- ==jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_4 && !_self.isOverMaxQuota()){
- return false;
- }
- var otTime = atsMlUtile.getFieldOriginalValue("entries_applyOTTime");
- if(parseFloat(otTime) < 0){
- shr.showWarning({message:jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_11});
- return false;
- }
- if(parseFloat(otTime) == 0){
- shr.showWarning({message:jsBizMultLan.atsManager_atsOverTimeBillEdit_YM_0001});
- return false;
- }
- var personId = $('#entries_person_el').val();
- if (_self.getOperateState().toUpperCase() == 'VIEW') {
- personId = $('#entries_person').val();
- }
- var flag = true ;
- _self.remoteCall({
- type:"post",
- method:"isCrossShift",
- async: false,
- param:{personId: personId,overDate:overDate,overTimeBegin:atsMlUtile.getFieldOriginalValue("entries_startTime")+":00",overTimeEnd:atsMlUtile.getFieldOriginalValue("entries_endTime")+":00"},
- success:function(res){
- var info = res;
- if (info.isCrossShift){
- shr.showWarning({message:jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_42});
- flag = false ;
- }
- }
- });
- var model = _self.getCurrentModel();
- _self.remoteCall({
- method:"validateIsFillOt",
- param:{model:model},
- async: false,
- success:function(res){
- info = res;
- if(res.errorString){
- shr.showError({message:res.errorString});
- flag = false;
- // return false;
- }
- }
- });
- _self.remoteCall({
- type:"post",
- method:"isWorkTime",
- async: false,
- param:{personId: personId,overDate:overDate,overTimeBegin:atsMlUtile.getFieldOriginalValue("entries_startTime")+":00",overTimeEnd:atsMlUtile.getFieldOriginalValue("entries_endTime")+":00"},
- success:function(res){
- var info = res;
- if (info.isWorkTime){
- shr.showWarning({message:jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_9});
- flag = false ;
- }
- }
- });
- _self.remoteCall({
- type:"post",
- method:"isAtFixedOverTimeOrExcep",
- async: false,
- param:{personId: personId,overDate:overDate,overTimeBegin:atsMlUtile.getFieldOriginalValue("entries_startTime")+":00",overTimeEnd:atsMlUtile.getFieldOriginalValue("entries_endTime")+":00"},
- success:function(res){
- var info = res;
- if (info.isAtFixedOverTimeOrExcep){
- shr.showWarning({message:jsBizMultLan.atsManager_atsOverTimeBillEdit_i18n_1});
- flag = false ;
- }
- }
- });
- if(_self.isFromWF())
- {
- var model = _self.getCurrentModel();
- _self.remoteCall({
- method:"validateIsFillOt",
- param:{model:model},
- async: false,
- success:function(res){
- info = res;
- if(res.errorString){
- shr.showError({message:res.errorString});
- flag = false;
- // return false;
- }
- }
- });
- _self.remoteCall({
- method:"validOtStart",
- param:{personId:personId,applyOTTime:otTime},
- async: false,
- success:function(res){
- info = res;
- if(res.info){
- shr.showError({message:res.info});
- flag = false ;
- }
- }
- });
- }
- if(!_self.checkOtDate()){
- return false;
- }
- return flag;
- }
- });
|