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);
        }