Exemplo n.º 1
0
        /// <summary>
        /// 护林员统计
        /// </summary>
        /// <returns>参见HUReport_HUCount_Model</returns>
        public static IEnumerable <HUReport_HUCount_Model> getHUCountModel(T_IPSFR_USER_SW sw)
        {
            var result = new List <HUReport_HUCount_Model>();

            T_SYS_ORGSW swOrg = new T_SYS_ORGSW();

            swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
            swOrg.TopORGNO = sw.TopORGNO;

            if (PublicCls.OrgIsShi(sw.TopORGNO))
            {
                swOrg.GetContyORGNOByCity = sw.TopORGNO;//获取所有县
            }
            if (PublicCls.OrgIsXian(sw.TopORGNO))
            {
                swOrg.GetXZOrgNOByConty = sw.TopORGNO;//获取所有镇
            }
            DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);

            //DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(new T_SYS_ORGSW { SYSFLAG = ConfigCls.getSystemFlag() });
            DataTable dtHU = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW {
                ISENABLE = "1"
            });

            DataRow[] drOrg = dtOrg.Select("", "ORGNO");//取所有
            if (1 == 1)
            {
                HUReport_HUCount_Model m = new HUReport_HUCount_Model();

                m.ORGName = BaseDT.T_SYS_ORG.getName(sw.TopORGNO) + "合计";
                m.ORGNo   = "";

                m.HUCount       = getHUCountBySex(dtHU, sw.TopORGNO, "");
                m.Sex0Count     = getHUCountBySex(dtHU, sw.TopORGNO, "1");
                m.Sex1Count     = getHUCountBySex(dtHU, sw.TopORGNO, "0");
                m.Onstate0Count = getHUCountByOnstate(dtHU, sw.TopORGNO, "1");
                m.Onstate1Count = getHUCountByOnstate(dtHU, sw.TopORGNO, "2");
                result.Add(m);
            }
            for (int i = 0; i < drOrg.Length; i++)
            {
                HUReport_HUCount_Model m = new HUReport_HUCount_Model();
                string orgName           = drOrg[i]["ORGNAME"].ToString();
                m.ORGName = orgName;
                m.ORGNo   = drOrg[i]["ORGNO"].ToString();

                m.HUCount       = getHUCountBySex(dtHU, drOrg[i]["ORGNO"].ToString(), "");
                m.Sex0Count     = getHUCountBySex(dtHU, drOrg[i]["ORGNO"].ToString(), "1");
                m.Sex1Count     = getHUCountBySex(dtHU, drOrg[i]["ORGNO"].ToString(), "0");
                m.Onstate0Count = getHUCountByOnstate(dtHU, drOrg[i]["ORGNO"].ToString(), "1");
                m.Onstate1Count = getHUCountByOnstate(dtHU, drOrg[i]["ORGNO"].ToString(), "2");
                result.Add(m);
            }
            dtHU.Clear();
            dtHU.Dispose();
            dtOrg.Clear();
            dtOrg.Dispose();
            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 判断记录是否存在
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>true存在 false不存在</returns>
        public static bool isExists(T_SYS_ORGSW sw)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("select 1 from T_SYS_ORG where 1=1");
            if (string.IsNullOrEmpty(sw.ORGNO) == false)
            {
                sb.AppendFormat(" and ORGNO='{0}'", ClsSql.EncodeSql(sw.ORGNO));
            }
            return(DataBaseClass.JudgeRecordExists(sb.ToString()));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 考勤统计 Model
        /// </summary>
        /// <param name="sw">参见HUCheckINCount_SW</param>
        /// <returns>参见HUCheck_CheckInCount_Model</returns>
        public static IEnumerable <HUCheck_CheckInCount_Model> getCheckInModel(HUCheckINCount_SW sw)
        {
            var result = new List <HUCheck_CheckInCount_Model>();

            if (string.IsNullOrEmpty(sw.DateBegin))//开始时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.DateEnd))//结束时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.ORGNO))//组织机构编码
            {
                return(result);
            }

            DateTime dt1  = Convert.ToDateTime(sw.DateBegin);
            DateTime dt2  = Convert.ToDateTime(sw.DateEnd);
            int      days = ClsStr.getDateDiff(sw.DateBegin, sw.DateEnd) + 1;//日期包含天数

            //根据机构编码获取下属组织机构 注意:这个函数含本级及所有下级的
            //DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(new T_SYS_ORGSW { TopORGNO = sw.ORGNO });
            DataTable dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getDTByOrgNoToDate(new PatrolRouteStat_SW {
                DateBegin = sw.DateBegin, DateEnd = sw.DateEnd, TopORGNO = sw.ORGNO
            });

            DataTable dtHU = BaseDT.T_IPSFR_USER.getDTByOrgSum(new T_IPSFR_USER_SW {
                BYORGNO = sw.ORGNO, ISENABLE = "1"
            });

            if (PublicCls.OrgIsZhen(sw.ORGNO) == false) //市、县处理
            {                                           //只获取该市下面的县 县下面的乡
                T_SYS_ORGSW swOrg = new T_SYS_ORGSW();
                swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
                swOrg.TopORGNO = sw.ORGNO;

                if (PublicCls.OrgIsShi(sw.ORGNO))
                {
                    swOrg.GetContyORGNOByCity = sw.ORGNO;//获取所有县
                }
                if (PublicCls.OrgIsXian(sw.ORGNO))
                {
                    swOrg.GetXZOrgNOByConty = sw.ORGNO;//获取所有镇
                }
                DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);
                DataRow[] drOrg = dtOrg.Select("", "ORGNO");//取所有

                for (int i = 0; i < drOrg.Length; i++)
                {
                    HUCheck_CheckInCount_Model m = new HUCheck_CheckInCount_Model();


                    m.ORGName = drOrg[i]["ORGNAME"].ToString();
                    m.ORGNo   = drOrg[i]["ORGNO"].ToString();
                    string CHr = dtHU.Compute("sum(C)", "BYORGNO=" + m.ORGNo).ToString(); //计算该单位下总人数
                    CHr       = (string.IsNullOrEmpty(CHr) ? "0" : CHr);
                    m.HUCount = CHr;                                                      //考勤人数
                    string cList = "";
                    for (DateTime tm = dt1; tm <= dt2; tm = tm.AddDays(1))
                    {
                        string tm1 = PublicClassLibrary.ClsSwitch.SwitDate(tm).ToString();
                        if (string.IsNullOrEmpty(cList) == false)
                        {
                            cList += ",";
                        }
                        string tmp = dtHRRealData.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and SBDATE='" + tm1 + "'").ToString(); //计算该日期下人数
                        cList += (string.IsNullOrEmpty(tmp) ? "0" : tmp);                                                             //各日期以逗号分隔
                    }
                    m.DayCountList = cList;                                                                                           //日期考勤列表
                    if (CHr != "0")
                    {
                        CHr = (int.Parse(CHr) * days).ToString();

                        string Chr0 = dtHRRealData.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "'").ToString();
                        Chr0 = (string.IsNullOrEmpty(Chr0) ? "0" : Chr0);; // BaseDT.T_IPS_REALDATATEMPORARY.getCountByOrgNo(dtHRRealData, orgNo).ToString();
                        string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                        Chr1 = (string.IsNullOrEmpty(Chr1) ? "0" : Chr1);
                        string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                        Chr2      = (string.IsNullOrEmpty(Chr2) ? "0" : Chr2);
                        m.daysC   = CHr;        //总
                        m.daysOK  = Chr0;       //完成
                        m.daysPer = Chr2 + "%"; //完成率
                    }
                    result.Add(m);
                }
                dtOrg.Clear();
                dtOrg.Dispose();
            }
            else//显示乡的,乡的列出各个护林员
            {
                DataRow[] drOrg = dtHU.Select("", "");//取所有

                for (int i = 0; i < drOrg.Length; i++)
                {
                    HUCheck_CheckInCount_Model m = new HUCheck_CheckInCount_Model();


                    m.ORGName = drOrg[i]["hname"].ToString();
                    m.ORGNo   = drOrg[i]["hid"].ToString();
                    string CHr = "1";                                    // dtHU.Compute("BYORGNO=" + m.ORGNo, "").ToString();//计算该单位下总人数
                    m.HUCount = (string.IsNullOrEmpty(CHr) ? "0" : CHr); //考勤人数
                    string cList = "";
                    for (DateTime tm = dt1; tm <= dt2; tm = tm.AddDays(1))
                    {
                        if (string.IsNullOrEmpty(cList) == false)
                        {
                            cList += ",";
                        }
                        string tmp = dtHRRealData.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and SBDATE='" + PublicClassLibrary.ClsSwitch.SwitDate(tm).ToString() + "'").ToString(); //计算该日期下人数
                        cList += (string.IsNullOrEmpty(tmp) ? "0" : tmp);                                                                                                              //各日期以逗号分隔
                    }
                    m.DayCountList = cList;                                                                                                                                            //日期考勤列表
                    if (CHr != "0")
                    {
                        CHr = (int.Parse(CHr) * days).ToString();

                        string Chr0 = dtHRRealData.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "'").ToString();
                        Chr0 = (string.IsNullOrEmpty(Chr0) ? "0" : Chr0);; // BaseDT.T_IPS_REALDATATEMPORARY.getCountByOrgNo(dtHRRealData, orgNo).ToString();
                        string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                        Chr1 = (string.IsNullOrEmpty(Chr1) ? "0" : Chr1);
                        string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                        Chr2      = (string.IsNullOrEmpty(Chr2) ? "0" : Chr2);
                        m.daysC   = CHr;        //总
                        m.daysOK  = Chr0;       //完成
                        m.daysPer = Chr2 + "%"; //完成率
                    }
                    result.Add(m);
                }
            }
            dtHU.Clear();
            dtHU.Dispose();

            //根据机构编码获取所有护林员信息
            // DataTable dtHU = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW { BYORGNO = sw.ORGNO, ISENABLE = "1" });

            dtHRRealData.Clear();
            dtHRRealData.Dispose();

            if (1 == 1)
            {
                HUCheck_CheckInCount_Model m = new HUCheck_CheckInCount_Model();
                m.ORGName = "合计";
                string HUCount = result.Sum(item => Convert.ToDecimal(item.HUCount)).ToString();//总数
                string daysC   = result.Sum(item => Convert.ToDecimal(item.daysC)).ToString();
                string daysOK  = result.Sum(item => Convert.ToDecimal(item.daysOK)).ToString();
                HUCount = (string.IsNullOrEmpty(HUCount) ? "0" : HUCount);
                daysC   = (string.IsNullOrEmpty(daysC) ? "0" : daysC);
                daysOK  = (string.IsNullOrEmpty(daysOK) ? "0" : daysOK);
                //string PointCount0 = result.Sum(item => Convert.ToDecimal(item.PointCount0)).ToString();
                m.HUCount = HUCount;
                m.daysC   = daysC;  //总天数
                m.daysOK  = daysOK; //已出勤
                int[] arrI = new int[days];
                foreach (var v in result)
                {
                    string[] a = v.DayCountList.Split(',');//组合列表
                    for (int i = 0; i < days; i++)
                    {
                        if (string.IsNullOrEmpty(arrI[i].ToString()))
                        {
                            arrI[i] = 0;
                        }
                        arrI[i] += int.Parse(a[i]);
                    }
                }
                string cList = "";
                for (int i = 0; i < days; i++)
                {
                    if (string.IsNullOrEmpty(cList) == false)
                    {
                        cList += ",";
                    }
                    cList += arrI[i];
                }
                m.DayCountList = cList;
                //m.LineCount2 = ClsStr.getPercent(LineCount0, LineCount).ToString("F0") + "%";
                //m.PointCount = PointCount;
                //m.PointCount0 = PointCount0;
                //m.PointCount1 = result.Sum(item => Convert.ToDecimal(item.PointCount1)).ToString();
                m.daysPer = ClsStr.getPercent(m.daysOK, m.daysC).ToString("F0") + "%";
                result.Insert(0, m);
            }

            return(result);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 查询怠工统计
        /// </summary>
        /// <param name="sw">参见SabotageCount_SW</param>
        /// <returns>参见getSabotageCount_Model</returns>
        public static IEnumerable <getSabotageCount_Model> getSabotageCountModel(SabotageCount_SW sw)
        {
            var result = new List <getSabotageCount_Model>();

            if (string.IsNullOrEmpty(sw.DateBegin))//开始时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.DateEnd))//结束时间为空
            {
                return(result);
            }

            DateTime dt1  = Convert.ToDateTime(sw.DateBegin);
            DateTime dt2  = Convert.ToDateTime(sw.DateEnd);
            int      days = ClsStr.getDateDiff(sw.DateBegin, sw.DateEnd) + 1;//日期包含天数

            DataTable dtHU = new DataTable();
            DataTable dt   = BaseDT.T_IPS_REALDATATEMPORARY.getDTSabotageByOrgNo(sw);

            if (PublicCls.OrgIsShi(sw.TopORGNO))
            {
                dtHU = BaseDT.T_IPSFR_USER.getDTShi(new T_IPSFR_USER_SW {
                });
            }
            else if (PublicCls.OrgIsXian(sw.TopORGNO))
            {
                dtHU = BaseDT.T_IPSFR_USER.getDTXain(new T_IPSFR_USER_SW {
                    BYORGNO = sw.TopORGNO
                });
            }
            else
            {
                dtHU = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW {
                    ISENABLE = "1", BYORGNO = sw.TopORGNO
                });
            }

            if (PublicCls.OrgIsZhen(sw.TopORGNO))
            {
                DataRow[] drOrg = dtHU.Select("", "");
                for (int i = 0; i < drOrg.Length; i++)
                {
                    getSabotageCount_Model m = new getSabotageCount_Model();
                    m.ORGName = drOrg[i]["HNAME"].ToString();
                    m.ORGNo   = drOrg[i]["HID"].ToString();
                    string CHr = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "'").ToString();
                    CHr = (string.IsNullOrEmpty(CHr) ? "0" : CHr);
                    string cList = "";
                    for (DateTime tm = dt1; tm <= dt2; tm = tm.AddDays(1))
                    {
                        string tm1 = PublicClassLibrary.ClsSwitch.SwitDate(tm).ToString();
                        if (string.IsNullOrEmpty(cList) == false)
                        {
                            cList += ",";
                        }
                        string tmp = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and SBDATE='" + tm1 + "'  and PatrolLenErro=1").ToString(); //计算该日期下人数
                        cList += (string.IsNullOrEmpty(tmp) ? "0" : tmp);                                                                        //各日期以逗号分隔
                    }
                    m.DayCountList = cList;                                                                                                      //日期考勤列表

                    string Chr0 = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and PatrolLenErro=0").ToString();
                    Chr0 = (string.IsNullOrEmpty(Chr0) ? "0" : Chr0);
                    string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                    string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                    m.Count    = CHr;        //总
                    m.Count0   = Chr0;       //完成
                    m.Count1   = Chr1;       //未完成
                    m.CountPer = Chr2 + "%"; //完成率

                    result.Add(m);
                }
                dtHU.Clear();
                dtHU.Dispose();
            }
            else
            {
                T_SYS_ORGSW swOrg = new T_SYS_ORGSW();
                swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
                swOrg.TopORGNO = sw.TopORGNO;

                if (PublicCls.OrgIsShi(sw.TopORGNO))
                {
                    swOrg.GetContyORGNOByCity = sw.TopORGNO;//获取所有县
                }
                if (PublicCls.OrgIsXian(sw.TopORGNO))
                {
                    swOrg.GetXZOrgNOByConty = sw.TopORGNO;//获取所有镇
                }
                DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);

                DataRow[] drOrg = dtOrg.Select("", "ORGNO");//取所有
                for (int i = 0; i < drOrg.Length; i++)
                {
                    // string orgName = drOrg[i]["ORGNAME"].ToString();
                    //string orgNo = drOrg[i]["ORGNO"].ToString();

                    getSabotageCount_Model m = new getSabotageCount_Model();
                    m.ORGName = drOrg[i]["ORGNAME"].ToString();
                    m.ORGNo   = drOrg[i]["ORGNO"].ToString();



                    string CHr = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "'").ToString();
                    CHr = (string.IsNullOrEmpty(CHr) ? "0" : CHr);
                    string cList = "";
                    for (DateTime tm = dt1; tm <= dt2; tm = tm.AddDays(1))
                    {
                        string tm1 = PublicClassLibrary.ClsSwitch.SwitDate(tm).ToString();
                        if (string.IsNullOrEmpty(cList) == false)
                        {
                            cList += ",";
                        }
                        string tmp = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and SBDATE='" + tm1 + "'  and PatrolLenErro=0").ToString(); //计算该日期下人数
                        cList += (string.IsNullOrEmpty(tmp) ? "0" : tmp);                                                                        //各日期以逗号分隔
                    }
                    m.DayCountList = cList;                                                                                                      //日期考勤列表

                    string Chr0 = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and PatrolLenErro=1").ToString();
                    Chr0 = (string.IsNullOrEmpty(Chr0) ? "0" : Chr0);
                    string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                    string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                    m.Count    = CHr;        //总
                    m.Count0   = Chr0;       //完成
                    m.Count1   = Chr1;       //未完成
                    m.CountPer = Chr2 + "%"; //完成率


                    result.Add(m);
                }
                dtOrg.Clear();
                dtOrg.Dispose();
            }
            dt.Clear();
            dt.Dispose();
            if (1 == 1)
            {
                getSabotageCount_Model m = new getSabotageCount_Model();
                m.ORGName = "合计";
                string LineCount = result.Sum(item => Convert.ToDecimal(item.Count)).ToString();
                string Count0    = result.Sum(item => Convert.ToDecimal(item.Count0)).ToString();
                string Count1    = result.Sum(item => Convert.ToDecimal(item.Count1)).ToString();
                m.Count    = LineCount;
                m.Count0   = Count0;
                m.Count1   = Count1;
                m.CountPer = ClsStr.getPercent(m.Count0, m.Count).ToString("F0") + "%";

                int[] arrI = new int[days];
                foreach (var v in result)
                {
                    string[] a = v.DayCountList.Split(',');//组合列表
                    for (int i = 0; i < days; i++)
                    {
                        if (string.IsNullOrEmpty(arrI[i].ToString()))
                        {
                            arrI[i] = 0;
                        }
                        arrI[i] += int.Parse(a[i]);
                    }
                }
                string cList = "";
                for (int i = 0; i < days; i++)
                {
                    if (string.IsNullOrEmpty(cList) == false)
                    {
                        cList += ",";
                    }
                    cList += arrI[i];
                }
                m.DayCountList = cList;


                result.Insert(0, m);
            }
            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 考勤统计 Model
        /// </summary>
        /// <param name="sw">参见HUCheckINCount_SW</param>
        /// <returns>参见HUCheck_CheckInCount_Model</returns>getOutRaiLCountModel
        public static IEnumerable <OutRaiLCount_Model> getOutRaiLCountModel(OutRaiLCount_SW sw)
        {
            var result = new List <OutRaiLCount_Model>();

            if (string.IsNullOrEmpty(sw.DateBegin))//开始时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.DateEnd))//结束时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.TopORGNO))//组织机构编码
            {
                return(result);
            }

            DateTime dt1  = Convert.ToDateTime(sw.DateBegin);
            DateTime dt2  = Convert.ToDateTime(sw.DateEnd);
            int      days = ClsStr.getDateDiff(sw.DateBegin, sw.DateEnd) + 1;//日期包含天数

            DataTable dt = BaseDT.T_IPSFR_ROUTERAIL_RAIL.getDTByOrgNoToDate(new OutRaiLCount_SW {
                DateBegin = sw.DateBegin, DateEnd = sw.DateEnd, TopORGNO = sw.TopORGNO
            });

            DataTable dtHU = BaseDT.T_IPSFR_USER.getDTByOrgSum(new T_IPSFR_USER_SW {
                BYORGNO = sw.TopORGNO, ISENABLE = "1"
            });

            if (PublicCls.OrgIsZhen(sw.TopORGNO) == false) //市、县处理
            {                                              //只获取该市下面的县 县下面的乡
                T_SYS_ORGSW swOrg = new T_SYS_ORGSW();
                swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
                swOrg.TopORGNO = sw.TopORGNO;

                if (PublicCls.OrgIsShi(sw.TopORGNO))
                {
                    swOrg.GetContyORGNOByCity = sw.TopORGNO;//获取所有县
                }
                if (PublicCls.OrgIsXian(sw.TopORGNO))
                {
                    swOrg.GetXZOrgNOByConty = sw.TopORGNO;//获取所有镇
                }
                DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);
                DataRow[] drOrg = dtOrg.Select("", "ORGNO");//取所有

                for (int i = 0; i < drOrg.Length; i++)
                {
                    OutRaiLCount_Model m = new OutRaiLCount_Model();


                    m.ORGName = drOrg[i]["ORGNAME"].ToString();
                    m.ORGNo   = drOrg[i]["ORGNO"].ToString();
                    string CHr = dt.Compute("sum(C)", "BYORGNO=" + m.ORGNo).ToString();//计算该单位下总数
                    CHr     = (string.IsNullOrEmpty(CHr) ? "0" : CHr);
                    m.Count = CHr;
                    string cList = "";
                    for (DateTime tm = dt1; tm <= dt2; tm = tm.AddDays(1))
                    {
                        string tm1 = PublicClassLibrary.ClsSwitch.SwitDate(tm).ToString();
                        if (string.IsNullOrEmpty(cList) == false)
                        {
                            cList += ",";
                        }
                        string tmp = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and SBDATE='" + tm1 + "'").ToString(); //计算该日期下数量
                        cList += (string.IsNullOrEmpty(tmp) ? "0" : tmp);                                                   //各日期以逗号分隔
                    }
                    m.DayCountList = cList;                                                                                 //日期考勤列表

                    result.Add(m);
                }
                dtOrg.Clear();
                dtOrg.Dispose();
            }
            else//显示乡的,乡的列出各个护林员
            {
                DataRow[] drOrg = dtHU.Select("", "");//取所有

                for (int i = 0; i < drOrg.Length; i++)
                {
                    OutRaiLCount_Model m = new OutRaiLCount_Model();


                    m.ORGName = drOrg[i]["hname"].ToString();
                    m.ORGNo   = drOrg[i]["hid"].ToString();
                    string CHr = dt.Compute("sum(C)", "BYORGNO=" + m.ORGNo).ToString();//计算该单位下总数
                    CHr     = (string.IsNullOrEmpty(CHr) ? "0" : CHr);
                    m.Count = CHr;

                    string cList = "";
                    for (DateTime tm = dt1; tm <= dt2; tm = tm.AddDays(1))
                    {
                        if (string.IsNullOrEmpty(cList) == false)
                        {
                            cList += ",";
                        }
                        string tmp = dt.Compute("sum(C)", "BYORGNO='" + m.ORGNo + "' and SBDATE='" + PublicClassLibrary.ClsSwitch.SwitDate(tm).ToString() + "'").ToString(); //计算该日期下人数
                        cList += (string.IsNullOrEmpty(tmp) ? "0" : tmp);                                                                                                    //各日期以逗号分隔
                    }
                    m.DayCountList = cList;                                                                                                                                  //日期列表
                    result.Add(m);
                }
            }
            dtHU.Clear();
            dtHU.Dispose();

            dt.Clear();
            dt.Dispose();

            if (1 == 1)
            {
                OutRaiLCount_Model m = new OutRaiLCount_Model();
                m.ORGName = "合计";
                string CHr = result.Sum(item => Convert.ToDecimal(item.Count)).ToString();//总数//计算该单位下总数
                CHr     = (string.IsNullOrEmpty(CHr) ? "0" : CHr);
                m.Count = CHr;
                int[] arrI = new int[days];
                foreach (var v in result)
                {
                    string[] a = v.DayCountList.Split(',');//组合列表
                    for (int i = 0; i < days; i++)
                    {
                        if (string.IsNullOrEmpty(arrI[i].ToString()))
                        {
                            arrI[i] = 0;
                        }
                        arrI[i] += int.Parse(a[i]);
                    }
                }
                string cList = "";
                for (int i = 0; i < days; i++)
                {
                    if (string.IsNullOrEmpty(cList) == false)
                    {
                        cList += ",";
                    }
                    cList += arrI[i];
                }
                m.DayCountList = cList;
                result.Insert(0, m);
            }

            return(result);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 采集数据统计
        /// </summary>
        /// <param name="sw">参见模型  sw.TopORGNO 顶级单位编码 sw.DateBegin 开始日期 年月日 sw.DateEnd 结束日期 年月日</param>
        /// <param name="typeModel">参见模型</param>
        /// <returns>参见模型</returns>
        public static IEnumerable <T_IPSCOL_COLLECT_OrgCountModel> getModelCount(T_IPSCOL_COLLECT_SW sw, out IEnumerable <T_IPSCOL_COLLECT_TypeCountModel> typeModel)
        {
            var result = new List <T_IPSCOL_COLLECT_OrgCountModel>();
            //获取采集信息
            DataTable dt = BaseDT.T_IPSCOL_COLLECT.getDTByOrgHUse(sw);
            //获取单位

            T_SYS_ORGSW swOrg = new T_SYS_ORGSW();

            swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
            swOrg.TopORGNO = sw.TopORGNO;

            if (PublicCls.OrgIsShi(sw.TopORGNO))
            {
                swOrg.GetContyORGNOByCity = sw.TopORGNO;//获取所有县
            }
            if (PublicCls.OrgIsXian(sw.TopORGNO))
            {
                swOrg.GetXZOrgNOByConty = sw.TopORGNO;//获取所有镇
            }
            DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);
            //采集类别
            DataTable dtReportType = BaseDT.T_SYS_DICT.getDT(new T_SYS_DICTSW {
                DICTTYPEID = "4"
            });                                                                                     //采集类别
            //out 类别
            var resultReportType = new List <T_IPSCOL_COLLECT_TypeCountModel>();

            for (int i = 0; i < dtReportType.Rows.Count; i++)
            {
                T_IPSCOL_COLLECT_TypeCountModel m = new T_IPSCOL_COLLECT_TypeCountModel();
                m.typeName = dtReportType.Rows[i]["DICTNAME"].ToString();
                resultReportType.Add(m);
            }
            typeModel = resultReportType;
            if (1 == 1)
            {
                T_IPSCOL_COLLECT_OrgCountModel m = new T_IPSCOL_COLLECT_OrgCountModel();

                m.HName        = BaseDT.T_SYS_ORG.getName(sw.TopORGNO) + "合计";
                m.ORGName      = m.HName;
                m.CollectCount = BaseDT.T_IPSRPT_REPORT.getCountByOrgHUse(dt, sw.TopORGNO, "");//总数
                var typeResult = new List <T_IPSCOL_COLLECT_TypeCountModel>();
                //循环类别
                for (int k = 0; k < dtReportType.Rows.Count; k++)
                {
                    T_IPSCOL_COLLECT_TypeCountModel mm = new T_IPSCOL_COLLECT_TypeCountModel();
                    mm.typeID    = dtReportType.Rows[k]["DICTVALUE"].ToString();
                    mm.typeName  = dtReportType.Rows[k]["DICTNAME"].ToString();
                    mm.typeCount = BaseDT.T_IPSRPT_REPORT.getCountByOrgHUse(dt, sw.TopORGNO, mm.typeID);//分类别统计
                    typeResult.Add(mm);
                }
                m.TypeCountModel = typeResult;
                result.Add(m);
            }

            if (PublicCls.OrgIsZhen(sw.TopORGNO) == false)
            {
                //循环单位
                for (int i = 0; i < dtOrg.Rows.Count; i++)
                {
                    T_IPSCOL_COLLECT_OrgCountModel m = new T_IPSCOL_COLLECT_OrgCountModel();
                    m.ORGName = dtOrg.Rows[i]["ORGNAME"].ToString();
                    m.ORGNo   = dtOrg.Rows[i]["ORGNO"].ToString();
                    //m.HID = dt.Rows[i]["HID"].ToString();
                    m.CollectCount = BaseDT.T_IPSCOL_COLLECT.getCountByOrgHUse(dt, m.ORGNo, "");//总数
                    var typeResult = new List <T_IPSCOL_COLLECT_TypeCountModel>();
                    //循环类别
                    for (int k = 0; k < dtReportType.Rows.Count; k++)
                    {
                        T_IPSCOL_COLLECT_TypeCountModel mm = new T_IPSCOL_COLLECT_TypeCountModel();
                        mm.typeID    = dtReportType.Rows[k]["DICTVALUE"].ToString();
                        mm.typeName  = dtReportType.Rows[k]["DICTNAME"].ToString();
                        mm.typeCount = BaseDT.T_IPSCOL_COLLECT.getCountByOrgHUse(dt, m.ORGNo, mm.typeID);//分类别统计
                        typeResult.Add(mm);
                    }
                    m.TypeCountModel = typeResult;
                    result.Add(m);
                }
            }
            else//if (PublicCls.OrgIsZhen(sw.TopORGNO))//如果查询的单位为镇,显示所有护林员的统计信息
            {
                DataTable dtHUser = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW
                {
                    BYORGNO = sw.TopORGNO
                });
                for (int i = 0; i < dtHUser.Rows.Count; i++)
                {
                    T_IPSCOL_COLLECT_OrgCountModel m = new T_IPSCOL_COLLECT_OrgCountModel();
                    m.HID   = dtHUser.Rows[i]["HID"].ToString();
                    m.HName = dtHUser.Rows[i]["HNAME"].ToString();

                    m.CollectCount = BaseDT.T_IPSCOL_COLLECT.getCountByHID(dt, m.HID, "");//总数
                    var typeResult = new List <T_IPSCOL_COLLECT_TypeCountModel>();
                    //循环类别
                    for (int k = 0; k < dtReportType.Rows.Count; k++)
                    {
                        T_IPSCOL_COLLECT_TypeCountModel mm = new T_IPSCOL_COLLECT_TypeCountModel();
                        mm.typeID    = dtReportType.Rows[k]["DICTVALUE"].ToString();
                        mm.typeName  = dtReportType.Rows[k]["DICTNAME"].ToString();
                        mm.typeCount = BaseDT.T_IPSCOL_COLLECT.getCountByHID(dt, m.HID, mm.typeID);//分类别统计
                        typeResult.Add(mm);
                    }
                    m.TypeCountModel = typeResult;
                    result.Add(m);
                }
                dtHUser.Clear();
                dtHUser.Dispose();
            }
            dt.Clear();
            dt.Dispose();
            dtOrg.Clear();
            dtOrg.Dispose();
            dtReportType.Clear();
            dtReportType.Dispose();
            return(result);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 巡检路线明细表
        /// </summary>
        /// <param name="sw">参见PatrolRouteStat_SW</param>
        /// <returns>参见HUReport_PatrolRouteDetail_Model</returns>
        public static IEnumerable <HUReport_PatrolRouteDetail_Model> getPatrolRouteDetailModel(PatrolRouteStat_SW sw)
        {
            var result = new List <HUReport_PatrolRouteDetail_Model>();

            if (string.IsNullOrEmpty(sw.DateBegin))//开始时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.DateEnd))//结束时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.orgNo))//组织机构编码
            {
                return(result);
            }

            T_SYS_ORGSW swOrg = new T_SYS_ORGSW();

            swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
            swOrg.TopORGNO = sw.TopORGNO;

            if (PublicCls.OrgIsShi(sw.TopORGNO))
            {
                swOrg.GetContyORGNOByCity = sw.TopORGNO;//获取所有县
            }
            if (PublicCls.OrgIsXian(sw.TopORGNO))
            {
                swOrg.GetXZOrgNOByConty = sw.TopORGNO;//获取所有镇
            }
            DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);
            //DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(new T_SYS_ORGSW { SYSFLAG = ConfigCls.getSystemFlag() });
            DataTable dtHU = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW {
                ISENABLE = "1", PhoneHname = sw.PhoneHname, BYORGNO = sw.orgNo
            });
            //获取护林员每日巡检信息
            DataTable dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getHRAndRealDataDT(new T_IPS_REALDATATEMPORARYSW {
                DateBegin = sw.DateBegin, DateEnd = sw.DateEnd, ORGNO = sw.orgNo, PhoneHname = sw.PhoneHname
            });
            //获取具体巡检情况
            DataTable dtPatrol = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getDT(new T_IPSFR_ROUTERAIL_PATROL_SW {
                DateBegin = sw.DateBegin, DateEnd = sw.DateEnd
            });

            int days = ClsStr.getDateDiff(sw.DateBegin, sw.DateEnd) + 1; //日期包含天数

            for (int i = 0; i < dtHU.Rows.Count; i++)                    //获取每个护林员
            {
                string orgNo   = dtHU.Rows[i]["BYORGNO"].ToString();
                string HID     = dtHU.Rows[i]["HID"].ToString();
                string orgName = BaseDT.T_SYS_ORG.getName(dtOrg, orgNo);
                HUReport_PatrolRouteDetail_Model m = new HUReport_PatrolRouteDetail_Model();
                m.ORGName = orgName;
                m.ORGNo   = orgNo;
                m.HNAME   = dtHU.Rows[i]["HNAME"].ToString();
                m.PHONE   = dtHU.Rows[i]["PHONE"].ToString();
                string CHr = "1";//每天一条路线
                if (CHr != "0")
                {
                    CHr = (int.Parse(CHr) * days).ToString();
                    string Chr0 = BaseDT.T_IPS_REALDATATEMPORARY.getCountByHID(dtHRRealData, HID).ToString();
                    string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                    string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                    m.LineCount  = CHr;        //总
                    m.LineCount0 = Chr0;       //完成
                    m.LineCount1 = Chr1;       //未完成
                    m.LineCount2 = Chr2 + "%"; //完成率
                }
                //巡检与漏检
                string CCHr = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getCountByHID(dtPatrol, HID, "").ToString();
                if (CCHr != "0")
                {
                    // CCHr = (int.Parse(CCHr) * days).ToString();
                    string Chr0 = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getCountByHID(dtPatrol, HID, "1").ToString();
                    string Chr1 = ClsStr.getDiff(CCHr, Chr0).ToString("F0");
                    string Chr2 = ClsStr.getPercent(Chr0, CCHr).ToString("F0");
                    m.PointCount  = CCHr;       //总
                    m.PointCount0 = Chr0;       //完成
                    m.PointCount1 = Chr1;       //未完成
                    m.PointCount2 = Chr2 + "%"; //完成率
                }
                result.Add(m);
            }
            dtHU.Clear();
            dtHU.Dispose();
            dtHRRealData.Clear();
            dtHRRealData.Dispose();
            dtPatrol.Clear();
            dtPatrol.Dispose();
            dtOrg.Clear();
            dtOrg.Dispose();
            return(result);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 巡检路线统计总表
        /// </summary>
        /// <param name="sw">参见PatrolRouteStat_SW</param>
        /// <returns>参见HUReport_PatrolRouteStat_Model</returns>
        public static IEnumerable <HUReport_PatrolRouteStat_Model> getPatrolRouteStatModel(PatrolRouteStat_SW sw)
        {
            var result = new List <HUReport_PatrolRouteStat_Model>();

            if (string.IsNullOrEmpty(sw.DateBegin))//开始时间为空
            {
                return(result);
            }
            if (string.IsNullOrEmpty(sw.DateEnd))//结束时间为空
            {
                return(result);
            }

            //DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(new T_SYS_ORGSW { SYSFLAG = ConfigCls.getSystemFlag(), TopORGNO=sw.orgNo });
            //获取护林员每日巡检信息
            //DataTable dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getHRAndRealDataDT(new T_IPS_REALDATATEMPORARYSW { DateBegin = sw.DateBegin, DateEnd = sw.DateEnd });
            //获取具体巡检情况
            //DataTable dtPatrol = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getDT(new T_IPSFR_ROUTERAIL_PATROL_SW { DateBegin = sw.DateBegin, DateEnd = sw.DateEnd });
            // DataTable dtHRRealData = new DataTable();
            //DataTable dtPatrol = new DataTable();
            DataTable dtHU         = new DataTable();
            DataTable dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getDTByOrgNo(sw);

            //DataTable dtPatrol = BaseDT.T_IPS_REALDATATEMPORARY.getPATROLCOUNTDTByOrgNo(sw);//获取巡检信息 含未检和已检
            if (PublicCls.OrgIsShi(sw.TopORGNO))
            {
                //dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getDTShi(sw);
                //dtPatrol = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getDTShi(sw);//获取巡检信息 含未检和已检
                dtHU = BaseDT.T_IPSFR_USER.getDTShi(new T_IPSFR_USER_SW {
                });
            }
            else if (PublicCls.OrgIsXian(sw.TopORGNO))
            {
                //dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getDTXain(sw);
                //dtPatrol = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getDTXain(sw);//获取巡检信息 含未检和已检
                dtHU = BaseDT.T_IPSFR_USER.getDTXain(new T_IPSFR_USER_SW {
                    BYORGNO = sw.TopORGNO
                });
            }
            else
            {
                //dtHRRealData = BaseDT.T_IPS_REALDATATEMPORARY.getDTZhen(sw);
                //dtPatrol = BaseDT.T_IPSFR_ROUTERAIL_PATROL.getDTZhen(sw);//获取巡检信息 含未检和已检
                dtHU = BaseDT.T_IPSFR_USER.getDT(new T_IPSFR_USER_SW {
                    ISENABLE = "1", BYORGNO = sw.TopORGNO
                });
            }

            int days = ClsStr.getDateDiff(sw.DateBegin, sw.DateEnd) + 1;//日期包含天数

            if (PublicCls.OrgIsZhen(sw.TopORGNO))
            {
                DataRow[] drOrg = dtHU.Select("", "");
                for (int i = 0; i < drOrg.Length; i++)
                {
                    HUReport_PatrolRouteStat_Model m = new HUReport_PatrolRouteStat_Model();
                    m.ORGName = drOrg[i]["HNAME"].ToString();
                    m.ORGNo   = drOrg[i]["HID"].ToString();



                    string CHr = "";// BaseDT.T_IPSFR_USER.getCountByOrgNo(dtHU, m.ORGNo).ToString();
                    if (CHr != "0")
                    {
                        CHr = days.ToString();
                        string Chr0 = BaseDT.T_IPS_REALDATATEMPORARY.getDTByOrgNoSum(dtHRRealData, m.ORGNo).ToString();
                        string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                        string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                        m.LineCount  = CHr;        //总
                        m.LineCount0 = Chr0;       //完成
                        m.LineCount1 = Chr1;       //未完成
                        m.LineCount2 = Chr2 + "%"; //完成率
                    }

                    //巡检与漏检
                    string CCHr = dtHRRealData.Compute("sum(C1)", "BYORGNO='" + m.ORGNo + "'").ToString();
                    CCHr = (string.IsNullOrEmpty(CCHr) ? "0" : CCHr);
                    if (CCHr != "0")
                    {
                        string Chr0 = dtHRRealData.Compute("sum(C2)", "BYORGNO='" + m.ORGNo + "'").ToString(); // BaseDT.T_IPSFR_ROUTERAIL_PATROL.getSumByOrgNo(dtPatrol, m.ORGNo, "1");
                        Chr0 = (string.IsNullOrEmpty(Chr0) ? "0" : Chr0);
                        string Chr1 = dtHRRealData.Compute("sum(C3)", "BYORGNO='" + m.ORGNo + "'").ToString(); // BaseDT.T_IPSFR_ROUTERAIL_PATROL.getSumByOrgNo(dtPatrol, m.ORGNo, "0");
                        Chr1 = (string.IsNullOrEmpty(Chr1) ? "0" : Chr1);
                        string Chr2 = ClsStr.getPercent(Chr0, CCHr).ToString("F0");
                        m.PointCount  = CCHr;
                        m.PointCount0 = Chr0;
                        m.PointCount1 = Chr1;
                        m.PointCount2 = Chr2 + "%";
                    }

                    result.Add(m);
                }
                dtHU.Clear();
                dtHU.Dispose();
            }
            else
            {
                T_SYS_ORGSW swOrg = new T_SYS_ORGSW();
                swOrg.SYSFLAG  = ConfigCls.getSystemFlag();
                swOrg.TopORGNO = sw.TopORGNO;

                if (PublicCls.OrgIsShi(sw.TopORGNO))
                {
                    swOrg.GetContyORGNOByCity = sw.TopORGNO;//获取所有县
                }
                if (PublicCls.OrgIsXian(sw.TopORGNO))
                {
                    swOrg.GetXZOrgNOByConty = sw.TopORGNO;//获取所有镇
                }
                DataTable dtOrg = BaseDT.T_SYS_ORG.getDT(swOrg);

                DataRow[] drOrg = dtOrg.Select("", "ORGNO");//取所有
                for (int i = 0; i < drOrg.Length; i++)
                {
                    // string orgName = drOrg[i]["ORGNAME"].ToString();
                    //string orgNo = drOrg[i]["ORGNO"].ToString();

                    HUReport_PatrolRouteStat_Model m = new HUReport_PatrolRouteStat_Model();
                    m.ORGName = drOrg[i]["ORGNAME"].ToString();
                    m.ORGNo   = drOrg[i]["ORGNO"].ToString();



                    string CHr = BaseDT.T_IPSFR_USER.getSumByOrgNo(dtHU, m.ORGNo);//各单位护林员个数
                    if (CHr != "0")
                    {
                        CHr = (int.Parse(CHr) * days).ToString();
                        string Chr0 = BaseDT.T_IPS_REALDATATEMPORARY.getDTByOrgNoSum(dtHRRealData, m.ORGNo).ToString();
                        string Chr1 = ClsStr.getDiff(CHr, Chr0).ToString("F0");
                        string Chr2 = ClsStr.getPercent(Chr0, CHr).ToString("F0");
                        m.LineCount  = CHr;        //总
                        m.LineCount0 = Chr0;       //完成
                        m.LineCount1 = Chr1;       //未完成
                        m.LineCount2 = Chr2 + "%"; //完成率
                    }
                    //巡检与漏检

                    //巡检与漏检
                    string CCHr = dtHRRealData.Compute("sum(C1)", "BYORGNO='" + m.ORGNo + "'").ToString();
                    CCHr = (string.IsNullOrEmpty(CCHr) ? "0" : CCHr);
                    if (CCHr != "0")
                    {
                        string Chr0 = dtHRRealData.Compute("sum(C2)", "BYORGNO='" + m.ORGNo + "'").ToString(); // BaseDT.T_IPSFR_ROUTERAIL_PATROL.getSumByOrgNo(dtPatrol, m.ORGNo, "1");
                        Chr0 = (string.IsNullOrEmpty(Chr0) ? "0" : Chr0);
                        string Chr1 = dtHRRealData.Compute("sum(C3)", "BYORGNO='" + m.ORGNo + "'").ToString(); // BaseDT.T_IPSFR_ROUTERAIL_PATROL.getSumByOrgNo(dtPatrol, m.ORGNo, "0");
                        Chr1 = (string.IsNullOrEmpty(Chr1) ? "0" : Chr1);
                        string Chr2 = ClsStr.getPercent(Chr0, CCHr).ToString("F0");
                        m.PointCount  = CCHr;
                        m.PointCount0 = Chr0;
                        m.PointCount1 = Chr1;
                        m.PointCount2 = Chr2 + "%";
                    }

                    result.Add(m);
                }
                dtOrg.Clear();
                dtOrg.Dispose();
            }
            //dtPatrol.Clear();
            //dtPatrol.Dispose();
            dtHRRealData.Clear();
            dtHRRealData.Dispose();
            if (1 == 1)
            {
                HUReport_PatrolRouteStat_Model m = new HUReport_PatrolRouteStat_Model();
                m.ORGName = "合计";
                string LineCount   = result.Sum(item => Convert.ToDecimal(item.LineCount)).ToString();
                string LineCount0  = result.Sum(item => Convert.ToDecimal(item.LineCount0)).ToString();
                string PointCount  = result.Sum(item => Convert.ToDecimal(item.PointCount)).ToString();
                string PointCount0 = result.Sum(item => Convert.ToDecimal(item.PointCount0)).ToString();
                m.LineCount   = LineCount;
                m.LineCount0  = LineCount0;
                m.LineCount1  = result.Sum(item => Convert.ToDecimal(item.LineCount1)).ToString();
                m.LineCount2  = ClsStr.getPercent(LineCount0, LineCount).ToString("F0") + "%";
                m.PointCount  = PointCount;
                m.PointCount0 = PointCount0;
                m.PointCount1 = result.Sum(item => Convert.ToDecimal(item.PointCount1)).ToString();
                m.PointCount2 = ClsStr.getPercent(PointCount0, PointCount).ToString("F0") + "%";
                result.Insert(0, m);
            }
            return(result);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>参见模型</returns>
        public static DataTable getDT(T_SYS_ORGSW sw)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("SELECT    ORGNO, ORGNAME, ORGDUTY, LEADER, AREACODE, ORGJC,SYSFLAG,JD, WD,COMMANDNAME,WEATHERJC,POSTCODE,DUTYTELL,FAX,MOBILEPARAMLIST,WXJC,ADDRESS");
            sb.AppendFormat(" FROM      T_SYS_ORG");
            sb.AppendFormat(" WHERE   1=1");
            if (string.IsNullOrEmpty(sw.SYSFLAG) == false)
            {
                sb.AppendFormat(" AND SYSFLAG = '{0}'", sw.SYSFLAG);
            }
            if (string.IsNullOrEmpty(sw.ORGNO) == false)
            {
                sb.AppendFormat(" AND ORGNO = '{0}'", ClsSql.EncodeSql(sw.ORGNO));
            }
            if (string.IsNullOrEmpty(sw.AREACODE) == false)
            {
                sb.AppendFormat(" AND AREACODE='{0}'", ClsSql.EncodeSql(sw.AREACODE));
            }
            if (string.IsNullOrEmpty(sw.ORGNAME) == false)
            {
                sb.AppendFormat(" AND ORGNAME like '%{0}%'", ClsSql.EncodeSql(sw.ORGNAME));
            }
            if (string.IsNullOrEmpty(sw.TopORGNO) == false)
            {
                if (sw.TopORGNO.Substring(4, 11) == "00000000000")//获取所有市的
                {
                    sb.AppendFormat(" AND SUBSTRING(ORGNO,1,4) = '{0}'", ClsSql.EncodeSql(sw.TopORGNO.Substring(0, 4)));
                }
                else if (sw.TopORGNO.Substring(6, 9) == "000000000")//获取所有县的
                {
                    sb.AppendFormat(" AND SUBSTRING(ORGNO,1,6) = '{0}'", ClsSql.EncodeSql(sw.TopORGNO.Substring(0, 6)));
                }
                else if (sw.TopORGNO.Substring(9, 6) == "000000")//获取所有乡镇的
                {
                    sb.AppendFormat(" AND SUBSTRING(ORGNO,1,9) = '{0}'", ClsSql.EncodeSql(sw.TopORGNO.Substring(0, 9)));
                }
                else
                {
                    sb.AppendFormat(" AND ORGNO = '{0}'", ClsSql.EncodeSql(sw.TopORGNO));
                }
            }
            if (string.IsNullOrEmpty(sw.TopSXORGNO) == false)
            {
                if (sw.TopSXORGNO.Substring(4, 11) == "00000000000")//获取所有市下面的县
                {
                    sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,4)='{0}' and SUBSTRING(ORGNO,5,2)<>'00' and SUBSTRING(ORGNO,7,3) = '000')", ClsSql.EncodeSql(sw.TopSXORGNO.Substring(0, 4)));
                }
                else
                {
                    sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,6)='{0}' and SUBSTRING(ORGNO,7,3) = '000')", ClsSql.EncodeSql(sw.TopSXORGNO.Substring(0, 6)));
                }
            }
            if (string.IsNullOrEmpty(sw.TopEchartORGNO) == false)
            {
                if (sw.TopEchartORGNO.Substring(4, 11) == "00000000000")//获取所有市下面的县以及市
                {
                    sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,4)='{0}' and SUBSTRING(ORGNO,7,3) = '000')", ClsSql.EncodeSql(sw.TopEchartORGNO.Substring(0, 4)));
                }
                else if (sw.TopEchartORGNO.Substring(6, 9) == "000000000")//获取县以及县下面的镇
                {
                    sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,6)='{0}')", ClsSql.EncodeSql(sw.TopEchartORGNO.Substring(0, 6)));
                }
                else if (sw.TopEchartORGNO.Substring(9, 6) == "000000")//获取所有乡镇的
                {
                    sb.AppendFormat(" AND SUBSTRING(ORGNO,1,9) = '{0}'", ClsSql.EncodeSql(sw.TopEchartORGNO.Substring(0, 9)));
                }
                else
                {
                    sb.AppendFormat(" AND ORGNO='{0}'", ClsSql.EncodeSql(sw.TopEchartORGNO));
                }
            }
            if (!string.IsNullOrEmpty(sw.GetContyORGNOByCity))//市获取所有县
            {
                sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,4)='{0}' and SUBSTRING(ORGNO,5,2)<>'00' and SUBSTRING(ORGNO,7,9) = '000000000')", ClsSql.EncodeSql(sw.GetContyORGNOByCity.Substring(0, 4)));
            }
            if (!string.IsNullOrEmpty(sw.GetXZOrgNOByConty)) //县获取所有乡镇
            {
                sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,6)='{0}' and SUBSTRING(ORGNO,7,9) != '000000000')", ClsSql.EncodeSql(sw.GetXZOrgNOByConty.Substring(0, 6)));
            }
            if (string.IsNullOrEmpty(sw.OnlyGetShi) == false) //只获取市
            {
                sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,4)='{0}' and SUBSTRING(ORGNO,5,11) = '00000000000')", ClsSql.EncodeSql(sw.OnlyGetShi.Substring(0, 4)));
            }
            if (string.IsNullOrEmpty(sw.OnlyGetShiXian) == false) //只获取市、县
            {
                sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,4)='{0}' and SUBSTRING(ORGNO,7,9) = '000000000')", ClsSql.EncodeSql(sw.TopORGNO.Substring(0, 4)));
            }
            if (string.IsNullOrEmpty(sw.OnlyGetXianXZ) == false) //只获取县、乡镇
            {
                sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,6)='{0}' and SUBSTRING(ORGNO,10,15) = '000000')", ClsSql.EncodeSql(sw.TopORGNO.Substring(0, 6)));
            }
            if (string.IsNullOrEmpty(sw.OnlyGetXZCun) == false) //只获取乡镇、村
            {
                sb.AppendFormat(" AND (SUBSTRING(ORGNO,1,9)='{0}')", ClsSql.EncodeSql(sw.TopORGNO.Substring(0, 9)));
            }
            if (sw.IsEnableCUN == "1")
            {
            }
            else
            {
                sb.AppendFormat(" AND SUBSTRING(ORGNO,10,15) = '{0}'", "000000");
            }
            sb.AppendFormat(" ORDER BY ORGNO");
            DataSet ds = DataBaseClass.FullDataSet(sb.ToString());

            return(ds.Tables[0]);
        }