/// <summary> /// 取消提交工时表 /// </summary> /// <param name="startDate"></param> /// <param name="resourceId"></param> /// <param name="userId"></param> /// <returns></returns> public bool CancleSubmitWorkEntry(DateTime startDate, long resourceId, long userId) { var weList = GetWorkEntryListByStartDate(startDate, resourceId); if (weList.Count == 0) { return(false); } sdk_work_entry_report_dal rptDal = new sdk_work_entry_report_dal(); var find = rptDal.FindSignleBySql <sdk_work_entry_report>($"select * from sdk_work_entry_report where resource_id={resourceId} and start_date='{startDate}' and delete_time=0"); if (find == null || find.status_id != (int)DicEnum.WORK_ENTRY_REPORT_STATUS.WAITING_FOR_APPROVAL) { return(false); } sdk_work_entry_report reportOld = rptDal.FindById(find.id); find.status_id = (int)DicEnum.WORK_ENTRY_REPORT_STATUS.HAVE_IN_HAND; find.update_time = Tools.Date.DateHelper.ToUniversalTimeStamp(); find.update_user_id = userId; find.submit_time = find.update_time; find.submit_user_id = userId; rptDal.Update(find); OperLogBLL.OperLogUpdate(OperLogBLL.CompareValue <sdk_work_entry_report>(reportOld, find), find.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SDK_WORK_RECORD, "工时表取消提交"); return(true); }
/// <summary> /// 工时表提交 /// </summary> /// <param name="startDate"></param> /// <param name="resourceId"></param> /// <param name="userId"></param> /// <returns></returns> public bool SubmitWorkEntry(DateTime startDate, long resourceId, long userId) { var weList = GetWorkEntryListByStartDate(startDate, resourceId); //if (weList.Count == 0) // return false; sdk_work_entry_report report = new sdk_work_entry_report(); sdk_work_entry_report_dal rptDal = new sdk_work_entry_report_dal(); var find = rptDal.FindSignleBySql <sdk_work_entry_report>($"select * from sdk_work_entry_report where resource_id={resourceId} and start_date='{startDate}' and delete_time=0"); if (find != null && find.status_id != (int)DicEnum.WORK_ENTRY_REPORT_STATUS.HAVE_IN_HAND && find.status_id != (int)DicEnum.WORK_ENTRY_REPORT_STATUS.REJECTED) { return(false); } if (find == null) { report.id = rptDal.GetNextIdCom(); report.create_time = Tools.Date.DateHelper.ToUniversalTimeStamp(); report.update_time = report.create_time; report.create_user_id = userId; report.update_user_id = userId; report.resource_id = resourceId; report.start_date = startDate; report.end_date = startDate.AddDays(6); report.status_id = (int)DicEnum.WORK_ENTRY_REPORT_STATUS.WAITING_FOR_APPROVAL; report.submit_time = report.create_time; report.submit_user_id = userId; rptDal.Insert(report); OperLogBLL.OperLogAdd <sdk_work_entry_report>(report, report.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SDK_WORK_RECORD, "工时表提交"); foreach (var we in weList) { var weOld = dal.FindById(we.id); we.update_time = Tools.Date.DateHelper.ToUniversalTimeStamp(); we.update_user_id = userId; we.work_entry_report_id = report.id; dal.Update(we); OperLogBLL.OperLogUpdate(OperLogBLL.CompareValue <sdk_work_entry>(weOld, we), we.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SDK_WORK_ENTRY, "工时表提交"); } } else { sdk_work_entry_report reportOld = rptDal.FindById(find.id); find.status_id = (int)DicEnum.WORK_ENTRY_REPORT_STATUS.WAITING_FOR_APPROVAL; find.update_time = Tools.Date.DateHelper.ToUniversalTimeStamp(); find.update_user_id = userId; find.submit_time = find.update_time; find.submit_user_id = userId; rptDal.Update(find); OperLogBLL.OperLogUpdate(OperLogBLL.CompareValue <sdk_work_entry_report>(reportOld, find), find.id, userId, DicEnum.OPER_LOG_OBJ_CATE.SDK_WORK_RECORD, "工时表提交"); } return(true); }