public override bool Create(SalaryDetailsEntity entity) { //在创建实体时如果实体的Guid尚未指定,那么给其赋初值 if (entity.SalaryDetailsGuid == Guid.Empty) { entity.SalaryDetailsGuid = GuidHelper.NewGuid(); } string commandText = string.Format(@"Insert Into [XQYCSalaryDetails] ( [SalaryDetailsGuid], [SalarySummaryKey], [SalaryItemKey], [SalaryItemValue], [SalaryItemKind], [SalaryItemCashDate], [PropertyNames], [PropertyValues] ) Values ( {0}SalaryDetailsGuid, {0}SalarySummaryKey, {0}SalaryItemKey, {0}SalaryItemValue, {0}SalaryItemKind, {0}SalaryItemCashDate, {0}PropertyNames, {0}PropertyValues )", ParameterNamePrefix); TParameter[] sqlParas = PrepareParasAll(entity); bool isSuccessful = HelperExInstance.ExecuteSingleRowNonQuery(commandText, sqlParas); return(isSuccessful); }
/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="entity"></param> protected override void InnerLoad(IDataReader reader, ref SalaryDetailsEntity entity) { if (reader != null && reader.IsClosed == false && entity != null) { if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalaryDetailsID")) { entity.SalaryDetailsID = reader.GetInt32(reader.GetOrdinal("SalaryDetailsID")); } if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalaryDetailsGuid")) { entity.SalaryDetailsGuid = reader.GetGuid(reader.GetOrdinal("SalaryDetailsGuid")); } if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalarySummaryKey")) { entity.SalarySummaryKey = reader.GetString(reader.GetOrdinal("SalarySummaryKey")); } if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalaryItemKey")) { entity.SalaryItemKey = reader.GetString(reader.GetOrdinal("SalaryItemKey")); } if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalaryItemValue")) { entity.SalaryItemValue = reader.GetDecimal(reader.GetOrdinal("SalaryItemValue")); } if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalaryItemKind")) { entity.SalaryItemKind = (SalaryItemKinds)reader.GetInt32(reader.GetOrdinal("SalaryItemKind")); } if (DataReaderHelper.IsExistFieldAndNotNull(reader, "SalaryItemCashDate")) { entity.SalaryItemCashDate = reader.GetDateTime(reader.GetOrdinal("SalaryItemCashDate")); } } }
protected override void InnerPrepareParasAll(SalaryDetailsEntity entity, ref List <TParameter> paraList) { List <TParameter> list = new List <TParameter>() { GenerateParameter("SalaryDetailsID", entity.SalaryDetailsID), GenerateParameter("SalaryDetailsGuid", entity.SalaryDetailsGuid), GenerateParameter("SalarySummaryKey", entity.SalarySummaryKey ?? String.Empty), GenerateParameter("SalaryItemKey", entity.SalaryItemKey ?? String.Empty), GenerateParameter("SalaryItemCashDate", entity.SalaryItemCashDate), GenerateParameter("SalaryItemValue", entity.SalaryItemValue), GenerateParameter("SalaryItemKind", entity.SalaryItemKind) }; paraList.AddRange(list); }
public override bool Update(SalaryDetailsEntity entity) { string commandText = string.Format(@"Update [XQYCSalaryDetails] Set [SalaryDetailsGuid] = {0}SalaryDetailsGuid, [SalarySummaryKey] = {0}SalarySummaryKey, [SalaryItemKey] = {0}SalaryItemKey, [SalaryItemValue] = {0}SalaryItemValue, [SalaryItemKind] = {0}SalaryItemKind, [SalaryItemCashDate] = {0}SalaryItemCashDate, [PropertyNames] = {0}PropertyNames, [PropertyValues] = {0}PropertyValues Where [SalaryDetailsID] = {0}SalaryDetailsID", ParameterNamePrefix); TParameter[] sqlParas = PrepareParasAll(entity); bool isSuccessful = HelperExInstance.ExecuteSingleRowNonQuery(commandText, sqlParas); return(isSuccessful); }
/// <summary> /// 保存工资项明细项目(保存前指定其值和类型) /// </summary> /// <param name="cellValue"></param> /// <param name="salaryDetailsEntity"></param> /// <returns></returns> private static bool SetAndSaveSalaryDetailsItem(decimal salaryItemValue, SalaryDetailsEntity salaryDetailsEntity, SalaryItemKinds salaryItemKind) { salaryDetailsEntity.SalaryItemValue = salaryItemValue; salaryDetailsEntity.SalaryItemKind = salaryItemKind; return SalaryDetailsBLL.Instance.Create(salaryDetailsEntity); }
public ActionResult SalaryDetails(SalaryDetailsEntity entity) { bool isSuccessful = false; SalaryDetailsEntity orignalEntity = SalaryDetailsEntity.Empty; if (entity.SalaryDetailsGuid == Guid.Empty) { isSuccessful = SalaryDetailsBLL.Instance.Create(entity); } else { orignalEntity = SalaryDetailsBLL.Instance.Get(entity.SalaryDetailsGuid, true); isSuccessful = SalaryDetailsBLL.Instance.Update(entity); } //同时需要修改salarySummary里面对应项的值 if (isSuccessful == true && string.IsNullOrWhiteSpace(entity.SalarySummaryKey) == false) { SalarySummaryEntity salarySummaryEntity = SalarySummaryBLL.Instance.Get(entity.SalarySummaryKey); decimal itemValueDelta = entity.SalaryItemValue - orignalEntity.SalaryItemValue; switch (entity.SalaryItemKind) { case SalaryItemKinds.BasicSalary: salarySummaryEntity.SalaryGrossPay += itemValueDelta; salarySummaryEntity.SalaryCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.Rewards: salarySummaryEntity.SalaryGrossPay += itemValueDelta; break; case SalaryItemKinds.Rebate: //确保扣费为负值 salarySummaryEntity.SalaryRebate += (0 - Math.Abs(itemValueDelta)); break; case SalaryItemKinds.EnterpriseInsurance: salarySummaryEntity.EnterpriseInsuranceReal += itemValueDelta; salarySummaryEntity.InsuranceCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.EnterpriseReserveFund: salarySummaryEntity.EnterpriseReserveFundReal += itemValueDelta; salarySummaryEntity.ReserveFundCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.EnterpriseManageFee: salarySummaryEntity.EnterpriseManageFeeReal += itemValueDelta; salarySummaryEntity.EnterpriseManageFeeCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.EnterpriseOtherFee: salarySummaryEntity.EnterpriseOtherCostReal += itemValueDelta; break; case SalaryItemKinds.PersonInsurance: salarySummaryEntity.PersonInsuranceReal += itemValueDelta; break; case SalaryItemKinds.PersonReserveFund: salarySummaryEntity.PersonReserveFundReal += itemValueDelta; break; case SalaryItemKinds.PersonalOtherFee: salarySummaryEntity.PersonOtherCostReal += itemValueDelta; break; case SalaryItemKinds.EnterpriseGeneralRecruitFee: salarySummaryEntity.EnterpriseGeneralRecruitFeeReal += itemValueDelta; salarySummaryEntity.EnterpriseGeneralRecruitFeeCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.EnterpriseOnceRecruitFee: salarySummaryEntity.EnterpriseOnceRecruitFeeReal += itemValueDelta; salarySummaryEntity.EnterpriseOnceRecruitFeeCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.SalaryTax: //do nothing.(工资税系统自动计算,不能录入) break; case SalaryItemKinds.EnterpriseOtherInsurance: salarySummaryEntity.EnterpriseOtherInsuranceReal += itemValueDelta; salarySummaryEntity.EnterpriseOtherInsuranceCashDate = entity.SalaryItemCashDate; break; case SalaryItemKinds.EnterpriseTaxFee: salarySummaryEntity.EnterpriseTaxFeeReal += itemValueDelta; salarySummaryEntity.EnterpriseTaxFeeCashDate = entity.SalaryItemCashDate; break; default: break; } SalarySummaryBLL.Instance.Update(salarySummaryEntity); } return RedirectToAction("SalaryDetailsList", new { itemKey = entity.SalarySummaryKey }); }
public ActionResult SalaryBatch(bool isOnlyPlaceHolder = true) { List<SystemStatusInfo> infoList = new List<SystemStatusInfo>(); string returnUrl = RequestHelper.CurrentFullUrl; Guid enterpriseGuid = ControlHelper.GetRealValue<Guid>("EnterpriseName"); int headerRowNumber = RequestHelper.GetValue<int>("headerRowNumber", 1); string salaryDateString = RequestHelper.GetValue("SalaryMonth"); DateTime salaryDate = DateTimeHelper.Min; HttpPostedFile postedFile = RequestHelper.CurrentRequest.Files["fileSelector"]; string SettlementStartDateString = RequestHelper.GetValue("SettlementStartDate"); DateTime SettlementStartDate = Converter.ChangeType(SettlementStartDateString, DateTime.Today); string SettlementEndDateString = RequestHelper.GetValue("SettlementEndDate"); DateTime SettlementEndDate = Converter.ChangeType(SettlementEndDateString, DateTime.Today); string SalaryCashDateString = RequestHelper.GetValue("SalaryCashDate"); DateTime SalaryCashDate = Converter.ChangeType(SalaryCashDateString, DateTime.Today); string ManageFeeCashDateString = RequestHelper.GetValue("ManageFeeCashDate"); DateTime ManageFeeCashDate = Converter.ChangeType(ManageFeeCashDateString, DateTime.Today); string InsuranceCashDateString = RequestHelper.GetValue("InsuranceCashDate"); DateTime InsuranceCashDate = Converter.ChangeType(InsuranceCashDateString, DateTime.Today); string ReserveFundDateString = RequestHelper.GetValue("ReserveFundDate"); DateTime ReserveFundDate = Converter.ChangeType(ReserveFundDateString, DateTime.Today); string GeneralRecruitDateString = RequestHelper.GetValue("GeneralRecruitDate"); DateTime GeneralRecruitDate = Converter.ChangeType(GeneralRecruitDateString, DateTime.Today); string OnceRecruitDateString = RequestHelper.GetValue("OnceRecruitDate"); DateTime OnceRecruitDate = Converter.ChangeType(OnceRecruitDateString, DateTime.Today); string OtherInsuranceCashDateString = RequestHelper.GetValue("OtherInsuranceCashDate"); DateTime OtherInsuranceCashDate = Converter.ChangeType(OtherInsuranceCashDateString, DateTime.Today); string TaxFeeCashDateString = RequestHelper.GetValue("TaxFeeCashDate"); DateTime TaxFeeCashDate = Converter.ChangeType(TaxFeeCashDateString, DateTime.Today); #region 条件判定(如果不满足基本条件直接跳出并提示) if (string.IsNullOrWhiteSpace(salaryDateString)) { SystemStatusInfo itemError = new SystemStatusInfo(); itemError.SystemStatus = SystemStatuses.Warnning; itemError.Message = "你没有选定薪资月份,请选择。"; infoList.Add(itemError); this.TempData.Add("OperationResultData", infoList); return RedirectToAction("OperationResults", "System", new { returnUrl = returnUrl }); } else { salaryDateString = salaryDateString + "/1"; salaryDate = DateTimeHelper.Parse(salaryDateString, DateFormats.YMD); } if (enterpriseGuid == Guid.Empty) { SystemStatusInfo itemError = new SystemStatusInfo(); itemError.SystemStatus = SystemStatuses.Warnning; itemError.Message = "你没有选定企业的名称信息,请选择。"; infoList.Add(itemError); this.TempData.Add("OperationResultData", infoList); return RedirectToAction("OperationResults", "System", new { returnUrl = returnUrl }); } if (HttpPostedFileHelper.HasFile(postedFile) == false) { SystemStatusInfo itemError = new SystemStatusInfo(); itemError.SystemStatus = SystemStatuses.Warnning; itemError.Message = "没有选择Excel文件,请先选择文件然后再进行导入!"; infoList.Add(itemError); this.TempData.Add("OperationResultData", infoList); return RedirectToAction("OperationResults", "System", new { returnUrl = returnUrl }); } #endregion try { #region 将数据读入内存 int userCountSuccessful = 0; int userCountFailure = 0; string userListFailure = string.Empty; DataTable dataTable = ExcelHelper.ReadExcel(postedFile.InputStream, headerRowNumber); NameValueCollection laborSalaryItemMapData = (NameValueCollection)ConfigurationManager.GetSection("laborSalaryItemMap"); List<string> columnNameList = new List<string>(); for (int i = 0; i < dataTable.Columns.Count; i++) { columnNameList.Add(dataTable.Columns[i].ColumnName); } #endregion #region 对Excel的每行信息进行解析 for (int i = 0; i < dataTable.Rows.Count; i++) { int dataRowNumberInExcel = headerRowNumber + i + 1; try { DataRow row = dataTable.Rows[i]; if (row == null) { continue; } string LaborUserNameCNForSalarySummary = string.Empty; string LaborUserCodeForSalarySummary = string.Empty; string LaborUserCardIDForSalarySummary = string.Empty; Guid salarySummaryGuid = GuidHelper.NewGuid(); SalarySummaryEntity salarySummaryEntity = new SalarySummaryEntity(); salarySummaryEntity.SalarySummaryGuid = salarySummaryGuid; salarySummaryEntity.SalaryDate = salaryDate; salarySummaryEntity.CreateDate = DateTime.Today; salarySummaryEntity.CreateUserKey = BusinessUserBLL.CurrentUserGuid.ToString(); salarySummaryEntity.EnterpriseKey = enterpriseGuid.ToString(); salarySummaryEntity.SalaryPayStatus = SalaryPayStatuses.PaidToOrgnization; salarySummaryEntity.SalarySettlementStartDate = SettlementStartDate; salarySummaryEntity.SalarySettlementEndDate = SettlementEndDate; foreach (string columnName in columnNameList) { //0.处理特殊的标题头信息 if (columnName.Contains("[忽略]")) { continue; } //1.根据Excel文件中的列名称映射Labor实体的属性名称 string propertyName = laborSalaryItemMapData[columnName]; if (string.IsNullOrWhiteSpace(propertyName)) { propertyName = columnName; } //2.给SalaryDetailsEntity实体属性赋值 object cellValue = row[columnName]; if (cellValue != null) { SalaryDetailsEntity salaryDetailsEntity = new SalaryDetailsEntity(); salaryDetailsEntity.SalarySummaryKey = salarySummaryGuid.ToString(); decimal salaryItemValue = Converter.ChangeType<decimal>(cellValue); string columnNameEdited = columnName; string nagetiveString = "[负值]"; string rebateBeforTaxString = "[先扣]"; string rebaseString = "[后扣]"; bool isRebateBeforeTax = false; if (columnName.Contains(nagetiveString)) { salaryItemValue = 0 - Math.Abs(salaryItemValue); columnNameEdited = columnName.Remove(columnName.IndexOf(nagetiveString), nagetiveString.Length); } if (columnName.Contains(rebateBeforTaxString)) { columnNameEdited = columnNameEdited.Remove(columnNameEdited.IndexOf(rebateBeforTaxString), rebateBeforTaxString.Length); isRebateBeforeTax = true; } if (columnName.Contains(rebaseString)) { columnNameEdited = columnNameEdited.Remove(columnNameEdited.IndexOf(rebaseString), rebaseString.Length); } salaryDetailsEntity.SalaryItemKey = columnNameEdited; switch (propertyName) { case "UserNameCN": LaborUserNameCNForSalarySummary = cellValue.ToString(); break; case "LaborCode": LaborUserCodeForSalarySummary = cellValue.ToString(); break; case "UserCardID": LaborUserCardIDForSalarySummary = cellValue.ToString(); break; case "EnterpriseMixCost": salarySummaryEntity.EnterpriseMixCostReal = salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseMixCost); break; case "EnterpriseInsurance": salarySummaryEntity.EnterpriseInsuranceReal = salaryItemValue; salarySummaryEntity.InsuranceCashDate = InsuranceCashDate; salaryDetailsEntity.SalaryItemCashDate = InsuranceCashDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseInsurance); break; case "EnterpriseReserveFund": salarySummaryEntity.EnterpriseReserveFundReal = salaryItemValue; salarySummaryEntity.ReserveFundCashDate = ReserveFundDate; salaryDetailsEntity.SalaryItemCashDate = ReserveFundDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseReserveFund); break; case "EnterpriseManageFee": salarySummaryEntity.EnterpriseManageFeeReal = salaryItemValue; salarySummaryEntity.EnterpriseManageFeeCashDate = ManageFeeCashDate; salaryDetailsEntity.SalaryItemCashDate = ManageFeeCashDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseManageFee); break; case "EnterpriseGeneralRecruitFee": salarySummaryEntity.EnterpriseGeneralRecruitFeeReal = salaryItemValue; salarySummaryEntity.EnterpriseGeneralRecruitFeeCashDate = GeneralRecruitDate; salaryDetailsEntity.SalaryItemCashDate = GeneralRecruitDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseGeneralRecruitFee); break; case "EnterpriseOnceRecruitFee": salarySummaryEntity.EnterpriseOnceRecruitFeeReal = salaryItemValue; salarySummaryEntity.EnterpriseOnceRecruitFeeCashDate = OnceRecruitDate; salaryDetailsEntity.SalaryItemCashDate = OnceRecruitDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseOnceRecruitFee); break; case "PersonMixCost": salarySummaryEntity.PersonMixCostReal = salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.PersonMixCost); break; case "PersonInsurance": salarySummaryEntity.PersonInsuranceReal = salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.PersonInsurance); break; case "PersonReserveFund": salarySummaryEntity.PersonReserveFundReal = salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.PersonReserveFund); break; case "PersonInsuranceAdditional": salarySummaryEntity.PersonOtherCostReal += salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.PersonalOtherFee); break; case "PersonInsuranceOverdueFee": salarySummaryEntity.PersonOtherCostReal += salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.PersonalOtherFee); break; case "PersonBorrow": salarySummaryEntity.PersonBorrow = salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.PersonBorrow); break; case "EnterpriseOtherInsurance": salarySummaryEntity.EnterpriseOtherInsuranceReal += salaryItemValue; salarySummaryEntity.EnterpriseOtherInsuranceCashDate = OtherInsuranceCashDate; salaryDetailsEntity.SalaryItemCashDate = OtherInsuranceCashDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseOtherInsurance); break; case "EnterpriseTaxFee": salarySummaryEntity.EnterpriseTaxFeeReal += salaryItemValue; salarySummaryEntity.EnterpriseTaxFeeCashDate = TaxFeeCashDate; salaryDetailsEntity.SalaryItemCashDate = TaxFeeCashDate; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.EnterpriseTaxFee); break; default: if (salaryItemValue >= 0) { salarySummaryEntity.SalaryGrossPay += salaryItemValue; SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.Rewards); } else { if (isRebateBeforeTax == true) { salarySummaryEntity.SalaryRebateBeforeTax += salaryItemValue; } else { salarySummaryEntity.SalaryRebate += salaryItemValue; } SetAndSaveSalaryDetailsItem(salaryItemValue, salaryDetailsEntity, SalaryItemKinds.Rebate); } break; } } } if (string.IsNullOrWhiteSpace(LaborUserNameCNForSalarySummary)) { userCountFailure++; userListFailure += string.Format("{0}({1}({2})({3})请确认此用户的用户名称不可以为空), <br />", dataRowNumberInExcel, LaborUserNameCNForSalarySummary, LaborUserCodeForSalarySummary, LaborUserCardIDForSalarySummary); //物理删除掉已经插入的无效的salaryDetails数据 SalaryDetailsBLL.Instance.DeleteList(salarySummaryEntity.SalarySummaryGuid); } else { //根据人员姓名和工号,确认劳务人员的UserGuid bool isMatchedLabor = false; LaborEntity laborEntity = LaborBLL.Instance.Get(LaborUserNameCNForSalarySummary, LaborUserCodeForSalarySummary, LaborUserCardIDForSalarySummary, enterpriseGuid.ToString()); if (laborEntity.IsEmpty) { isMatchedLabor = false; } else { isMatchedLabor = true; } if (isMatchedLabor == true) { bool isSuccessful = true; SalarySummaryEntity salarySummaryEntityConfirm = SalarySummaryBLL.Instance.Get(enterpriseGuid.ToString(), laborEntity.UserGuid.ToString(), salaryDate); if (salarySummaryEntityConfirm.IsEmpty) { salarySummaryEntity.LaborKey = laborEntity.UserGuid.ToString(); salarySummaryEntity.LaborCode = LaborUserCodeForSalarySummary; salarySummaryEntity.LaborName = LaborUserNameCNForSalarySummary; //Logics isFirstCash = SalarySummaryBLL.Instance.IsFirstCash(enterpriseGuid.ToString(), laborEntity.UserGuid.ToString()); //salarySummaryEntity.IsFirstCash = isFirstCash; isSuccessful = SalarySummaryBLL.Instance.Create(salarySummaryEntity); } else { salarySummaryEntityConfirm.EnterpriseInsuranceReal += salarySummaryEntity.EnterpriseInsuranceReal; salarySummaryEntityConfirm.EnterpriseManageFeeReal += salarySummaryEntity.EnterpriseManageFeeReal; salarySummaryEntityConfirm.EnterpriseReserveFundReal += salarySummaryEntity.EnterpriseReserveFundReal; salarySummaryEntityConfirm.EnterpriseOtherCostReal += salarySummaryEntity.EnterpriseOtherCostReal; salarySummaryEntityConfirm.EnterpriseMixCostReal += salarySummaryEntity.EnterpriseMixCostReal; salarySummaryEntityConfirm.PersonInsuranceReal += salarySummaryEntity.PersonInsuranceReal; salarySummaryEntityConfirm.PersonManageFeeReal += salarySummaryEntity.PersonManageFeeReal; salarySummaryEntityConfirm.PersonReserveFundReal += salarySummaryEntity.PersonReserveFundReal; salarySummaryEntityConfirm.PersonOtherCostReal += salarySummaryEntity.PersonOtherCostReal; salarySummaryEntityConfirm.PersonMixCostReal += salarySummaryEntity.PersonMixCostReal; salarySummaryEntityConfirm.SalaryGrossPay += salarySummaryEntity.SalaryGrossPay; salarySummaryEntityConfirm.SalaryRebate += salarySummaryEntity.SalaryRebate; isSuccessful = SalarySummaryBLL.Instance.Update(salarySummaryEntityConfirm); } if (isSuccessful == true) { userCountSuccessful++; } else { userCountFailure++; userListFailure += i + ", "; } } else { userCountFailure++; userListFailure += string.Format("{0}({1}({2})({3})请确认此用户的用户名称、工号和身份证号是否跟系统内的数据一致), <br />", dataRowNumberInExcel, LaborUserNameCNForSalarySummary, LaborUserCodeForSalarySummary, LaborUserCardIDForSalarySummary); //物联删除掉已经插入的无效的salaryDetails数据 SalaryDetailsBLL.Instance.DeleteList(salarySummaryEntity.SalarySummaryGuid); } } } catch (Exception ex) { //try //{ // BusinessLogEntity log = new BusinessLogEntity(); // log.LogCategory = "BatchSalaryImport"; // log.LogMessage = ExceptionHelper.GetExceptionMessage(ex); // log.LogDate = DateTime.Now; // BusinessLogBLL.Instance.Create(log); //} //catch //{ // //do nothing; //} userCountFailure++; userListFailure += i + ", "; } } #endregion #region 操作结果展示 //A.1、操作结果(导入成功的人员信息) SystemStatusInfo itemSuccessful = new SystemStatusInfo(); itemSuccessful.SystemStatus = SystemStatuses.Success; itemSuccessful.Message = string.Format("共有{0}人导入成功。", userCountSuccessful); infoList.Add(itemSuccessful); //A.2、操作结果(导入失败的人员信息) if (userCountFailure > 0) { SystemStatusInfo itemError = new SystemStatusInfo(); itemError.SystemStatus = SystemStatuses.Failuer; itemError.Message = string.Format("共有{0}人导入失败。", userCountFailure); if (string.IsNullOrWhiteSpace(userListFailure) == false) { itemError.Message += string.Format("导入失败的人员分别位于{0}行, <br />", userListFailure); } infoList.Add(itemError); } #endregion } catch (OfficeXmlFileException) { SystemStatusInfo itemError = new SystemStatusInfo(); itemError.SystemStatus = SystemStatuses.Failuer; itemError.Message = "请选择Excel2003格式的文件。你可以将本文件在Excel中另存的时候选择97/2003格式!"; infoList.Add(itemError); } this.TempData.Add("OperationResultData", infoList); return RedirectToAction("OperationResults", "System", new { returnUrl = returnUrl }); }