Esempio n. 1
0
        //protected override void SetLines(Worksheet ws, string sSelItems, string sSelTypeIDs, long lGxID, int nStartYear, int nEndYear)
        //{
        //    ArrayList arrNames = new ArrayList(); ArrayList arrValues = new ArrayList(); ArrayList arrSigns = new ArrayList();
        //    arrNames.Add("bmk.DelFlag"); arrValues.Add(false); arrSigns.Add(SIGN.Equal);
        //    arrNames.Add("bmk.YearCode"); arrValues.Add(nStartYear); arrSigns.Add(SIGN.GreaterThanOrEqual);
        //    arrNames.Add("bmk.YearCode"); arrValues.Add(nEndYear); arrSigns.Add(SIGN.LessThanOrEqual);
        //    arrNames.Add("bmk.GxID"); arrValues.Add(lGxID); arrSigns.Add(SIGN.Equal);

        //    int nItemPos;
        //    int nRowNumX;
        //    int nRowNumY;
        //    ArrayList ItemKeys;
        //    ArrayList arrItems;
        //    SetLinesPre(ws, sSelItems, sSelTypeIDs,out nItemPos,out nRowNumX,out nRowNumY,out ItemKeys,out arrItems);

        //    var tempMan = new zykTableManage();
        //    _DFSSetLine(nItemPos, nRowNumX, nRowNumY, ws, ItemKeys, arrItems, arrNames, arrValues, arrSigns,tempMan);
        //}

        //protected override int _DFSSetLine(int nItemPos, int nRowNumX, int nRowNumY, Worksheet ws, ArrayList ItemKeys, ArrayList arrItems, ArrayList arrNames, ArrayList arrValues, ArrayList arrSigns, object tempMan)
        //{
        //    return _DFSSetLine1(nItemPos, nRowNumX, nRowNumY, ws, ItemKeys, arrItems, arrNames, arrValues, arrSigns, tempMan);
        //}

        protected override int _SetLineCore(int nItemPos, int nRowNumX, Worksheet ws, ArrayList ItemKeys, ArrayList arrItems, ArrayList arrNowNames, ArrayList arrNowValues, ArrayList arrNowSigns, int nRowNowNumY, long ReportTypeID)
        {
            zykTableManage zykMan = new zykTableManage();

            if (nItemPos == ItemKeys.Count - 1)
            {
                clsExcelApp.SetCellValue(ws, nRowNumX, 1, nRowNumX - 3); //序号
                Expression <Func <T_zyk, bool> > where = GetAndLambdaExpression <T_zyk>(arrNowNames, arrNowValues, arrNowSigns);
                List <T_zyk> listModels = zykMan.GetRecord(where);
                if (listModels.Count > 0)
                {
                    int count = 0;
                    for (int i = 0; i < listModels.Count; i++)
                    {
                        long lNowRelationID = listModels[i].RelationID1;
                        Expression <Func <T_zyk, bool> > where1 = (c => c.RelationID1 == lNowRelationID);
                        List <T_zyk> listNow = zykMan.GetRecord(where1).OrderBy(c => c.Zyxh).ToList();
                        if (listNow[0].ID == listModels[i].ID)
                        {
                            count++;
                        }
                    }
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, count); nRowNowNumY++;                  //第一志愿报考人数
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, listModels[0].jhk.Jhrs); nRowNowNumY++; //招生计划
                    string bili = string.Format("{0:P}", count * 1.0 / listModels[0].jhk.Jhrs);
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, bili);                                  //报考人数占招生计划比例
                }
                else
                {
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, 0); nRowNowNumY++; //第一志愿报考人数
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, 0); nRowNowNumY++; //招生计划
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, "无法计算");           //报考人数占招生计划比例
                }
                nRowNumX++;
                if (nItemPos == 0)
                {
                    nUnitRow1 = nRowNumX;
                }
                else if (nItemPos == 1)
                {
                    nUnitRow2 = nRowNumX;
                }
                else if (nItemPos == 2)
                {
                    nUnitRow3 = nRowNumX;
                }
            }
            else
            {
                nRowNumX = DFSSetLine(nItemPos + 1, nRowNumX, nRowNowNumY, ws, ItemKeys, arrItems, arrNowNames, arrNowValues, arrNowSigns, ReportTypeID);
            }

            UnitCellCore(nItemPos, nRowNumX, ws, ItemKeys);
            return(nRowNumX);
        }
Esempio n. 2
0
        protected override int _SetLineCore(int nItemPos, int nRowNumX, Worksheet ws, ArrayList ItemKeys, ArrayList arrItems, ArrayList arrNowNames, ArrayList arrNowValues, ArrayList arrNowSigns, int nRowNowNumY, long ReportTypeID)
        {
            zykTableManage zykMan = new zykTableManage();

            if (nItemPos == ItemKeys.Count - 2)
            {
                arrNowNames.Add("jhk.tddw.Pcdm"); arrNowValues.Add(0); arrNowSigns.Add(SIGN.Equal);
                clsExcelApp.SetCellValue(ws, nRowNumX, 1, nRowNumX - 3); //序号
                for (int i = 0; i < ((ArrayList)arrItems[arrItems.Count - 1]).Count; i++)
                {
                    arrNowValues[arrNowValues.Count - 1]   = ((ArrayList)arrItems[arrItems.Count - 1])[i];
                    Expression <Func <T_zyk, bool> > where = GetAndLambdaExpression <T_zyk>(arrNowNames, arrNowValues, arrNowSigns);
                    List <T_zyk> listModels = zykMan.GetRecord(where);
                    var          ssss       = listModels.Select(c => c.RelationID1).Distinct();
                    clsExcelApp.SetCellValue(ws, nRowNumX, nRowNowNumY, ssss.Count());  //录取人数
                    nRowNowNumY++;
                }
                nRowNumX++;
                if (nItemPos == 0)
                {
                    nUnitRow1 = nRowNumX;
                }
                else if (nItemPos == 1)
                {
                    nUnitRow2 = nRowNumX;
                }
                else if (nItemPos == 2)
                {
                    nUnitRow3 = nRowNumX;
                }
            }
            else
            {
                nRowNumX = DFSSetLine(nItemPos + 1, nRowNumX, nRowNowNumY, ws, ItemKeys, arrItems, arrNowNames, arrNowValues, arrNowSigns, ReportTypeID);
            }

            UnitCellCore(nItemPos, nRowNumX, ws, ItemKeys);
            return(nRowNumX);
        }