Esempio n. 1
0
        /// <summary>
        /// 完善datatable数据  如果找不到,则显示ID或者value值
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        DataTable getDataTableExportInfo(DataTable dt)
        {
            if (dt == null || dt.Rows.Count == 0)
            {
                return(dt);
            }
            DataTable dtDepartment = new BLL.Department().GetAllList().Tables[0];
            DataTable dtArea       = new BLL.Area().GetAllList().Tables[0];
            DataTable dtCustomer   = new BLL.Customer().GetAllList().Tables[0];
            DataTable dtCommonData = new BLL.Common_Data().GetList(" DataType in('站点类型归属','最新状态')").Tables[0];

            //遍历修改数据
            dt.Columns.Add("序号", typeof(int));
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["部门"]     = CommonHelper.getDepartmentName(dtDepartment, dt.Rows[i]["部门"]);
                dt.Rows[i]["区域"]     = CommonHelper.getAreaName(dtArea, dt.Rows[i]["区域"]);
                dt.Rows[i]["客户"]     = CommonHelper.getCustomerName(dtCustomer, dt.Rows[i]["客户"]);
                dt.Rows[i]["站点类型归属"] = CommonHelper.getCommonDataText(dtCommonData, "站点类型归属", dt.Rows[i]["站点类型归属"]);
                dt.Rows[i]["最新状态"]   = CommonHelper.getCommonDataText(dtCommonData, "最新状态", dt.Rows[i]["最新状态"]);
                dt.Rows[i]["序号"]     = i + 1;
            }
            dt.Columns.Remove("id");
            dt.Columns.Remove("Remark");
            dt.Columns.Remove("CreateBy");
            dt.Columns.Remove("CreateTime");
            dt.Columns.Remove("UpdateBy");
            dt.Columns.Remove("UpdateTime");
            return(dt);
        }
Esempio n. 2
0
        /// <summary>
        /// 完善datatable数据
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        DataTable getDataTableInfo(DataTable dt)
        {
            if (dt == null || dt.Rows.Count == 0)
            {
                return(dt);
            }
            dt.Columns.Add("最新状态Text", typeof(string));
            DataTable dtCommonData = new DataTable();
            DataSet   ds           = new BLL.Common_Data().GetList(" DataType in('最新状态')");

            if (ds != null && ds.Tables.Count > 0)
            {
                dtCommonData = ds.Tables[0];
            }
            //如果数据字典为空,则不处理
            if (dtCommonData == null || dtCommonData.Rows.Count == 0)
            {
                return(dt);
            }
            //遍历添加字典数据
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string 最新状态 = dt.Rows[i]["最新状态"].ToString();
                if (!string.IsNullOrEmpty(最新状态))
                {
                    DataRow[] drs = dtCommonData.Select("DataType='最新状态' and DataValue='" + 最新状态 + "'");
                    if (drs.Length > 0)
                    {
                        dt.Rows[i]["最新状态Text"] = drs[0]["DataText"];
                    }
                }
            }
            return(dt);
        }
Esempio n. 3
0
        public JsonObject Import(DataTable dt, DataTable dtTemplate)
        {
            JsonObject json = new JsonObject();

            if (dt == null || dt.Rows.Count == 0)
            {
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = "数据为空";
                return(json);
            }

            if (dtTemplate == null)
            {
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = "数据导入失败,模板错误,请联系管理员";
                return(json);
            }
            string checkTemplate = CommonHelper.Matching(dt, dtTemplate);

            if (checkTemplate != "")
            {
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = "数据导入失败," + checkTemplate + ",请下载最新模板";
                return(json);
            }
            StringBuilder        sbErro       = new StringBuilder();
            List <Model.JD_SITE> list         = new List <Model.JD_SITE>();
            DataTable            dtDepartment = new BLL.Department().GetAllList().Tables[0];
            DataTable            dtArea       = new BLL.Area().GetAllList().Tables[0];
            DataTable            dtCustomer   = new BLL.Customer().GetAllList().Tables[0];
            DataTable            dtCommonData = new BLL.Common_Data().GetList(" DataType in('站点类型归属','最新状态')").Tables[0];

            DateTime parmTime    = DateTime.Now;
            DateTime dateTimeNow = DateTime.Now;
            decimal  parmDecimal = 0;
            int      parmInt     = 0;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (i < dtTemplate.Rows.Count)
                {
                    //模板前几列不执行
                    continue;
                }
                bool checkNul = true;;
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    if (dt.Rows[i][j] != null && dt.Rows[i][j].ToString() != "")
                    {
                        checkNul = false;
                        break;
                    }
                }
                if (checkNul)
                {//如果行数据为空则忽略
                    continue;
                }
                StringBuilder sbErroI = new StringBuilder();
                //如果第一列为~开头,则为示例数据,不导入
                if (dt.Rows[i][0] != null && dt.Rows[i][0].ToString() != "" && dt.Rows[i][0].ToString().Substring(0, 1) == "~")
                {
                    continue;
                }
                Model.JD_SITE model = new Model.JD_SITE();
                if (dt.Rows[i]["部门"] != null && dt.Rows[i]["部门"].ToString().Trim() != "")
                {
                    string parm = CommonHelper.getDepartmentId(dtDepartment, dt.Rows[i]["部门"].ToString().Trim());
                    if (parm == "")
                    {
                        sbErroI.Append(",部门[" + dt.Rows[i]["部门"].ToString().Trim() + "]不存在");
                    }
                    else
                    {
                        model.部门 = parm;
                    }
                }
                else
                {
                    sbErroI.Append(",部门不能为空");
                }
                if (dt.Rows[i]["类别"] != null && dt.Rows[i]["类别"].ToString().Trim() != "")
                {
                    if (dt.Rows[i]["类别"].ToString().Trim() != "自持" && dt.Rows[i]["类别"].ToString().Trim() != "销售")
                    {
                        sbErroI.Append(",类别[" + dt.Rows[i]["类别"].ToString().Trim() + "]不正确,类别必须是自持或销售");
                    }
                    else
                    {
                        model.类别 = dt.Rows[i]["类别"].ToString().Trim();
                    }
                }
                else
                {
                    sbErroI.Append(",类别不能为空");
                }
                if (dt.Rows[i]["区域"] != null && dt.Rows[i]["区域"].ToString().Trim() != "")
                {
                    string parm = CommonHelper.getAreaId(dtArea, dt.Rows[i]["区域"].ToString().Trim());
                    if (parm == "")
                    {
                        sbErroI.Append(",区域[" + dt.Rows[i]["区域"].ToString().Trim() + "]不存在");
                    }
                    else
                    {
                        model.区域 = parm;
                    }
                }
                else
                {
                    sbErroI.Append(",区域不能为空");
                }
                if (dt.Rows[i]["客户"] != null && dt.Rows[i]["客户"].ToString().Trim() != "")
                {
                    string parm = CommonHelper.getCustomerId(dtCustomer, dt.Rows[i]["客户"].ToString().Trim());
                    if (parm == "")
                    {
                        sbErroI.Append(",客户[" + dt.Rows[i]["客户"].ToString().Trim() + "]不存在");
                    }
                    else
                    {
                        model.客户 = parm;
                    }
                }
                else
                {
                    sbErroI.Append(",客户不能为空");
                }
                if (dt.Rows[i]["站点编码"] != null && dt.Rows[i]["站点编码"].ToString().Trim() != "")
                {
                    model.站点编码 = dt.Rows[i]["站点编码"].ToString().Trim();
                }
                else
                {
                    sbErroI.Append(",站点编码不能为空");
                }
                if (dt.Rows[i]["站点名称"] != null && dt.Rows[i]["站点名称"].ToString().Trim() != "")
                {
                    model.站点名称 = dt.Rows[i]["站点名称"].ToString().Trim();
                }
                else
                {
                    sbErroI.Append(",站点名称不能为空");
                }
                if (dt.Rows[i]["地址"] != null && dt.Rows[i]["地址"].ToString().Trim() != "")
                {
                    model.地址 = dt.Rows[i]["地址"].ToString().Trim();
                }
                if (dt.Rows[i]["建站类型"] != null && dt.Rows[i]["建站类型"].ToString().Trim() != "")
                {
                    model.建站类型 = dt.Rows[i]["建站类型"].ToString().Trim();
                }
                if (dt.Rows[i]["站点类型归属"] != null && dt.Rows[i]["站点类型归属"].ToString().Trim() != "")
                {
                    string parm = CommonHelper.getCommonDataValue(dtCommonData, "站点类型归属", dt.Rows[i]["站点类型归属"].ToString().Trim());
                    if (parm == "")
                    {
                        sbErroI.Append(",站点类型归属[" + dt.Rows[i]["站点类型归属"].ToString().Trim() + "]不存在");
                    }
                    else
                    {
                        model.站点类型归属 = parm;
                    }
                }
                else
                {
                    // sbErroI.Append(",站点类型归属不能为空");
                }
                if (dt.Rows[i]["预算表或损益表审批时间"] != null && dt.Rows[i]["预算表或损益表审批时间"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["预算表或损益表审批时间"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",预算表或损益表审批时间[" + dt.Rows[i]["预算表或损益表审批时间"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.预算表或损益表审批时间 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",预算表或损益表审批时间[" + dt.Rows[i]["预算表或损益表审批时间"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["与伟通签订单项合同日期"] != null && dt.Rows[i]["与伟通签订单项合同日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["与伟通签订单项合同日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",与伟通签订单项合同日期[" + dt.Rows[i]["与伟通签订单项合同日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.与伟通签订单项合同日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",与伟通签订单项合同日期[" + dt.Rows[i]["与伟通签订单项合同日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["最新状态"] != null && dt.Rows[i]["最新状态"].ToString().Trim() != "")
                {
                    string parm = CommonHelper.getCommonDataValue(dtCommonData, "最新状态", dt.Rows[i]["最新状态"].ToString().Trim());
                    if (parm == "")
                    {
                        sbErroI.Append(",最新状态[" + dt.Rows[i]["最新状态"].ToString().Trim() + "]不存在");
                    }
                    else
                    {
                        model.最新状态 = parm;
                    }
                }
                else
                {
                    sbErroI.Append(",最新状态不能为空");
                }
                if (dt.Rows[i]["经度"] != null && dt.Rows[i]["经度"].ToString().Trim() != "")
                {
                    if (decimal.TryParse(dt.Rows[i]["经度"].ToString().Trim(), out parmDecimal))
                    {
                        model.经度 = parmDecimal;
                    }
                    else
                    {
                        sbErroI.Append(",经度[" + dt.Rows[i]["经度"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["纬度"] != null && dt.Rows[i]["纬度"].ToString().Trim() != "")
                {
                    if (decimal.TryParse(dt.Rows[i]["纬度"].ToString().Trim(), out parmDecimal))
                    {
                        model.纬度 = parmDecimal;
                    }
                    else
                    {
                        sbErroI.Append(",纬度[" + dt.Rows[i]["纬度"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["租金"] != null && dt.Rows[i]["租金"].ToString().Trim() != "")
                {
                    if (decimal.TryParse(dt.Rows[i]["租金"].ToString().Trim(), out parmDecimal))
                    {
                        model.租金 = parmDecimal;
                    }
                    else
                    {
                        sbErroI.Append(",租金[" + dt.Rows[i]["租金"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["年限"] != null && dt.Rows[i]["年限"].ToString().Trim() != "")
                {
                    if (decimal.TryParse(dt.Rows[i]["年限"].ToString().Trim(), out parmDecimal))
                    {
                        model.年限 = parmDecimal;
                    }
                    else
                    {
                        sbErroI.Append(",年限[" + dt.Rows[i]["年限"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["总收入"] != null && dt.Rows[i]["总收入"].ToString().Trim() != "")
                {
                    if (decimal.TryParse(dt.Rows[i]["总收入"].ToString().Trim(), out parmDecimal))
                    {
                        model.总收入 = parmDecimal;
                    }
                    else
                    {
                        sbErroI.Append(",总收入[" + dt.Rows[i]["总收入"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["伟通应收款"] != null && dt.Rows[i]["伟通应收款"].ToString().Trim() != "")
                {
                    if (decimal.TryParse(dt.Rows[i]["伟通应收款"].ToString().Trim(), out parmDecimal))
                    {
                        model.伟通应收款 = parmDecimal;
                    }
                    else
                    {
                        sbErroI.Append(",伟通应收款[" + dt.Rows[i]["伟通应收款"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["摘牌时间"] != null && dt.Rows[i]["摘牌时间"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["摘牌时间"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",摘牌时间[" + dt.Rows[i]["摘牌时间"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.摘牌时间 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",摘牌时间[" + dt.Rows[i]["摘牌时间"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["预计进场日期"] != null && dt.Rows[i]["预计进场日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["预计进场日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",预计进场日期[" + dt.Rows[i]["预计进场日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.摘牌时间 != null && model.摘牌时间 > parmTime)
                        {
                            sbErroI.Append(",预计进场日期[" + dt.Rows[i]["预计进场日期"].ToString().Trim() + "]必须大于等于摘牌时间[" + dt.Rows[i]["摘牌时间"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.预计进场日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",预计进场日期[" + dt.Rows[i]["预计进场日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["预计完工日期"] != null && dt.Rows[i]["预计完工日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["预计完工日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",预计完工日期[" + dt.Rows[i]["预计完工日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.预计进场日期 != null && model.预计进场日期 > parmTime)
                        {
                            sbErroI.Append(",预计完工日期[" + dt.Rows[i]["预预计完工日期计进场日期"].ToString().Trim() + "]必须大于等于预计进场日期[" + dt.Rows[i]["预计进场日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.预计完工日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",预计完工日期[" + dt.Rows[i]["预计完工日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["建站周期"] != null && dt.Rows[i]["建站周期"].ToString().Trim() != "")
                {
                    if (int.TryParse(dt.Rows[i]["建站周期"].ToString().Trim(), out parmInt))
                    {
                        model.建站周期 = parmInt;
                    }
                    else
                    {
                        sbErroI.Append(",建站周期[" + dt.Rows[i]["建站周期"].ToString().Trim() + "]必须为数字");
                    }
                }
                if (dt.Rows[i]["选址定点"] != null && dt.Rows[i]["选址定点"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["选址定点"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",选址定点[" + dt.Rows[i]["选址定点"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.址定点 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",选址定点[" + dt.Rows[i]["选址定点"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["签订租赁合同开始日期"] != null && dt.Rows[i]["签订租赁合同开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["签订租赁合同开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",签订租赁合同开始日期[" + dt.Rows[i]["签订租赁合同开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.签订租赁合同开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",签订租赁合同开始日期[" + dt.Rows[i]["签订租赁合同开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["签订租赁合同完成日期"] != null && dt.Rows[i]["签订租赁合同完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["签订租赁合同完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",签订租赁合同完成日期[" + dt.Rows[i]["签订租赁合同完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.签订租赁合同开始日期 != null && model.签订租赁合同开始日期 > parmTime)
                        {
                            sbErroI.Append(",签订租赁合同完成日期[" + dt.Rows[i]["签订租赁合同完成日期"].ToString().Trim() + "]必须大于等于签订租赁合同开始日期[" + dt.Rows[i]["签订租赁合同开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.签订租赁合同完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",签订租赁合同完成日期[" + dt.Rows[i]["签订租赁合同完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["地墈开始日期"] != null && dt.Rows[i]["地墈开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["地墈开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",地墈开始日期[" + dt.Rows[i]["地墈开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.地墈开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",地墈开始日期[" + dt.Rows[i]["地墈开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["地墈完成日期"] != null && dt.Rows[i]["地墈完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["地墈完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",地墈完成日期[" + dt.Rows[i]["地墈完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.地墈开始日期 != null && model.地墈开始日期 > parmTime)
                        {
                            sbErroI.Append(",地墈完成日期[" + dt.Rows[i]["地墈完成日期"].ToString().Trim() + "]必须大于等于地墈开始日期[" + dt.Rows[i]["地墈开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.地墈完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",地墈完成日期[" + dt.Rows[i]["地墈完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["设计出图开始日期"] != null && dt.Rows[i]["设计出图开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["设计出图开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",设计出图开始日期[" + dt.Rows[i]["设计出图开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.设计出图开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",设计出图开始日期[" + dt.Rows[i]["设计出图开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["设计出图完成日期"] != null && dt.Rows[i]["设计出图完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["设计出图完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",设计出图完成日期[" + dt.Rows[i]["设计出图完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.设计出图开始日期 != null && model.设计出图开始日期 > parmTime)
                        {
                            sbErroI.Append(",设计出图完成日期[" + dt.Rows[i]["设计出图完成日期"].ToString().Trim() + "]必须大于等于设计出图开始日期[" + dt.Rows[i]["设计出图开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.设计出图完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",设计出图完成日期[" + dt.Rows[i]["设计出图完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["土建施工开始日期"] != null && dt.Rows[i]["土建施工开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["土建施工开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",土建施工开始日期[" + dt.Rows[i]["土建施工开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.土建施工开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",土建施工开始日期[" + dt.Rows[i]["土建施工开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["土建施工完成日期"] != null && dt.Rows[i]["土建施工完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["土建施工完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",土建施工完成日期[" + dt.Rows[i]["土建施工完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.土建施工开始日期 != null && model.土建施工开始日期 > parmTime)
                        {
                            sbErroI.Append(",土建施工完成日期[" + dt.Rows[i]["土建施工完成日期"].ToString().Trim() + "]必须大于等于土建施工开始日期[" + dt.Rows[i]["土建施工开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.土建施工完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",土建施工完成日期[" + dt.Rows[i]["土建施工完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["产品采购开始日期"] != null && dt.Rows[i]["产品采购开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["产品采购开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",产品采购开始日期[" + dt.Rows[i]["产品采购开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.产品采购开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",产品采购开始日期[" + dt.Rows[i]["产品采购开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["产品采购完成日期"] != null && dt.Rows[i]["产品采购完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["产品采购完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",产品采购完成日期[" + dt.Rows[i]["产品采购完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.产品采购开始日期 != null && model.产品采购开始日期 > parmTime)
                        {
                            sbErroI.Append(",产品采购完成日期[" + dt.Rows[i]["产品采购完成日期"].ToString().Trim() + "]必须大于等于产品采购开始日期[" + dt.Rows[i]["产品采购开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.产品采购完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",产品采购完成日期[" + dt.Rows[i]["产品采购完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["产品安装开始日期"] != null && dt.Rows[i]["产品安装开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["产品安装开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",产品安装开始日期[" + dt.Rows[i]["产品安装开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.产品安装开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",产品安装开始日期[" + dt.Rows[i]["产品安装开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["产品安装完成日期"] != null && dt.Rows[i]["产品安装完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["产品安装完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",产品安装完成日期[" + dt.Rows[i]["产品安装完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.产品安装开始日期 != null && model.产品安装开始日期 > parmTime)
                        {
                            sbErroI.Append(",产品安装完成日期[" + dt.Rows[i]["产品安装完成日期"].ToString().Trim() + "]必须大于等于产品安装开始日期[" + dt.Rows[i]["产品安装开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.产品安装完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",产品安装完成日期[" + dt.Rows[i]["产品安装完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["电力报建开始日期"] != null && dt.Rows[i]["电力报建开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["电力报建开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",电力报建开始日期[" + dt.Rows[i]["电力报建开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.电力报建开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",电力报建开始日期[" + dt.Rows[i]["电力报建开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["电力报建完成日期"] != null && dt.Rows[i]["电力报建完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["电力报建完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",电力报建完成日期[" + dt.Rows[i]["电力报建完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.电力报建开始日期 != null && model.电力报建开始日期 > parmTime)
                        {
                            sbErroI.Append(",电力报建完成日期[" + dt.Rows[i]["电力报建完成日期"].ToString().Trim() + "]必须大于等于电力报建开始日期[" + dt.Rows[i]["电力报建开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.电力报建完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",电力报建完成日期[" + dt.Rows[i]["电力报建完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["销售验收日期"] != null && dt.Rows[i]["销售验收日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["销售验收日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",销售验收日期[" + dt.Rows[i]["销售验收日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else
                        {
                            model.销售验收日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",销售验收日期[" + dt.Rows[i]["销售验收日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["运营商验收交付开始日期"] != null && dt.Rows[i]["运营商验收交付开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["运营商验收交付开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",运营商验收交付开始日期[" + dt.Rows[i]["运营商验收交付开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.销售验收日期 != null && model.销售验收日期 > parmTime)
                        {
                            sbErroI.Append(",运营商验收交付开始日期[" + dt.Rows[i]["运营商验收交付开始日期"].ToString().Trim() + "]必须大于等于销售验收日期[" + dt.Rows[i]["销售验收日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.运营商验收交付开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",运营商验收交付开始日期[" + dt.Rows[i]["运营商验收交付开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["运营商验收交付完成日期"] != null && dt.Rows[i]["运营商验收交付完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["运营商验收交付完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",运营商验收交付完成日期[" + dt.Rows[i]["运营商验收交付完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.运营商验收交付开始日期 != null && model.运营商验收交付开始日期 > parmTime)
                        {
                            sbErroI.Append(",运营商验收交付完成日期[" + dt.Rows[i]["运营商验收交付完成日期"].ToString().Trim() + "]必须大于等于运营商验收交付开始日期[" + dt.Rows[i]["运营商验收交付开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.运营商验收交付完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",运营商验收交付完成日期[" + dt.Rows[i]["运营商验收交付完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["运营商签订合同开始日期"] != null && dt.Rows[i]["运营商签订合同开始日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["运营商签订合同开始日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",运营商签订合同开始日期[" + dt.Rows[i]["运营商签订合同开始日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.运营商验收交付完成日期 != null && model.运营商验收交付完成日期 > parmTime)
                        {
                            sbErroI.Append(",运营商签订合同开始日期[" + dt.Rows[i]["运营商签订合同开始日期"].ToString().Trim() + "]必须大于等于运营商验收交付完成日期[" + dt.Rows[i]["运营商验收交付完成日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.运营商签订合同开始日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",运营商签订合同开始日期[" + dt.Rows[i]["运营商签订合同开始日期"].ToString().Trim() + "]必须为日期");
                    }
                }
                if (dt.Rows[i]["运营商签订合同完成日期"] != null && dt.Rows[i]["运营商签订合同完成日期"].ToString().Trim() != "")
                {
                    if (DateTime.TryParse(dt.Rows[i]["运营商签订合同完成日期"].ToString().Trim(), out parmTime))
                    {
                        if (parmTime > dateTimeNow)
                        {
                            sbErroI.Append(",运营商签订合同完成日期[" + dt.Rows[i]["运营商签订合同完成日期"].ToString().Trim() + "]必须小于等于今天");
                        }
                        else if (model.运营商签订合同开始日期 != null && model.运营商签订合同开始日期 > parmTime)
                        {
                            sbErroI.Append(",运营商签订合同完成日期[" + dt.Rows[i]["运营商签订合同完成日期"].ToString().Trim() + "]必须大于等于运营商签订合同开始日期[" + dt.Rows[i]["运营商签订合同开始日期"].ToString().Trim() + "]");
                        }
                        else
                        {
                            model.运营商签订合同完成日期 = parmTime;
                        }
                    }
                    else
                    {
                        sbErroI.Append(",运营商签订合同完成日期[" + dt.Rows[i]["运营商签订合同完成日期"].ToString().Trim() + "]必须为日期");
                    }
                }

                //if (dt.Rows[i]["进场时间预警"] != null && dt.Rows[i]["进场时间预警"].ToString().Trim() != "")
                //{

                //    if (int.TryParse(dt.Rows[i]["进场时间预警"].ToString().Trim(), out parmInt))
                //    {
                //        model.进场时间预警 = parmInt;
                //    }
                //    else
                //    {
                //        sbErroI.Append(",进场时间预警[" + dt.Rows[i]["进场时间预警"].ToString().Trim() + "]必须为日期");
                //    }
                //}
                //if (dt.Rows[i]["交付时间预警"] != null && dt.Rows[i]["交付时间预警"].ToString().Trim() != "")
                //{

                //    if (int.TryParse(dt.Rows[i]["交付时间预警"].ToString().Trim(), out parmInt))
                //    {
                //        model.交付时间预警 = parmInt;
                //    }
                //    else
                //    {
                //        sbErroI.Append(",交付时间预警[" + dt.Rows[i]["交付时间预警"].ToString().Trim() + "]必须为日期");
                //    }
                //}
                //if (dt.Rows[i]["运营合同签约时间预警"] != null && dt.Rows[i]["运营合同签约时间预警"].ToString().Trim() != "")
                //{

                //    if (int.TryParse(dt.Rows[i]["运营合同签约时间预警"].ToString().Trim(), out parmInt))
                //    {
                //        model.运营合同签约时间预警 = parmInt;
                //    }
                //    else
                //    {
                //        sbErroI.Append(",运营合同签约时间预警[" + dt.Rows[i]["运营合同签约时间预警"].ToString().Trim() + "]必须为日期");
                //    }
                //}
                if (dt.Rows[i]["是否退点"] != null && dt.Rows[i]["是否退点"].ToString().Trim() != "")
                {
                    if (dt.Rows[i]["是否退点"].ToString().Trim() != "是" && dt.Rows[i]["是否退点"].ToString().Trim() != "否")
                    {
                        sbErroI.Append(",是否退点[" + dt.Rows[i]["是否退点"].ToString().Trim() + "]不正确,是否退点必须是是或否");
                    }
                    else
                    {
                        model.是否退点 = dt.Rows[i]["是否退点"].ToString().Trim();
                    }
                }
                if (sbErroI.Length > 0)
                {
                    sbErro.Append(",第" + (i + 2) + "行数据:" + sbErroI.ToString().Substring(1));
                }
                list.Add(model);
            }
            //如果有错误信息
            if (sbErro.Length > 0)
            {
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = sbErro.ToString().Substring(1);
                return(json);
            }
            if (list.Count == 0)
            {
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = "数据为空";
                return(json);
            }
            SqlConnection conn = new SqlConnection(PubConstant.ConnectionString);

            conn.Open();
            SqlTransaction trans = conn.BeginTransaction();

            try
            {
                int      addCount    = 0;
                int      updateCount = 0;
                string   userId      = CurrentUser.User.Userinfo.UserID;
                DateTime timeNow     = DateTime.Now;
                for (int i = 0; i < list.Count; i++)
                {
                    List <Model.JD_SITE> modelExistsList = BLL.GetModelList(trans, "站点编码='" + list[i].站点编码 + "' ");
                    if (modelExistsList != null && modelExistsList.Count > 0)
                    {
                        list[i].id         = modelExistsList[0].id;
                        list[i].备注         = modelExistsList[0].备注;
                        list[i].CreateBy   = modelExistsList[0].CreateBy;
                        list[i].CreateTime = modelExistsList[0].CreateTime;
                        list[i].UpdateBy   = userId;
                        list[i].UpdateTime = timeNow;
                        BLL.Update(trans, list[i]);
                        updateCount++;
                    }
                    else
                    {
                        list[i].CreateBy   = userId;
                        list[i].CreateTime = timeNow;
                        list[i].id         = Guid.NewGuid().ToString();
                        BLL.Add(trans, list[i]);
                        addCount++;
                    }
                }
                trans.Commit();
                json.Status  = JsonObject.STATUS_SUCCESS;
                json.Message = "导入成功";
                if (addCount > 0)
                {
                    json.Message += ",添加" + addCount + "条数据";
                }
                if (updateCount > 0)
                {
                    json.Message += ",修改" + updateCount + "条数据";
                }
                return(json);
            }
            catch (Exception ex)
            {
                trans.Rollback();
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = "导入失败,失败原因:" + ex.Message;
                return(json);
            }
            finally
            {
                conn.Close();
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 保存数据字典数据
        /// </summary>
        /// <returns></returns>
        public ActionResult Save(Model.JD_SITE model)
        {
            JsonObject    json   = new JsonObject();
            StringBuilder sbErro = new StringBuilder();

            if (string.IsNullOrEmpty(model.部门))
            {
                sbErro.Append(",部门不能为空");
            }
            else
            {
                Model.Department modelParmExist = new BLL.Department().GetModel(model.部门);
                if (modelParmExist == null)
                {
                    sbErro.Append(",部门不存在");
                }
            }
            if (string.IsNullOrEmpty(model.类别))
            {
                sbErro.Append(",类别不能为空");
            }
            else if (model.类别 != "自持" && model.类别 != "销售")
            {
                sbErro.Append(",类别必须是自持或销售");
            }
            if (string.IsNullOrEmpty(model.区域))
            {
                sbErro.Append(",区域不能为空");
            }
            else
            {
                Model.Area modelParmExist = new BLL.Area().GetModel(model.区域);
                if (modelParmExist == null)
                {
                    sbErro.Append(",区域不存在");
                }
            }
            if (string.IsNullOrEmpty(model.客户))
            {
                sbErro.Append(",客户不能为空");
            }
            else
            {
                Model.Customer modelParmExist = new BLL.Customer().GetModel(model.客户);
                if (modelParmExist == null)
                {
                    sbErro.Append(",客户不存在");
                }
            }
            if (string.IsNullOrEmpty(model.站点编码))
            {
                sbErro.Append(",站点编码不能为空");
            }
            if (string.IsNullOrEmpty(model.站点名称))
            {
                sbErro.Append(",站点名称不能为空");
            }
            if (!string.IsNullOrEmpty(model.站点类型归属))
            {
                int existsCount = new BLL.Common_Data().GetRecordCount("DataType='站点类型归属' and DataValue='" + model.站点类型归属 + "'");
                if (existsCount == 0)
                {
                    sbErro.Append(",站点类型归属不存在");
                }
            }
            else
            {
                sbErro.Append(",站点类型归属不能为空");
            }
            if (!string.IsNullOrEmpty(model.最新状态))
            {
                int existsCount = new BLL.Common_Data().GetRecordCount("DataType='最新状态' and DataValue='" + model.最新状态 + "'");
                if (existsCount == 0)
                {
                    sbErro.Append(",最新状态不存在");
                }
            }
            else
            {
                sbErro.Append(",最新状态不能为空");
            }
            if (string.IsNullOrEmpty(model.是否退点))
            {
                if (model.是否退点 != "是" && model.类别 != "否")
                {
                    sbErro.Append(",是否退点是是或否");
                }
            }
            if (sbErro.Length > 0)
            {
                json.Status      = JsonObject.STATUS_FAIL;
                json.ErroMessage = sbErro.ToString().Substring(1);
                return(Json(json));
            }
            //如果ID为空,则是添加
            if (string.IsNullOrEmpty(model.id))
            {
                List <Model.JD_SITE> modelExistsList = BLL.GetModelList("站点编码='" + model.站点编码 + "'");
                if (modelExistsList != null && modelExistsList.Count > 0)
                {
                    json.Status      = JsonObject.STATUS_FAIL;
                    json.ErroMessage = "添加失败,此数据已存在";
                    return(Json(json));
                }
                model.CreateTime = DateTime.Now;
                model.CreateBy   = CurrentUser.User.Userinfo.UserID;
                model.id         = Guid.NewGuid().ToString();
                bool res = BLL.Add(model);
                if (res)
                {
                    json.Status  = JsonObject.STATUS_SUCCESS;
                    json.Message = "添加成功";
                    return(Json(json));
                }
                else
                {
                    json.Status      = JsonObject.STATUS_FAIL;
                    json.ErroMessage = "添加失败";
                    return(Json(json));
                }
            }
            else
            {
                List <Model.JD_SITE> modelExistsList = BLL.GetModelList("站点编码='" + model.站点编码 + "' and id!='" + model.id + "'");
                if (modelExistsList != null && modelExistsList.Count > 0)
                {
                    json.Status      = JsonObject.STATUS_FAIL;
                    json.ErroMessage = "修改失败,此数据已存在";
                    return(Json(json));
                }
                Model.JD_SITE modelOld = BLL.GetModel(model.id);
                if (modelOld == null)
                {
                    json.Status      = JsonObject.STATUS_FAIL;
                    json.ErroMessage = "数据不存在";
                    return(Json(json));
                }
                model.CreateBy   = modelOld.CreateBy;
                model.CreateTime = modelOld.CreateTime;
                model.UpdateTime = DateTime.Now;
                model.UpdateBy   = CurrentUser.User.Userinfo.UserID;
                bool res = BLL.Update(model);
                if (res)
                {
                    json.Status  = JsonObject.STATUS_SUCCESS;
                    json.Message = "修改成功";
                    return(Json(json));
                }
                else
                {
                    json.Status      = JsonObject.STATUS_FAIL;
                    json.ErroMessage = "修改失败";
                    return(Json(json));
                }
            }
        }
Esempio n. 5
0
        public DataTable getJdSiteInfo()
        {
            DataTable dtCommonData = new BLL.Common_Data().GetList(" DataType in('最新状态')").Tables[0];
            String    sql          = @"

select 类别,ISNULL(d.DepartmentName,部门) 部门,a.AreaName 区域,c.CustomerName 客户,
ISNULL(摘牌,0) 摘牌,
ISNULL(选址定点,0) 选址定点,
ISNULL(签订租赁合同,0) 签订租赁合同,
ISNULL(地墈,0) 地墈,
ISNULL(设计出图,0) 设计出图,
ISNULL(土建施工,0) 土建施工,
ISNULL(产品采购,0) 产品采购,
ISNULL(产品安装,0) 产品安装,
ISNULL(电力报建,0) 电力报建,
ISNULL(销售验收,0) 销售验收,
ISNULL(运营商验收交付,0) 运营商验收交付,
ISNULL(运营商签订合同,0) 运营商签订合同,
ISNULL(退点,0) 退点,
ISNULL(站点数量合计,0) 站点数量合计,
ISNULL(伟通预计应收金额,0) 伟通预计应收金额
FROM
(select t.部门,'自持' 类别,t.区域,t.客户,摘牌,选址定点,签订租赁合同,地墈,设计出图,土建施工,产品采购,产品安装,电力报建,销售验收,运营商验收交付,运营商签订合同,退点,站点数量合计,伟通预计应收金额
 from
(select distinct 部门,区域,客户 from JD_SITE where 类别='自持') t
left join(select count(0) 摘牌,部门,区域,客户 from JD_SITE a where a.最新状态='摘牌' and a.类别='自持'  group by 部门,区域,客户) t摘牌 on t.部门=t摘牌.部门 and t.区域=t摘牌.区域 and t.客户=t摘牌.客户
left join(select count(0) 选址定点,部门,区域,客户 from JD_SITE a where a.最新状态='选址、定点' and a.类别='自持'  group by 部门,区域,客户) t选址定点 on t.部门=t选址定点.部门 and t.区域=t选址定点.区域 and t.客户=t选址定点.客户
left join(select count(0) 签订租赁合同,部门,区域,客户 from JD_SITE a where a.最新状态='签订租赁合同' and a.类别='自持'  group by 部门,区域,客户) t签订租赁合同 on t.部门=t签订租赁合同.部门 and t.区域=t签订租赁合同.区域 and t.客户=t签订租赁合同.客户
left join(select count(0) 地墈,部门,区域,客户 from JD_SITE a where a.最新状态='地墈' and a.类别='自持'  group by 部门,区域,客户) t地墈 on t.部门=t地墈.部门 and t.区域=t地墈.区域 and t.客户=t地墈.客户
left join(select count(0) 设计出图,部门,区域,客户 from JD_SITE a where a.最新状态='设计出图' and a.类别='自持'  group by 部门,区域,客户) t设计出图 on t.部门=t设计出图.部门 and t.区域=t设计出图.区域 and t.客户=t设计出图.客户
left join(select count(0) 土建施工,部门,区域,客户 from JD_SITE a where a.最新状态='土建施工' and a.类别='自持'  group by 部门,区域,客户) t土建施工 on t.部门=t土建施工.部门 and t.区域=t土建施工.区域 and t.客户=t土建施工.客户
left join(select count(0) 产品采购,部门,区域,客户 from JD_SITE a where a.最新状态='产品采购' and a.类别='自持'  group by 部门,区域,客户) t产品采购 on t.部门=t产品采购.部门 and t.区域=t产品采购.区域 and t.客户=t产品采购.客户
left join(select count(0) 产品安装,部门,区域,客户 from JD_SITE a where a.最新状态='产品安装' and a.类别='自持'  group by 部门,区域,客户) t产品安装 on t.部门=t产品安装.部门 and t.区域=t产品安装.区域 and t.客户=t产品安装.客户
left join(select count(0) 电力报建,部门,区域,客户 from JD_SITE a where a.最新状态='电力报建' and a.类别='自持'  group by 部门,区域,客户) t电力报建 on t.部门=t电力报建.部门 and t.区域=t电力报建.区域 and t.客户=t电力报建.客户
left join(select count(0) 销售验收,部门,区域,客户 from JD_SITE a where a.最新状态='销售验收' and a.类别='自持'  group by 部门,区域,客户) t销售验收 on t.部门=t销售验收.部门 and t.区域=t销售验收.区域 and t.客户=t销售验收.客户
left join(select count(0) 运营商验收交付,部门,区域,客户 from JD_SITE a where a.最新状态='运营商验收、交付' and a.类别='自持'  group by 部门,区域,客户) t运营商验收交付 on t.部门=t运营商验收交付.部门 and t.区域=t运营商验收交付.区域 and t.客户=t运营商验收交付.客户
left join(select count(0) 运营商签订合同,部门,区域,客户 from JD_SITE a where a.最新状态='运营商签订合同' and a.类别='自持'  group by 部门,区域,客户) t运营商签订合同 on t.部门=t运营商签订合同.部门 and t.区域=t运营商签订合同.区域 and t.客户=t运营商签订合同.客户
left join(select count(0) 退点,部门,区域,客户 from JD_SITE a where a.是否退点='是' and a.类别='自持'  group by 部门,区域,客户) t退点 on t.部门=t退点.部门 and t.区域=t退点.区域 and t.客户=t退点.客户
left join(select count(0) 站点数量合计,部门,区域,客户 from JD_SITE a where a.类别='自持'  group by 部门,区域,客户) t站点数量合计 on t.部门=t站点数量合计.部门 and t.区域=t站点数量合计.区域 and t.客户=t站点数量合计.客户
left join(select sum(a.伟通应收款) 伟通预计应收金额,部门,区域,客户 from JD_SITE a where a.类别='自持'  group by 部门,区域,客户) t伟通预计应收金额 on t.部门=t伟通预计应收金额.部门 and t.区域=t伟通预计应收金额.区域 and t.客户=t伟通预计应收金额.客户
union all
select '合计' 部门,'自持' 类别,'' 区域,'' 客户,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 摘牌,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 选址定点,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 签订租赁合同,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 地墈,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 设计出图,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 土建施工,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 产品采购,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 产品安装,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 电力报建,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 销售验收,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 运营商验收交付,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='自持') 运营商签订合同,
(select count(0) from JD_SITE a where a.是否退点='是' and a.类别='自持') 退点,
(select count(0) from JD_SITE a where a.类别='自持') 站点数量合计,
(select sum(a.伟通应收款) from JD_SITE a where a.类别='自持') 伟通预计应收金额
union all
select t.部门,'销售' 类别,t.区域,t.客户,摘牌,选址定点,签订租赁合同,地墈,设计出图,土建施工,产品采购,产品安装,电力报建,销售验收,运营商验收交付,运营商签订合同,退点,站点数量合计,伟通预计应收金额 
 from
(select distinct 部门,区域,客户 from JD_SITE where 类别='销售') t
left join(select count(0) 摘牌,部门,区域,客户 from JD_SITE a where a.最新状态='摘牌' and a.类别='销售'  group by 部门,区域,客户) t摘牌 on t.部门=t摘牌.部门 and t.区域=t摘牌.区域 and t.客户=t摘牌.客户
left join(select count(0) 选址定点,部门,区域,客户 from JD_SITE a where a.最新状态='选址、定点' and a.类别='销售'  group by 部门,区域,客户) t选址定点 on t.部门=t选址定点.部门 and t.区域=t选址定点.区域 and t.客户=t选址定点.客户
left join(select count(0) 签订租赁合同,部门,区域,客户 from JD_SITE a where a.最新状态='签订租赁合同' and a.类别='销售'  group by 部门,区域,客户) t签订租赁合同 on t.部门=t签订租赁合同.部门 and t.区域=t签订租赁合同.区域 and t.客户=t签订租赁合同.客户
left join(select count(0) 地墈,部门,区域,客户 from JD_SITE a where a.最新状态='地墈' and a.类别='销售'  group by 部门,区域,客户) t地墈 on t.部门=t地墈.部门 and t.区域=t地墈.区域 and t.客户=t地墈.客户
left join(select count(0) 设计出图,部门,区域,客户 from JD_SITE a where a.最新状态='设计出图' and a.类别='销售'  group by 部门,区域,客户) t设计出图 on t.部门=t设计出图.部门 and t.区域=t设计出图.区域 and t.客户=t设计出图.客户
left join(select count(0) 土建施工,部门,区域,客户 from JD_SITE a where a.最新状态='土建施工' and a.类别='销售'  group by 部门,区域,客户) t土建施工 on t.部门=t土建施工.部门 and t.区域=t土建施工.区域 and t.客户=t土建施工.客户
left join(select count(0) 产品采购,部门,区域,客户 from JD_SITE a where a.最新状态='产品采购' and a.类别='销售'  group by 部门,区域,客户) t产品采购 on t.部门=t产品采购.部门 and t.区域=t产品采购.区域 and t.客户=t产品采购.客户
left join(select count(0) 产品安装,部门,区域,客户 from JD_SITE a where a.最新状态='产品安装' and a.类别='销售'  group by 部门,区域,客户) t产品安装 on t.部门=t产品安装.部门 and t.区域=t产品安装.区域 and t.客户=t产品安装.客户
left join(select count(0) 电力报建,部门,区域,客户 from JD_SITE a where a.最新状态='电力报建' and a.类别='销售'  group by 部门,区域,客户) t电力报建 on t.部门=t电力报建.部门 and t.区域=t电力报建.区域 and t.客户=t电力报建.客户
left join(select count(0) 销售验收,部门,区域,客户 from JD_SITE a where a.最新状态='销售验收' and a.类别='销售'  group by 部门,区域,客户) t销售验收 on t.部门=t销售验收.部门 and t.区域=t销售验收.区域 and t.客户=t销售验收.客户
left join(select count(0) 运营商验收交付,部门,区域,客户 from JD_SITE a where a.最新状态='运营商验收、交付' and a.类别='销售'  group by 部门,区域,客户) t运营商验收交付 on t.部门=t运营商验收交付.部门 and t.区域=t运营商验收交付.区域 and t.客户=t运营商验收交付.客户
left join(select count(0) 运营商签订合同,部门,区域,客户 from JD_SITE a where a.最新状态='运营商签订合同' and a.类别='销售'  group by 部门,区域,客户) t运营商签订合同 on t.部门=t运营商签订合同.部门 and t.区域=t运营商签订合同.区域 and t.客户=t运营商签订合同.客户
left join(select count(0) 退点,部门,区域,客户 from JD_SITE a where a.是否退点='是' and a.类别='销售'  group by 部门,区域,客户) t退点 on t.部门=t退点.部门 and t.区域=t退点.区域 and t.客户=t退点.客户
left join(select count(0) 站点数量合计,部门,区域,客户 from JD_SITE a where a.类别='销售'  group by 部门,区域,客户) t站点数量合计 on t.部门=t站点数量合计.部门 and t.区域=t站点数量合计.区域 and t.客户=t站点数量合计.客户
left join(select sum(a.伟通应收款) 伟通预计应收金额,部门,区域,客户 from JD_SITE a where a.类别='销售'  group by 部门,区域,客户) t伟通预计应收金额 on t.部门=t伟通预计应收金额.部门 and t.区域=t伟通预计应收金额.区域 and t.客户=t伟通预计应收金额.客户
union all
select '合计' 部门,'销售' 类别,'' 区域,'' 客户,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 摘牌,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 选址定点,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 签订租赁合同,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 地墈,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 设计出图,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 土建施工,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 产品采购,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 产品安装,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 电力报建,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 销售验收,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 运营商验收交付,
(select count(0) from JD_SITE a where a.最新状态='1' and a.类别='销售') 运营商签订合同,
(select count(0) from JD_SITE a where a.是否退点='是' and a.类别='销售') 退点,
(select count(0) from JD_SITE a where a.类别='销售') 站点数量合计,
(select sum(a.伟通应收款) from JD_SITE a where a.类别='销售') 伟通预计应收金额) T
left join Department d on t.部门=d.DepartmentID
left join area a on t.区域=a.AreaID
left join Customer c on t.客户=c.CustomerID";

            for (int i = 0; i < dtCommonData.Rows.Count; i++)
            {
                sql = sql.Replace("a.最新状态='" + dtCommonData.Rows[i]["DataText"].ToString() + "'", "a.最新状态='" + dtCommonData.Rows[i]["DataValue"].ToString() + "'");
            }
            return(DbHelperSQL.Query(sql).Tables[0]);
        }