Exemple #1
0
        private void Initialze()
        {
            //今天的实时数据
            if (Date.AddHours(32) > DateTime.Now)
            {
                WipQuerier = new ReqRpt002WipQuerier(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            }
            else
            {
                //查询历史数据
                WipQuerier = new ReqRpt002WipQuerier(Date.AddHours(32).ToString("yyyy-MM-dd HH:mm:ss"));
            }
            TdMoveQuerier   = new ReqRpt002MoveQuerier(Date.ToString("yyyy-MM-dd"));
            YstdMoveQuerier = new ReqRpt002MoveQuerier(Date.AddDays(-1).ToString("yyyy-MM-dd"));
            WaferOutQuerier = new ReqRpt002WaferOutQuerier(Date.ToString("yyyy-MM-dd"));

            foreach (var dept in ModuleDepartments)
            {
                var entity = new ReqRpt002DepartmentTableRowEntity();
                SetRowEntity(entity, dept);
                DeptTableModuleRowEntities.Add(entity);
            }
            foreach (var dept in TestDepartment)
            {
                var entity = new ReqRpt002DepartmentTableRowEntity();
                SetRowEntity(entity, dept);
                DeptTableTestRowEntities.Add(entity);
            }
            foreach (var dept in BankDepartment)
            {
                var entity = new ReqRpt002DepartmentTableRowEntity();
                SetRowEntity(entity, dept);
                DeptTableBankRowEntities.Add(entity);
            }
            //ModuleTotal
            ModuleTotal.Department = "Module Total";
            SetTotalEntity(ModuleTotal, DeptTableModuleRowEntities);
            //TestTotal
            TestTotal.Department = "Test Total";
            SetTotalEntity(TestTotal, DeptTableTestRowEntities);
            //BankTotal
            DeptTableBankRowEntities[0].Department = "Normal Bank";
            BankTotal.Department = "Bank Total";
            SetTotalEntity(BankTotal, DeptTableBankRowEntities);
            //FabTotal
            FabTotal.Department = "Fab Total";
            SetTotalEntity(FabTotal, DeptTableModuleRowEntities.Union(DeptTableTestRowEntities).Union(DeptTableBankRowEntities).ToList());
            GetCtData();
            SetDevValue();
            WaferOutEntities    = WaferOutQuerier.WaferOutEntities;
            WaferOutTotalEntity = WaferOutQuerier.WaferOutTotalEntity;
        }
Exemple #2
0
        private void Initialize()
        {
            string sql = string.Format(@"select lot_id,cur_wafer_qty,prev_pd_id pd_id,prev_pd_name pd_name,c.description department
from mmview.fhopehs hs
left join
istrpt.rpt_prod_flow fl
on hs.pd_id=fl.pd_id
left join mmview.frcode c
on c.category_id='Department'
and c.code_id=fl.department
where ope_category ='OperationComplete'
 and claim_time between '{0} 08:00:00' and '{1} 08:00:00'
 and lot_type='Production'", Date.ToString("yyyy-MM-dd"), Date.AddDays(1).ToString("yyyy-MM-dd"));

            MoveCatcher = new DB2DataCatcher <RPT_Move_ByDepartmentModel>("", sql);
            var list = MoveCatcher.GetEntities().EntityList;

            // if (!list.Any()) return;
            sql           = string.Format("select c.description department,m.target_value from    ISTRPT.RPT_Move_Target m left join mmview.frcode c on c.category_id='Department' and c.code_id=m.dept_code where m.plan_date ='{0}'", Date.ToString("yyyy-MM-dd"));
            TargetCatcher = new DB2DataCatcher <Rpt_Move_Target>("", sql);
            var list_target = TargetCatcher.GetEntities().EntityList;
            var list_dept   = new ReqRptCommonDeptQuerier().DeptList;
            var wipQuier1   = new ReqRpt002WipQuerier(Date.AddHours(8).ToString("yyyy-MM-dd HH:mm:ss"));
            var wipQuier2   = new ReqRpt002WipQuerier(Date.AddHours(20).ToString("yyyy-MM-dd HH:mm:ss"));
            var wipQuier3   = new ReqRpt002WipQuerier(Date.AddHours(32).ToString("yyyy-MM-dd HH:mm:ss"));

            foreach (var dept in list_dept)
            {
                var list_target_dept = list_target.Where(w => w.Department == dept.Description);
                var move             = new ReqRpt002MoveEntity();
                move.Department = dept.Description;
                move.MoveValue  = list.Where(w => w.Department == dept.Description).Sum(s => s.Cur_Wafer_Qty);
                move.MoveTarget = list_target_dept.Any() ? list_target_dept.First().Target_Value : 0;
                //判断查询时间是否为今天
                if (DateTime.Now.Date > Date.AddHours(8) && DateTime.Now.Date < Date.AddHours(32))
                {
                    var target = move.MoveTarget * (DateTime.Now - Date.AddHours(8)).TotalHours / 24;
                    move.Percentage = target == 0 ? -1 : move.MoveValue * 1.0 / target;
                }
                else
                {
                    move.Percentage = move.MoveTarget == 0 ? -1 : move.MoveValue * 1.0 / move.MoveTarget;
                }
                int    wip1 = GetWipOfDepartment(wipQuier1, dept.Description);
                int    wip2 = GetWipOfDepartment(wipQuier2, dept.Description);
                int    wip3 = GetWipOfDepartment(wipQuier3, dept.Description);
                double wip  = (wip1 + 2 * wip2 + wip3) / 4.0;
                move.AvaWip   = wip;
                move.TurnRate = wip == 0?-1: move.MoveValue / wip;
                MoveEntities.Add(move);
            }
        }
Exemple #3
0
        void Initialze()
        {
            WipQuerier = new ReqRpt002WipQuerier(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            TdMoveQuerier = new ReqRpt002MoveQuerier(DtNow.ToString("yyyy-MM-dd"));
            foreach (var dept in ModuleDepartments)
            {
                var entity = new ReqRpt002DepartmentTableRowEntity();
                SetRowEntity(entity, dept);
                DeptTableModuleRowEntities.Add(entity);
            }
            foreach (var dept in TestDepartment)
            {
                var entity = new ReqRpt002DepartmentTableRowEntity();
                SetRowEntity(entity, dept);
                DeptTableTestRowEntities.Add(entity);
            }
            foreach (var dept in BankDepartment)
            {
                var entity = new ReqRpt002DepartmentTableRowEntity();
                SetRowEntity(entity, dept);
                DeptTableBankRowEntities.Add(entity);
            }
            //ModuleTotal
            ModuleTotal.Department = "Module Total";
            SetTotalEntity(ModuleTotal, DeptTableModuleRowEntities);
            //TestTotal
            TestTotal.Department = "Test Total";
            SetTotalEntity(TestTotal, DeptTableTestRowEntities);
            //BankTotal
            DeptTableBankRowEntities[0].Department = "Normal Bank";
            BankTotal.Department = "Bank Total";
            SetTotalEntity(BankTotal, DeptTableBankRowEntities);
            //FabTotal
            FabTotal.Department = "Fab Total";
            SetTotalEntity(FabTotal, DeptTableModuleRowEntities.Union(DeptTableTestRowEntities).Union(DeptTableBankRowEntities).ToList());
            GetCtData();
            SetDevValue();
        }
Exemple #4
0
        private int GetWipOfDepartment(ReqRpt002WipQuerier wipQuerier, string dept)
        {
            var wip = wipQuerier.WipEntities.Where(w => w.Department == dept);

            return(wip.Any() ? wip.First().Wafers:0);
        }