Обновите набор данных через определенное время и обновите метку + SQL - PullRequest
0 голосов
/ 29 мая 2018

Итак, у меня есть хранимая процедура, которая дает количество упакованных единиц в час. Поэтому, когда единица пропущена, это обновляется в моей таблице ... Мне нужно передать количество упакованных минут за минутой на этикетку ... Ипо истечении заданного периода метка должна обновиться до 0 ... Итак, часы с 6:00 до 14:00 - 14:00 - 22:00 - 22:00 - 18:00.

Я не уверен, как обновить этикетку с помощью моегохранимая процедура ..

Я думаю, что, возможно, мне нужно сделать расчет на моем сохраненном процессе?и вернуть это на мой лейбл?Я немного растерялся ...

https://ibb.co/jOEkfy

Снимок экрана - это мой сохраненный процесс ... Теперь мне нужно знать, как я могу обновить свой ярлык с этими результатами, а затемсбрасывается через 8 часов ... это мой код на C #.

защищенный void Page_Load (отправитель объекта, EventArgs e) {if (! IsPostBack) {Refreshdata (214, DateTime.Today, DateTime.Today.AddDays (1) .AddMinutes (-1));BindDropDownList ();

        }
    }

    private void BindDropDownList()
    {
        BizManager mgr = new BizManager();

        DataView dv = mgr.GetItemSeriesMaster().DefaultView; //how to filter data
        dv.RowFilter = ProductQueryFilter;
        Dropdownlist1.DataSource = dv;

        Dropdownlist1.DataTextField = "Description"; // the items to be displayed in the list items
        Dropdownlist1.DataValueField = "Id"; // the id of the items displayed
        Dropdownlist1.DataBind();

    }

    private string ProductQueryFilter
    {
        get { return ConfigurationManager.AppSettings["ProductQueryFilter"]; }
    }


    public void Refreshdata(int selectedProduct, DateTime shiftStart, DateTime shiftEnd)
    {
        BizManager biz = new BizManager();

        GridView1.DataSource = biz.GetPacktstatisticsForShift(
            shiftStart
            , shiftEnd
            , selectedProduct).DefaultView;
        GridView1.DataBind();
    }

    public void Dropdownlist1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DateTime shiftStart = DateTime.Today;
        DateTime shiftEnd = DateTime.Today.AddDays(1).AddMinutes(-1);
        int productId;
        if (int.TryParse(Dropdownlist1.SelectedValue, out productId))
            Refreshdata(productId, shiftStart, shiftEnd);
    }

Сохраненный процесс

ИСПОЛЬЗОВАНИЕ [Production] GO / ****** Объект: StoredProcedure [dbo]. [UspGetPackStatisticsPerShift] Дата сценария: 29/05 /2018 13:07:04 ****** / SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO

ALTER PROC [dbo]. [UspGetPackStatisticsPerShift]

@ShiftStart DateTime,
@ShiftEnd DateTime,
@SeriesMasterId int

AS

SET NOCOUNT ON;

--DECLARE @LogicalMachineId int
--DECLARE @WorkCellId int

--SELECT @LogicalMachineId = mr.LogicalMachineId, @WorkCellId = lm.WorkCellId
--FROM Shared.dbo.MachineRegistry mr
--INNER JOIN Shared.dbo.LogicalMachine lm on lm.Id = mr.LogicalMachineId and lm.Active=1
--WHERE mr.Active=1 AND mr.SystemId = 'Generic' AND mr.DnsName = @MachineName 


--if (@WorkCellId is null)
--BEGIN
--  RAISERROR('uspGetBuildStatisticsPerShift() Workstation not defined',15,1)
--  RETURN
--END


-- Now get the data

select  DateDiff(hour, @ShiftStart, psh.DtTmEnd) + 1  AS ShiftHour
    , ifsm.[Id] as FrameSizeMasterId
    , Count(ph.Id ) as TotalPacked
from Production.dbo.PackHistory ph
INNER JOIN Production.dbo.PackStageHistory psh on psh.PackHistoryId = ph.Id AND psh.PackScheduleStageID=2
INNER JOIN Production.dbo.ItemSerialNumber isn on isn.Id = ph.ItemSerialNumberId
INNER JOIN Production.dbo.ItemMaster im on im.Id = isn.ItemMasterId
INNER JOIN Production.dbo.ItemSeriesMaster ism on ism.Id = im.SeriesMasterId AND im.SeriesMasterId =  @SeriesMasterId
INNER JOIN Production.dbo.ItemFrameSizeMaster ifsm on ifsm.Id = im.FrameSizeMasterId
where psh.DtTmEnd BETWEEN @ShiftStart AND @ShiftEnd AND psh.Successful = 1 AND psh.ReRun=0
group by  DateDiff(hour, @ShiftStart, psh.DtTmEnd) + 1 , ifsm.[Id]   
order by 1     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...