| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468 | BemsWebApplication.DailyCheckReport = function (params, viewInfo) {    "use strict";    var initialized = false,        shouldReload = false,        dataSource;    var CODE = $Code,        FuelType = CODE.FuelType,        FacilityType = CODE.FacilityType,        FacilityCode = CODE.FacilityCode,        F = CODE.Formula,        TIT = CODE.TimeIntervalType;    var visiblePopup = ko.observable(false);    //var barDataArray = [];    var works = ko.observableArray();    var works2 = ko.observableArray();    var works3 = ko.observableArray(); // bar chart용    var works4 = ko.observableArray(); // bar chart용    var eq = BWA.DataUtil.constructEqualFilter,        and = BWA.DataUtil.andFilter;    //or = BWA.DataUtil.orFilter;    var BFDataSource = BemsWebApplication.db.createDataSource('CmBusinessField'),        progressDataSource = BemsWebApplication.db.createDataSource('FmsWorkCodeProgress'),        chartPieDay = BWA.Chart.Instance('chartPieDayDReport', 'dxPieChart'),        chartBarDay = BWA.Chart.Instance('chartBarDayDReport', 'dxChart'),        chartPieMonth = BWA.Chart.Instance('chartPieMonthDReport', 'dxPieChart'),        chartBarMonth = BWA.Chart.Instance('chartBarMonthDReport', 'dxChart');    var BF = ko.observableArray(),        progresses = ko.observableArray();    var LCCViewGet = new BWA.Chart.PointHistory_LCCViewGet(BWA.UserInfo.SiteId());    var FmsHouseStockGet = new BWA.Chart.FmsHouseStockGet(BWA.UserInfo.SiteId());    var timeBoxForSearch = BWA.SearchView.createDateTimeBox($G.TimeTypesForMonthOnly);    var factorToe = null;    var Toe = $Code.FuelType.WATER + 1;    var fuelTypesDataSource = BemsWebApplication.db.createDataSource('BemsFuelType'),        fuelTypesForSearch = ko.observableArray(),        timeTypesForSearch = ko.observableArray(),        timeTypeIdForSearch = ko.observable(0),        fuelTypeIdForSearch = ko.observable(),        deferredForSearch = new $.Deferred();    var dataArray = ko.observableArray(),        dataDayForPie = ko.observableArray(),        dataMonthForPie = ko.observableArray(),        dataDayForBar = ko.observableArray(),        dataMonthForBar = ko.observableArray()    ;    var formulaGet = new BWA.Chart.FormulaGet(BWA.UserInfo.SiteId());    timeTypesForSearch($G.TimeTypes);    var m = moment();    /*dataDayForBar([        { DateTime: new Date(m.year(), m.month(), 1), PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 2), Value: 50, PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 3), Value: 60, PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 4), Value: 80, PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 5), Value: 100, PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 6), Value: 40, PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 7), Value: 120, PowerToe: 40, GasToe: 40, WaterToe: 40 },        { DateTime: new Date(m.year(), m.month(), 31), Value: 120, PowerToe: 40, GasToe: 40, WaterToe: 40 }    ]);    dataMonthForBar(dataDayForBar());    dataDayForPie([        { FuelTypeName: '전기', Value: 320 },        { FuelTypeName: '가스', Value: 350 },        { FuelTypeName: '수도', Value: 360 },    ]);    dataMonthForPie(dataDayForPie());    */    var InOutDataSource = BWA.DataUtil.createDataSource({        dataSourceOptions: {            store: BemsWebApplication.odata.FmsMaterialStockHistoryDaily,            select: [                'HistoryId',                'SiteId',                'BusinessFieldId',                'MaterialId',                'MaterialCode',                'MaterialName',                'Unit',                'YearMonth',                'YearMonthDate',                'StoredCount',                'ReleaseCount',                'ReleaseLossCount',                'ReleaseReturnCount',                'FirstClassId',                'SecondClassId',                'ThirdClassId',                'WarehouseId',                'StockCount',                'StockAmount',                'FirstClassId',                'SecondClassId',                'ThirdClassId',                'Standard'            ],            filter: [eq('SiteId', BWA.UserInfo.SiteId())],        },    }, 'FmsMaterialStockHistoryDaily');    var workDataSource = BWA.DataUtil.createDataSource({        dataSourceOptions: {            store: BemsWebApplication.odata.FmsMaterialEx,            select: [                'SiteId',                'BusinessFieldId',                'MaterialId',                'MaterialCode',                'Name',                'FirstClassId',                'SecondClassId',                'ThirdClassId',                'LocationId',                'MaterialTypeId',                'TradeCompanyId',                'WarehouseId',                'WHouseName',                'Rfid',                'Unit',                'DurableYears',                'ReasonableStockCount',                'Manufacturer',                'Standard',                'FinalPrice',                'ImageFileId',                'Note',                'IsDiscontinued',                'IsUse',                'FinalStockCount',                'FinalTotalStockAmount',                'StockCount',                'StockAmount',            ],            //expand: ['CmSite', 'FmsMaterialWarehouse' ],            filter: [                //['BusinessFieldId', '=', BWA.UserInfo.BusinessFieldId()],                //'or',                //['BusinessFieldId', '=', 1]                ['SiteId', '=', BWA.UserInfo.SiteId()],                'and',                ['WarehouseId', '<>', 0],            ]        },    });    //}, 'FmsWorkRequest');    /*        var workDataSource2 = BWA.DataUtil.createDataSource({            dataSourceOptions: {                select: [                'SiteId', 'WorkRequestId', 'WorkProgressId',                'CmBusinessField/Name', 'FmsWorkResult/'                ],                expand: [                'FmsWorkResult',                'FmsWorkResult/CmUser',                'FmsWorkResult/IsConfirmed',                'FmsWorkResult/ConfirmedDate',                'FmsWorkRequest/FmsWorkCodeType',                'FmsWorkRequest/FmsWorkCodeProgress',                'CmBusinessField', 'CmUser'],                extendOptions: {                    forceOriginalField: true,                },            },          }, 'FmsWorkRequest'); */    /*        var searchViewOptions = {            searchViewItems: [                { id: 'TimeTypeId', defaultValue: 0, value: timeTypeIdForSearch, dataSource: timeTypesForSearch },                { id: 'FuelTypeId', ignoreValue: 0, defaultValue: 1, value: fuelTypeIdForSearch, dataSource: fuelTypesForSearch },                { id: 'DateForHour', type: 'dateRange' },                { id: 'TimeForHour', type: 'dateRange' },            ],            promiseDataInSearchView: deferredForSearch.promise()        };*/    function handleViewShown() {        if (initialized === false) {            //var chartOption = BWA.ChartOptions.LCCView;            $.when(                BFDataSource.load(),                progressDataSource.load()            ).done(function (BFResult, progressResult) {                BF = BFResult[0];                progresses = progressResult[0];                BWA.ChartOptions.DailyCheckReport.MakeSeries(progresses);                chartPieDay = chartPieDay(BWA.ChartOptions.DailyCheckReport.getPieChartDayOptions());                chartBarDay = chartBarDay(BWA.ChartOptions.DailyCheckReport.getBarChartDayOptions());                //chartPieMonth = chartPieMonth(BWA.ChartOptions.FacilityTaskReport.getPieChartMonthOptions());                //chartBarMonth = chartBarMonth(BWA.ChartOptions.FacilityTaskReport.getBarChartMonthOptions());                handleSearchInSearchView();                //loadMonthlyEnergyUsage();                //loadDailyEnergyUsage();            });            //$('#chartPieDay').dxPieChart(chartOption.getPieChartDayOptions(dataDayForPie));            //$('#chartBarDay').dxChart(chartOption.getBarChartDayOptions(dataDayForBar));            //$('#chartPieMonth').dxPieChart(chartOption.getPieChartMonthOptions(dataMonthForPie));            //$('#chartBarMonth').dxChart(chartOption.getBarChartMonthOptions(dataMonthForBar));            initialized = true;        }        else            handleSearchInSearchView();    }    function handleSearchInSearchView() {        //visiblePopup(true);        /*        var filterA = [];                filterA.push(['FacilityCode', "<>", 0]);                filterA.push(['ValueType', ">", 0]);                _.each(filter, function (x) {                    filterA.push(x);                });                workDataSource.filter(filterA); */        //workDataSource._storeLoadOptions.filter.push(filter);        //workDataSource._paginate = false;        var useBusinessFiltering = BWA.UserInfo.isDependBusinessField(viewInfo.viewName)        /*                var param = {                    SiteId: BWA.UserInfo.SiteId(),                    BusinessId: BWA.UserInfo.BusinessFieldId(),                    //TimeIntervalType: timeType,                    //StartDate: date.startDate,                    //EndDate: date.endDate,                };                var promises = [];                promises.push(FmsHouseStockGet.apiGet(_.extend(param)));                $.when.apply(this, promises).done(function (predata) {                    var i;                    i = predata[0];                    works2(predata);                }); */        InOutDataSource.load().done(function (workResult) {            works(workResult);        });        workDataSource.load().done(function (workResult) {            works2(workResult);        });        /*        workDataSource.filter([            eq('SiteId', BWA.UserInfo.SiteId()),            and,            eq('FmsWorkRequest/WorkProgressId', 4)        ]);        workDataSource.load().done(function (workResult) {            //works2(workResult);        });        workDataSource.filter([            eq('SiteId', BWA.UserInfo.SiteId()),            and,            eq('FmsWorkRequest/WorkProgressId', 3),            'or',            eq('FmsWorkRequest/WorkProgressId', 4),            'or',            eq('FmsWorkRequest/WorkProgressId', 5),        ]);        workDataSource.load().done(function (workResult) {            works3(workResult);            var now = new Date();            now = new Date(now.getFullYear(), now.getMonth(), now.getDay(), 0, 0, 0);            //now = new Date(2015, 8, 1, 0, 0, 0);            workDataSource.filter([                eq('SiteId', BWA.UserInfo.SiteId()),                and,                eq('FmsWorkRequest/WorkProgressId', 6),                and,                eq('FmsWorkResult/IsConfirmed', true),                and,                ['FmsWorkResult/ConfirmedDate', ">=", now]            ]);            workDataSource.load().done(function (workResult2) {                works4(workResult2);                var pieDataArray = [];                var barDataArray = [];                _.each(BF, function (x) {                    barDataArray.push({                        PType: x.Name(),                        작업대기: getWorkProcessCount(workResult, 3, x.BusinessFieldId()),                        작업진행중: getWorkProcessCount(workResult, 4, x.BusinessFieldId()),                        작업완료: getWorkProcessCount(workResult, 5, x.BusinessFieldId()),                        완료승인: getWorkProcessCount(workResult2, 6, x.BusinessFieldId()),                    });                });                chartBarDay().option('dataSource', barDataArray);                //MakeMonthClickChart(date.endDate.getMonth() + 1);                _.each(progresses, function (x) {                    if (x.WorkProgressId() >= 3)                        pieDataArray.push({                            FuelTypeName: x.Name(),                            Value: (x.WorkProgressId() == 6) ? workResult2.length : getWorkProcessCount(workResult, x.WorkProgressId(), null)                        })                });                chartPieDay().option('dataSource', pieDataArray);            });        });*/        $("#large-indicator").dxLoadIndicator({            height: 60,            width: 60        });    }    //var fuelTypes = [FuelType.ELECTRICITY, FuelType.GAS, FuelType.WATER];    function handleViewHidden() {        visiblePopup(false);        //hideOverlay();        //    var dataGrid = $('#gridContainer').dxDataGrid('instance');        //    dataGrid.clearSelection();    }    function handleViewShowing() {    }    function getWorkProcessCount(datas, type, bf) {        var cnt = 0;        _.each(datas, function (x) {            if (x['FmsWorkRequest/WorkProgressId']() == type && (bf == null || x.BusinessFieldId() == bf))                //alert(x.BusinessFieldId());                //alert(x['FmsWorkRequest/WorkProgressId']());                //if (x.FmsWorkRequest/WorkProgressId() == type && x.BusinessFieldId() == bf)                cnt++;        });        return cnt;    }    function refreshList() {        //dataSource.pageIndex(0);        //dataSource.load();    }    //var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView), {    var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, null, ko.observable(null), handleViewShown), {        refreshList: refreshList,        viewShowing: handleViewShowing,        workDataGridOptions: utils.datagrid.defaultOptions({            rowClick: function (row) {                //selData = row.data;                /*fName(row.values[1]);                Name(row.values[2]);                Energy(row.values[3]);                Type(row.values[4]);                getValue(row.values[5]);                setValue(row.values[6]);                visiblePopup(true);*/            },            rowAlternationEnabled: true,            dataSource: works,            columns: [            { dataField: 'MaterialCode', caption: '자재코드', width: '25%', alignment: 'right' },            { dataField: 'MaterialName', caption: '자재명', width: '25%', alignment: 'left' },            {                dataField: 'YearMonthDate', caption: '날짜', width: '20%', alignment: 'center', sortOrder: 'desc',                customizeText: function (cellInfo) {                    return $G.date(cellInfo.value);                }            },            { dataField: 'StoredCount', caption: '입고수량', width: '15%', alignment: 'center', format: 'currency' },            { dataField: 'ReleaseCount', caption: '정상출고', width: '15%', alignment: 'center', format: 'currency' },            { dataField: 'ReleaseLossCount', caption: '조정출고손실', width: '20%', alignment: 'center', format: 'currency' },            { dataField: 'ReleaseReturnCount', caption: '조정출고반납', width: '20%', alignment: 'center', format: 'currency' },            { dataField: 'StockCount', caption: '재고수량', width: '20%', alignment: 'center', format: 'currency' },            ],        }),        workDataGridOptions2: utils.datagrid.defaultOptions({            rowClick: function (row) {                //selData = row.data;                /*fName(row.values[1]);                Name(row.values[2]);                Energy(row.values[3]);                Type(row.values[4]);                getValue(row.values[5]);                setValue(row.values[6]);                visiblePopup(true);*/            },            groupPanel: {                visible: true            },            rowAlternationEnabled: true,            dataSource: works2,            columns: [                //{ dataField: 'WorkRequestId', caption: $G('number'), width: '8%', alignment: 'center' },                //{ dataField: 'CmBusinessField/Name', caption: $G('businessFieldName'), width: '10%', alignment: 'center' },/*                { dataField: 'HouseName', caption: '창고명', width: '30%', alignment: 'center' },*/                {                    dataField: 'WHouseName', caption: '창고명', alignment: 'right',                    groupIndex: 0                },                { dataField: 'MaterialCode', caption: '자재코드', width: '30%', alignment: 'right' },                { dataField: 'Name', caption: '자재명', width: '40%', alignment: 'left' },                { dataField: 'StockCount', caption: '재고량', width: '30%', alignment: 'center' },            ],            summary: {                groupItems: [{                    column: 'StockCount',                    summaryType: 'sum',                    displayFormat: '창고재고량 : {0} ',                }]            }        }),    });    viewModel.timeBoxForSearch = timeBoxForSearch;    viewModel.popupOptions = {        width: 300,        height: 100,        contentTemplate: "info",        showTitle: false,        title: "메세지",        visible: visiblePopup,        dragEnabled: false,        shading: false,        closeOnOutsideClick: false    };    return viewModel;};
 |