private string getCityIdByExcel(EmployeeMiddleExcelModel item, ref StringBuilder Message) { string search = "NameDDL_String&" + item.City; List <City> CityList = city_BLL.GetByParam(string.Empty, "ASC", "Id", search); if (CityList == null || CityList.Count <= 0) { Message.Append("社保缴纳地在系统不存在;\r\n"); } else if (CityList.Count == 1) { //组建员工企业关系信息 return(CityList[0].Id); } else { Message.Append("社保缴纳地在系统重复;\r\n"); } return(null); }
private int?getEmployeeIdByExcel(EmployeeMiddleExcelModel item, ref StringBuilder Message) { string search = "CertificateNumberDDL_String&" + item.CertificateNumber; List <Employee> EmployeeList = emp_BLL.GetByParam(0, "ASC", "Id", search); if (EmployeeList == null || EmployeeList.Count <= 0) { Message.Append("人员在系统不存在;\r\n"); } else if (EmployeeList.Count == 1) { //组建员工企业关系信息 return(EmployeeList[0].Id); } else { Message.Append("人员在系统重复;\r\n"); } return(null); }
private List <EmployeeMiddle> CheckImportEmployeeMiddle(DataTable table, ref string message) { List <EmployeeMiddleExcelModel> employeeList = new List <EmployeeMiddleExcelModel>(); #region 数据转换 foreach (DataRow dr in table.Rows) { EmployeeMiddleExcelModel employee = new EmployeeMiddleExcelModel(); employee.CertificateNumber = dr["证件号码"].ToString().Trim(); employee.Name = dr["姓名"].ToString().Trim(); employee.City = dr["社保缴纳地"].ToString().Trim(); employee.CompanyPayment = dr["企业承担金额"].ToString().Trim(); employee.EmployeePayment = dr["个人承担金额"].ToString().Trim(); employee.Remark = dr["备注"].ToString().Trim(); employeeList.Add(employee); } #endregion string search = string.Empty; StringBuilder errMessageAll = new StringBuilder(); List <EmployeeMiddle> PostInfoList = new List <EmployeeMiddle>(); string DataForm = "证件号:{0},姓名:{1},的异常信息为:{2}\r\n"; foreach (EmployeeMiddleExcelModel item in employeeList) { StringBuilder errMessage = new StringBuilder(); EmployeeMiddle postinfos = new EmployeeMiddle(); CompanyEmployeeRelation cer = new CompanyEmployeeRelation(); #region 基础信息赋值 if (string.IsNullOrEmpty(item.CertificateNumber)) { errMessage.Append("证件号码为空;\r\n"); } else { cer.EmployeeId = getEmployeeIdByExcel(item, ref errMessage); } if (string.IsNullOrEmpty(item.Name)) { errMessage.Append("姓名为空;\r\n"); } if (string.IsNullOrEmpty(item.City)) { errMessage.Append("社保缴纳地为空;\r\n"); } else { cer.CityId = getCityIdByExcel(item, ref errMessage); postinfos.CityId = cer.CityId; } if (cer.EmployeeId != null && !string.IsNullOrWhiteSpace(cer.CityId)) { postinfos.CompanyEmployeeRelationId = CompanyEmployeeRelationId(cer.EmployeeId, cer.CityId, ref errMessage); } if (string.IsNullOrEmpty(item.CompanyPayment)) { errMessage.Append("企业承担金额为空;\r\n"); } else { decimal wage = 0; if (decimal.TryParse(item.CompanyPayment, out wage)) { if (wage <= 0) { errMessage.Append("企业承担金额不正确;\r\n"); } if (!Business.IsNumber(item.CompanyPayment, 32, 2)) { errMessage.Append("企业承担金额请保留两位小数;\r\n"); } postinfos.CompanyPayment = wage; } else { errMessage.Append("企业承担金额不正确;\r\n"); } } if (string.IsNullOrEmpty(item.EmployeePayment)) { errMessage.Append("个人承担金额为空;\r\n"); } else { decimal wage = 0; if (decimal.TryParse(item.EmployeePayment, out wage)) { if (wage <= 0) { errMessage.Append("个人承担金额不正确;\r\n"); } if (!Business.IsNumber(item.EmployeePayment, 32, 2)) { errMessage.Append("个人承担金额请保留两位小数;\r\n"); } postinfos.EmployeePayment = wage; } else { errMessage.Append("个人承担金额不正确;\r\n"); } } postinfos.Remark = item.Remark; postinfos.PaymentStyle = (int)Common.EmployeeMiddle_PaymentStyle.正常; DateTime now = DateTime.Now; postinfos.PaymentBetween = now.ToString("yyyyMM") + "-" + now.ToString("yyyyMM"); postinfos.UseBetween = 0; postinfos.StartDate = Convert.ToInt32(now.ToString("yyyyMM")); postinfos.EndedDate = Convert.ToInt32(now.ToString("yyyyMM")); postinfos.InsuranceKindId = (int)Common.EmployeeMiddle_InsuranceKind.其他社保费用; postinfos.State = Common.Status.启用.ToString(); postinfos.CreatePerson = LoginInfo.RealName; postinfos.CreateTime = DateTime.Now; PostInfoList.Add(postinfos); if (!string.IsNullOrWhiteSpace(errMessage.ToString())) { errMessageAll.Append(string.Format(DataForm, item.CertificateNumber, item.Name, errMessage.ToString())); } #endregion } message = errMessageAll.ToString(); return(PostInfoList); }