Exemple #1
0
        /// <summary>
        /// 根据煤场ID,开始点,结束点,批次ID查询范围内煤量及煤质
        /// </summary>
        /// <param name="storage"></param>
        /// <param name="startPoint"></param>
        /// <param name="endPoint"></param>
        /// <param name="batchID"></param>
        /// <returns></returns>
        public virtual STGSelectStorageData GetStorageData(string storageId, string startPoint, string endPoint)
        {
            String SQL = string.Format(@"
                        SELECT SUM(A.QTYHAVE) VALUE,
                        ROUND(CASE WHEN SUM(CASE WHEN QCAL>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(QCAL*A.QTYHAVE)/SUM(CASE WHEN QCAL>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) QCAL,
                        ROUND(CASE WHEN SUM(CASE WHEN QJ>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(QJ*A.QTYHAVE)/SUM(CASE WHEN QJ>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) QJ,
                        ROUND(CASE WHEN SUM(CASE WHEN MAR>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(MAR*A.QTYHAVE)/SUM(CASE WHEN MAR>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) MAR,
                        ROUND(CASE WHEN SUM(CASE WHEN MAD>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(MAD*A.QTYHAVE)/SUM(CASE WHEN MAD>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) MAD,
                        ROUND(CASE WHEN SUM(CASE WHEN VAR>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(VAR*A.QTYHAVE)/SUM(CASE WHEN VAR>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) VAR,
                        ROUND(CASE WHEN SUM(CASE WHEN VAD >0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(VAD *A.QTYHAVE)/SUM(CASE WHEN VAD >0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) VAD ,
                        ROUND(CASE WHEN SUM(CASE WHEN VD  >0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(VD  *A.QTYHAVE)/SUM(CASE WHEN VD  >0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) VD  ,
                        ROUND(CASE WHEN SUM(CASE WHEN VDAF>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(VDAF*A.QTYHAVE)/SUM(CASE WHEN VDAF>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) VDAF,
                        ROUND(CASE WHEN SUM(CASE WHEN STAR>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(STAR*A.QTYHAVE)/SUM(CASE WHEN STAR>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) STAR,
                        ROUND(CASE WHEN SUM(CASE WHEN STAD>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(STAD*A.QTYHAVE)/SUM(CASE WHEN STAD>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) STAD,
                        ROUND(CASE WHEN SUM(CASE WHEN STD >0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(STD *A.QTYHAVE)/SUM(CASE WHEN STD >0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) STD ,
                        ROUND(CASE WHEN SUM(CASE WHEN AAR>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(AAR*A.QTYHAVE)/SUM(CASE WHEN AAR>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) AAR,
                        ROUND(CASE WHEN SUM(CASE WHEN AAD>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(AAD*A.QTYHAVE)/SUM(CASE WHEN AAD>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) AAD,
                        ROUND(CASE WHEN SUM(CASE WHEN AD >0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(AD *A.QTYHAVE)/SUM(CASE WHEN AD >0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) AD ,
                        ROUND(CASE WHEN SUM(CASE WHEN ST>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(ST*A.QTYHAVE)/SUM(CASE WHEN ST>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) ST,
                        ROUND(CASE WHEN SUM(CASE WHEN fuelprice>0 THEN A.QTYHAVE ELSE 0 END)>0 THEN SUM(FUELPRICE*A.QTYHAVE)/SUM(CASE WHEN FUELPRICE>0 THEN A.QTYHAVE ELSE 0 END) ELSE 0 END,6) FUELPRICE,
                        MIN(A.STARTPOINT) STARTPOINT ,MAX(A.ENDPOINT) ENDPOINT 
                        FROM STGTBINMINQTY A 
                        LEFT JOIN STGTBALLINMIDDLE B ON A.INMIDDLEID = B.ID 
                        LEFT JOIN FULTBFUELQUALITY C ON B.FUELQUALITYID = C.ID 
                        WHERE A.FUELSTORAGEID ='{0}' AND A.STARTPOINT >= {1} AND A.ENDPOINT <= {2} AND A.QTYHAVE>0 ", storageId, startPoint, endPoint);

            DataTable dt = CommonDAO.GetInstance().SelfDber.ExecuteDataTable(SQL);
            IList <STGSelectStorageData> list = new List <STGSelectStorageData> ();

            foreach (DataRow dr in dt.Rows)
            {
                STGSelectStorageData model = new STGSelectStorageData();
                model.Qcal       = ToDecimal(dr["QCAL"], 0);
                model.Stad       = ToDecimal(dr["STAD"], 2);
                model.Vdaf       = ToDecimal(dr["VDAF"], 2);
                model.Value      = ToDecimal(dr["VALUE"], 2);
                model.StartPoint = Convert.ToDecimal(startPoint);
                model.EndPoint   = Convert.ToDecimal(endPoint);
                list.Add(model);
            }

            STGSelectStorageData entity = null;

            if (list != null && list.Count > 0)
            {
                entity = list.FirstOrDefault();
                if (entity.StartPoint == 0 && entity.EndPoint == 0)
                {
                    entity.StartPoint = Convert.ToDecimal(startPoint);
                    entity.EndPoint   = Convert.ToDecimal(endPoint);
                }
            }
            else
            {
                entity = new STGSelectStorageData();
            }
            return(entity);
        }
Exemple #2
0
        protected override bool Execute(string name, CefV8Value obj, CefV8Value[] arguments, out CefV8Value returnValue, out string exception)
        {
            exception   = null;
            returnValue = null;
            string paramSampler  = string.Empty;
            string paramSampler1 = string.Empty;
            string paramSampler2 = string.Empty;

            if (arguments.Length > 0)
            {
                paramSampler  = arguments[0].GetStringValue();
                paramSampler1 = arguments.Length > 1 ? arguments[1].GetStringValue() : "";
                paramSampler2 = arguments.Length > 2 ? arguments[2].GetStringValue() : "";
            }
            switch (name)
            {
            // 打开皮带采样机监控界面
            case "OpenTrainBeltSampler":
                CefProcessMessage OpenTrainBeltSampler = CefProcessMessage.Create("OpenTrainBeltSampler");
                int b = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    OpenTrainBeltSampler.Arguments.SetValue(b, model);
                    b++;
                }

                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, OpenTrainBeltSampler);
                break;

            // 打开皮带采样机监控界面
            case "OpenOutTrainBeltSampler":
                CefProcessMessage OpenOutBeltSampler = CefProcessMessage.Create("OpenOutTrainBeltSampler");
                int c = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    OpenOutBeltSampler.Arguments.SetValue(c, model);
                    c++;
                }

                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, OpenOutBeltSampler);
                break;

            //  打开火车机械采样机监控界面
            case "OpenTrainMachinerySampler":
                // CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTrainMachinerySampler"));
                break;

            // 打开全自动制样机监控
            case "OpenAutoMaker":
                CefProcessMessage OpenAutoMaker = CefProcessMessage.Create("OpenAutoMaker");
                int f = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    OpenAutoMaker.Arguments.SetValue(f, model);
                    f++;
                }

                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, OpenAutoMaker);
                break;

            //  打开火车入厂翻车机监控
            case "OpenTrainTipper":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTrainTipper"));
                break;

            //  打开火车入厂记录查询
            case "OpenWeightBridgeLoadToday":
                CefProcessMessage OpenWeightBridgeLoadToday = CefProcessMessage.Create("OpenWeightBridgeLoadToday");
                int d = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    OpenWeightBridgeLoadToday.Arguments.SetValue(d, model);
                    d++;
                }

                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, OpenWeightBridgeLoadToday);
                break;

            //  打开汽车入厂重车衡监控
            case "OpenTruckWeighter":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTruckWeighter"));
                break;

            //  打开汽车成品仓监控
            case "OpenTruckOrder":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenTruckOrder"));
                break;

            //  打开汽车机械采样机监控
            case "OpenTruckMachinerySampler":
                CefProcessMessage SamplerMessage = CefProcessMessage.Create("OpenTruckMachinerySampler");
                int a = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    SamplerMessage.Arguments.SetValue(a, model);
                    a++;
                }

                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, SamplerMessage);
                break;

            //  打开智能存样柜与气动传输监控
            case "OpenAutoCupboard":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenAutoCupboardPneumaticTransfer"));
                break;

            //  打开化验室监控
            case "OpenLaboratory":
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, CefProcessMessage.Create("OpenAssayManage"));
                break;

            case "OpenCarMonitor":
                CefProcessMessage OpenCarMonitor = CefProcessMessage.Create("OpenCarMonitor");
                int e = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    OpenCarMonitor.Arguments.SetValue(e, model);
                    e++;
                }
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, OpenCarMonitor);
                break;

            case "OpenPoundInfo":
                CefProcessMessage message = CefProcessMessage.Create("OpenPoundInfo");
                int i = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    message.Arguments.SetValue(i, model);
                    i++;
                }
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, message);
                break;

            case "GetHitchs":
                List <HitchsEntityTemp> Hitchslist = GetHitchsData(paramSampler);
                exception   = null;
                returnValue = CefV8Value.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(Hitchslist));
                break;

            // 成品仓信息
            case "getStorageInfo":
                List <StorageEntityTemp> list = getStorageInfoData(paramSampler);
                exception   = null;
                returnValue = CefV8Value.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(list));
                break;

            // 成品仓信息
            case "getStorageAreaInfo":
                string    sql = string.Format(@"select a.fuelstorageid,a.startpoint,a.endpoint from stgtbfuelstoragearea a where a.AREANAME = '{0}'", paramSampler);
                DataTable dt  = CommonDAO.GetInstance().SelfDber.ExecuteDataTable(sql);
                if (dt != null && dt.Rows.Count > 0)
                {
                    STGSelectStorageData StorageArea = GetStorageData(dt.Rows[0]["fuelstorageid"].ToString(),
                                                                      dt.Rows[0]["startpoint"].ToString(),
                                                                      dt.Rows[0]["endpoint"].ToString());
                    exception = null;
                    string sql1 = string.Format(@"select a.pointx,a.pointy,a.unitname,a.TEMPERATURE,a.polecode from stgtbstoragetemperature a where a.unitname = '{0}'", paramSampler);

                    DataTable dt1 = CommonDAO.GetInstance().SelfDber.ExecuteDataTable(sql1);

                    if (dt1 != null && dt1.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dt1.Rows)
                        {
                            StorageArea.TEMPERATURE += dr["polecode"].ToString() + "," + dr["TEMPERATURE"].ToString() + "|";
                        }
                    }
                    List <STGSelectStorageData> StorageDataList = new List <STGSelectStorageData>();
                    StorageDataList.Add(StorageArea);
                    returnValue = CefV8Value.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(StorageDataList));
                }
                break;

            case "getStorageStackInfo":
                STGSelectStorageData StorageArea1 = GetStorageData(paramSampler,
                                                                   paramSampler1,
                                                                   paramSampler2);
                exception = null;
                List <STGSelectStorageData> StorageDataList1 = new List <STGSelectStorageData>();
                StorageDataList1.Add(StorageArea1);
                returnValue = CefV8Value.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(StorageDataList1));
                break;

            case "GetStorageBox":
                List <StorageBoxTemp> Boxlist = GetStorageBoxData();
                exception   = null;
                returnValue = CefV8Value.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(Boxlist));
                break;

            case "OpenInOutInfo":
                CefProcessMessage messageDoorInfo = CefProcessMessage.Create("OpenInOutInfo");
                int j = 0;
                foreach (CefV8Value item in arguments)
                {
                    CefValue model = CefValue.Create();
                    model.SetString(item.GetStringValue());
                    messageDoorInfo.Arguments.SetValue(j, model);
                    j++;
                }
                CefV8Context.GetCurrentContext().GetBrowser().SendProcessMessage(CefProcessId.Browser, messageDoorInfo);
                break;

            default:
                returnValue = null;
                break;
            }

            return(true);
        }