123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317 |
- BemsWebApplication.DailyReport = function (params, viewInfo) {
- 'use strict';
- var CmBusinessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField');
- var CmUserDataSource = BemsWebApplication.db.createDataSource('CmUser');
- var SiteId = BWA.UserInfo.SiteId();
- var ELECTRICITY = $Code.FacilityType.ELECTRICITY;
- var GAS = $Code.FacilityType.GAS;
- var style = 'class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;text-align:right"';
- var colorstyle = 'class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;background-color:#FFFFCC;text-align:right"';
- var borderstyle = "1px solid #CCCCCC";
- var endpointSelector = "";
- if (BemsWebApplication.config.mode == "production") {
- endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.production;
- } else {
- endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.local;
- }
- var isVisibleApproalButton = ko.observable(false);
- var Datecnt = 0, changeDate = false;
- var WATER = $Code.FacilityType.WATER;
- var MainFormulaId = 1;
- var init;
- var temptotalcnt = 0, temptempcnt = 0;
- var fuelarray = new Array(ELECTRICITY, GAS, WATER);
- var fueltotalarray = new Array(3);
- var BemsFormulaDataSource = BemsWebApplication.db.createDataSource('BemsFormula');
- var BemsFormulaParameterDataSource = BemsWebApplication.db.createDataSource('BemsFormulaParameter');
- var BemsMonitoringPointDataSource = BemsWebApplication.db.createDataSource('BemsMonitoringPoint');
- var click = false;
- var BusinessFieldArray;
- var MaterialCodeClassDataSource = BemsWebApplication.db.createDataSource('FmsMaterialCodeClass');
- var materialClass = ko.observableArray();
- var materialClassForSearch = ko.observableArray();
- var week = new Array('일', '월', '화', '수', '목', '금', '토');
- var eq = BWA.DataUtil.constructEqualFilter, and = BWA.DataUtil.andFilter;
- var popupGridInfo = {
- 'gridContainerCommon': 'workCommon',
- 'gridContainerMaterialUsage': 'fmsMaterial'
- };
- var tempseq = BemsWebApplication.config.Report.BusinessFieldSeq.Value;
- var tempseqEnable = BemsWebApplication.config.Report.BusinessFieldSeq.Enable;
- var tempApprove = BemsWebApplication.config.Report.UserSeq.Value;
- var tempApproveEnable = BemsWebApplication.config.Report.UserSeq.Enable;
- var businessFieldId = BWA.UserInfo.BusinessFieldId();
- var commonbusinessFieldId;
- var filter = [
- eq('SiteId', SiteId),
- ];
- var dataSourceOptions = {
- select: [
- 'SiteId',
- 'DailyReportId',
- 'Name',
- 'Contents',
- 'RegisterUserId',
- 'AddDate',
- 'ApproverUserId',
- 'ApproveDate',
- 'ApproverUserId2',
- 'ApproveDate2',
- 'ApproverUserId3',
- 'ApproveDate3',
- 'ApproverUserId4',
- 'ApproveDate4',
- 'ApproverUserId5',
- 'ApproveDate5',
- 'CmUser/Name', // 등록자
- 'BusinessFieldId',
- 'CmBusinessField/Name',
- 'Datas',
- ],
- expand: [
- 'CmUser', 'CmBusinessField'
- ],
- extendOptions: {
- forceOriginalField: true
- },
- filter: filter
- };
- var viewModel = self.viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsDailyReport', {
- dataSourceOptions: dataSourceOptions,
- columns: [
- { dataField: 'DailyReportId', caption: '번호', width: '8%', alignment: 'center', allowFiltering: false },
- { dataField: 'CmBusinessField/Name', caption: $G('businessFieldName'), width: '8%', alignment: 'center', visible: false },
- { dataField: 'Name', caption: '제목', width: '52%', alignment: 'center' },
- { dataField: 'CmUser/Name', caption: '등록자', width: '10%', alignment: 'center' },
- {
- dataField: 'AddDate', caption: '보고일', width: '10%', alignment: 'center', sortOrder: 'desc',
- customizeText: function (cellInfo) {
- return $G.date(cellInfo.value);
- }
- },
- { dataField: 'ApproverUserId', caption: '결재자', width: '10%', alignment: 'center', visible: false },
- //{
- // dataField: 'ApproveDate', caption: '결재일', width: '10%', alignment: 'center', visible: false,
- // customizeText: function (cellInfo) {
- // return $G.date(cellInfo.value);
- // }
- //},
- { dataField: 'ApproverUserId2', caption: '결재자2', width: '10%', alignment: 'center', visible: false },
- //{
- // dataField: 'ApproveDate2', caption: '결재일2', width: '10%', alignment: 'center', visible: false,
- // customizeText: function (cellInfo) {
- // return $G.date(cellInfo.value);
- // }
- //},
- { dataField: 'ApproverUserId3', caption: '결재자3', width: '10%', alignment: 'center', visible: false },
- //{
- // dataField: 'ApproveDate3', caption: '결재일3', width: '10%', alignment: 'center', visible: false,
- // customizeText: function (cellInfo) {
- // return $G.date(cellInfo.value);
- // }
- //},
- { dataField: 'ApproverUserId4', caption: '결재자4', width: '10%', alignment: 'center', visible: false },
- //{
- // dataField: 'ApproveDate4', caption: '결재일4', width: '10%', alignment: 'center', visible: false,
- // customizeText: function (cellInfo) {
- // return $G.date(cellInfo.value);
- // }
- //},
- { dataField: 'ApproverUserId5', caption: '결재자5', width: '10%', alignment: 'center', visible: false },
- //{
- // dataField: 'ApproveDate5', caption: '결재일5', width: '10%', alignment: 'center', visible: false,
- // customizeText: function (cellInfo) {
- // return $G.date(cellInfo.value);
- // }
- //}
- ],
- searchViewItems: [
- { id: 'Name' },
- { id: 'AddDate', type: 'dateRange', isOnlyDate: true },
- ],
- handleAfterLoadingModelByKey: function (data, dataViewModel, isNewInPopup) {
- },
- handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
- click = true;
- dataGrid.clearSelection();
- var data = clickRow.data;
- var dataModel = viewModel.dataModel;
- self.businessFieldId = data.BusinessFieldId();
- dataModel.DailyReportId(data.DailyReportId());
- popupVisible(true);
- if (tempApproveEnable) {
- var temp = tempApprove.split(';')
- for (var i = 0; i < temp.length; i++) {
- if (temp[i] == BWA.UserInfo.UserId()) {
- switch (i) {
- case 0:
- if (data.ApproverUserId() == null) {
- isVisibleApproalButton(true);
- viewModel.visibleEditButton(true);
- }
- else {
- isVisibleApproalButton(false);
- viewModel.visibleEditButton(false);
- }
- break;
- case 1:
- if (data.ApproverUserId2() == null) {
- isVisibleApproalButton(true);
- viewModel.visibleEditButton(true);
- }
- else {
- isVisibleApproalButton(false);
- viewModel.visibleEditButton(false);
- }
- break;
- case 2:
- if (data.ApproverUserId3() == null) {
- isVisibleApproalButton(true);
- viewModel.visibleEditButton(true);
- }
- else {
- isVisibleApproalButton(false);
- viewModel.visibleEditButton(false);
- }
- break;
- case 3:
- if (data.ApproverUserId4() == null) {
- isVisibleApproalButton(true);
- viewModel.visibleEditButton(true);
- }
- else {
- isVisibleApproalButton(false);
- viewModel.visibleEditButton(false);
- }
- break;
- case 4:
- if (data.ApproverUserId5() == null) {
- isVisibleApproalButton(true);
- viewModel.visibleEditButton(true);
- }
- else {
- isVisibleApproalButton(false);
- viewModel.visibleEditButton(false);
- }
- break;
- }
- break;
- }
- }
- }
- else {
- if (data.ApproverUserId() == null) {
- isVisibleApproalButton(true);
- viewModel.visibleEditButton(true);
- }
- else {
- isVisibleApproalButton(false);
- viewModel.visibleEditButton(false);
- }
- }
- },
- handleViewShowing: function (dataModel) {
- for (var i = 0; i < 3; i++) {
- BemsFormulaDataSource.filter([
- ['SiteId', '=', SiteId],
- 'and',
- ['FacilityTypeId', '=', fuelarray[i]],
- 'and',
- ['FormulaId', '=', MainFormulaId]
- ]);
- $.when(
- BemsFormulaDataSource.load()
- ).done(function (result) {
- var FacilityCode = result[0].FacilityCode();
- BemsFormulaParameterDataSource.filter([
- ['SiteId', '=', SiteId],
- 'and',
- ['FacilityCode', '=', FacilityCode],
- 'and',
- ['FormulaId', '=', MainFormulaId]
- ]);
- $.when(
- BemsFormulaParameterDataSource.load()
- ).done(function (result1) {
- for (var i = 0; i < fuelarray.length; i++) {
- if (fuelarray[i] == result1[0].FacilityTypeId()) {
- fueltotalarray[i] = new Array(result1.length);
- break;
- }
- }
- var ParameterResult = new Array(result1.length);
- for (var i = 0; i < result1.length; i++) {
- ParameterResult[i] = {
- ParameterFacilityCode: result1[i].ParameterFacilityCode(),
- ParameterPropertyId: result1[i].ParameterPropertyId()
- }
- }
- var cnt = 0;
- for (var i = 0; i < result1.length; i++) {
- BemsMonitoringPointDataSource.filter([
- ['SiteId', '=', SiteId],
- 'and',
- ['FacilityCode', '=', ParameterResult[i].ParameterFacilityCode],
- 'and',
- ['PropertyId', '=', ParameterResult[i].ParameterPropertyId]
- ]);
- $.when(
- BemsMonitoringPointDataSource.load()
- ).done(function (result3) {
- fueltotalarray[result3[0].FuelTypeId() - 1][cnt] = {
- FacilityCode: result3[0].FacilityCode(),
- PropertyId: result3[0].PropertyId(),
- Name: result3[0].Name(),
- FuelTypeId: result3[0].FuelTypeId(),
- Today: 0,
- Daybefore: 0,
- Dailyusage: 0
- }
- cnt++
- });
- }
- });
- });
- }
- CmBusinessFieldDataSource.filter([
- ['SiteId', '=', SiteId],
- 'and',
- ['IsUse', '=', true]
- ]);
- $.when(
- CmBusinessFieldDataSource.load()
- ).done(function (result) {
- BusinessFieldArray = new Array(result.length);
- commonbusinessFieldId = result[0].BusinessFieldId();
- if (tempseqEnable == false) {
- for (var i = 0; i < result.length; i++) {
- BusinessFieldArray[i] = {
- BusinessFieldId: result[i].BusinessFieldId,
- BusinessFieldName: result[i].Name
- }
- }
- }
- else {
- var tempseqsplit = tempseq.split(';');
- for (var i = 0; i < tempseqsplit.length; i++) {
- for (var j = 0; j < result.length; j++) {
- if (parseInt(tempseqsplit[i]) == result[j].BusinessFieldId()) {
- BusinessFieldArray[i] = {
- BusinessFieldId: result[j].BusinessFieldId,
- BusinessFieldName: result[j].Name
- }
- break;
- }
- }
- }
- }
- });
- MaterialCodeClassDataSource.filter([
- ['SiteId', '=', SiteId]
- ]);
- $.when(
- MaterialCodeClassDataSource.load()
- ).done(function (Result) {
- materialClass = ko.observableArray();
- var cnt = 0;
- for (var i = 0; i < Result.length; i++) {
- materialClass.push(Result[i]);
- }
- materialClassForSearch($SearchView.createArrayOfSelectBox('MaterialClassId', materialClass()));
- });
- // 계속 push되는 현상을 막기위해 필터 초기화
- //dataSourceOptions.filter.splice(0, dataSourceOptions.filter.length);
- //dataSourceOptions.filter.push([eq('SiteId', SiteId)]);
- },
- handlePopupShowing: function (isNewInPopup, dataViewModel) {
- Datecnt = 0;
- var $BusinessDataCommon = $('#BusinessDataCommon'); // finds the <detail> element
- $('#BusinessDataCommon').empty();
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- var tempworkCommon = 'workCommon' + i;
- popupGridInfo['gridContainerCommon' + i] = tempworkCommon;
- $('<div id = componentcommon' + i + ' class="jh-popup-group" style="padding-top:10px"><div class="jh-popup-label fold_btn">' + BusinessFieldArray[i].BusinessFieldName() + " 작업관리" + '</div><div class="act_folding"><div id="gridContainerCommon' + i + '" class="jh-grid-in-popup" style="height:200px"/></div></div>')
- .appendTo($BusinessDataCommon)
- }
- var $BusinessDataMaterial = $('#BusinessDataMaterial'); // finds the <detail> element
- $('#BusinessDataMaterial').empty();
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- var tempfmsMaterial = 'fmsMaterial' + i;
- popupGridInfo['gridContainerMaterialUsage' + i] = tempfmsMaterial;
- $('<div id = componentmaterial' + i + ' class="jh-popup-group" style="padding-top:10px"><div class="jh-popup-label fold_btn">' + BusinessFieldArray[i].BusinessFieldName() + " 자재사용내역" + '</div><div class="act_folding"><div id="gridContainerMaterialUsage' + i + '" class="jh-grid-in-popup" style="height:200px;;padding-top:3px"/></div></div>')
- .appendTo($BusinessDataMaterial)
- }
- // 신규등록인 경우
- init = isNewInPopup();
- if (isNewInPopup()) {
- isVisibleApproalButton(false);
- self.businessFieldId = BWA.UserInfo.BusinessFieldId();
- var urlHeader = BemsWebApplication.config.endpoints.api[BemsWebApplication.config.mode];
- $.get(urlHeader + '/DailyReport/CurrentDate', function (date) {
- var day = new Date();//var day = new Date(date);
- dataViewModel.RegisterDate(day);
- day.setDate(day.getDate() - 1);
- dataViewModel.AddDate(day);
- dataViewModel.Name("[" + new Date(day).format("yyyy-MM-dd") + " " + week[day.getDay()] + "] 일간 보고서");
- dataViewModel.RegisterUserId(BWA.UserInfo.UserId());
- dataViewModel.ReportUrl('');
- if (tempseqEnable)
- dataViewModel.dataseq(tempseq);
- if (tempApproveEnable) {
- dataViewModel.Approveseq(tempApprove);
- dataViewModel.ApproveCnt(tempApprove.split(';').length);
- }
- loadBasicInfos();
- });
- }
- else {
- EnergyTableCreate();
- }
- },
- handlePopupShown: function () {
- setReportLink();
- if (!init) {
- setPopupGridViewAll();
- }
- else {
- EnergyDataTable();
- }
- handlePopupShowingExtra();
- },
- handleViewShown: function (dataViewModel, isEditModeInPopup) {
- if (tempApproveEnable) {
- var temp = tempApprove.split(';')
- for (var i = 2; i <= temp.length; i++) {
- $("#gridContainer").dxDataGrid("columnOption", "ApproverUserId" + i, "visible", true);
- }
- }
- $("#gridContainer").dxDataGrid("columnOption", "ApproverUserId", "visible", true);
- viewModel.refreshList();
- },
- handleCancelInPopup: function (dataModel) {
- for (var i = 1; i <= temptempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("viewmode" + i + j).style.display = "inline-block";
- }
- }
- for (var i = 1; i <= temptotalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("vitotal" + i + j).style.display = "inline-block";
- }
- }
- for (var i = 1; i <= temptempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("editmode" + i + j).style.display = "none";
- }
- }
- for (var i = 1; i <= temptotalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("edtotal" + i + j).style.display = "none";
- }
- }
- },
- handlePopupButtonEdit: function (dataModel) {
- //document.getElementById("Viewdate").style.display = "inline-block";
- //document.getElementById("Editdate").style.display = "none";
- for (var i = 1; i <= temptempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("viewmode" + i + j).style.display = "none";
- }
- }
- for (var i = 1; i <= temptotalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("vitotal" + i + j).style.display = "none";
- }
- }
- for (var i = 1; i <= temptempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("editmode" + i + j).style.display = "inline-block";
- }
- }
- for (var i = 1; i <= temptotalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("edtotal" + i + j).style.display = "inline-block";
- }
- }
- },
- getAddedToolbarItemsInPopup: function (e) {
- return [
- {
- location: 'after', widget: 'button', options: {
- text: '결재', icon: 'add', type: 'success', visible: isVisibleApproalButton,
- clickAction: Approve
- }
- }];
- },
- popupWidth: '1200px'
- });
- function Approve() {
- if (tempApproveEnable) {
- var temp = tempApprove.split(';')
- for (var i = 0; i < temp.length; i++) {
- if (temp[i] == BWA.UserInfo.UserId()) {
- switch (i) {
- case 0:
- viewModel.dataModel.ApproverUserId(BWA.UserInfo.Name());
- viewModel.dataModel.ApproveDate(new Date());
- break;
- case 1:
- if (viewModel.dataModel.ApproverUserId() == null) {
- utils.toast.show("결재가 실패하였습니다. 선행결재가 필요합니다.", "error");
- return;
- }
- else {
- viewModel.dataModel.ApproverUserId2(BWA.UserInfo.Name());
- viewModel.dataModel.ApproveDate2(new Date());
- }
- break;
- case 2:
- if (viewModel.dataModel.ApproverUserId2() == null) {
- utils.toast.show("결재가 실패하였습니다. 선행결재가 필요합니다.", "error");
- return;
- }
- else {
- viewModel.dataModel.ApproverUserId3(BWA.UserInfo.Name());
- viewModel.dataModel.ApproveDate3(new Date());
- }
- break;
- case 3:
- if (viewModel.dataModel.ApproverUserId3() == null) {
- utils.toast.show("결재가 실패하였습니다. 선행결재가 필요합니다.", "error");
- return;
- }
- else {
- viewModel.dataModel.ApproverUserId4(BWA.UserInfo.Name());
- viewModel.dataModel.ApproveDate4(new Date());
- }
- break;
- case 4:
- if (viewModel.dataModel.ApproverUserId4() == null) {
- utils.toast.show("결재가 실패하였습니다. 선행결재가 필요합니다.", "error");
- return;
- }
- else {
- viewModel.dataModel.ApproverUserId5(BWA.UserInfo.Name());
- viewModel.dataModel.ApproveDate5(new Date());
- }
- break;
- }
- var keys = BWA.db.extractKeysObject('FmsDailyReport', viewModel.dataModel);
- BWA.db.FmsDailyReport.update(keys, viewModel.dataModel.toJS()).done(function (res) {
- utils.toast.show("성공적으로 결재가 진행되었습니다.");
- viewModel.popupOptions.visible(false);
- viewModel.gridView().refresh();
- }).fail(function (error) {
- utils.toast.show("결재가 실패하였습니다.", "error");
- });
- }
- }
- }
- else {
- viewModel.dataModel.ApproverUserId(BWA.UserInfo.Name());
- viewModel.dataModel.ApproveDate(new Date());
- var keys = BWA.db.extractKeysObject('FmsDailyReport', viewModel.dataModel);
- BWA.db.FmsDailyReport.update(keys, viewModel.dataModel.toJS()).done(function (res) {
- utils.toast.show("성공적으로 결재가 진행되었습니다.");
- viewModel.popupOptions.visible(false);
- viewModel.gridView().refresh();
- }).fail(function (error) {
- utils.toast.show("결재가 실패하였습니다.", "error");
- });
- }
- }
- function DateChange(e) {
- if (e.value != null) {
- if (init) {
- if (Datecnt != 0) {
- changeDate = true;
- var $BusinessDataCommon = $('#BusinessDataCommon'); // finds the <detail> element
- $('#BusinessDataCommon').empty();
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- var tempworkCommon = 'workCommon' + i;
- popupGridInfo['gridContainerCommon' + i] = tempworkCommon;
- $('<div id = componentcommon' + i + ' class="jh-popup-group" style="padding-top:10px"><div class="jh-popup-label fold_btn">' + BusinessFieldArray[i].BusinessFieldName() + " 작업관리" + '</div><div class="act_folding"><div id="gridContainerCommon' + i + '" class="jh-grid-in-popup" style="height:200px"/></div></div>')
- .appendTo($BusinessDataCommon)
- }
- var $BusinessDataMaterial = $('#BusinessDataMaterial'); // finds the <detail> element
- $('#BusinessDataMaterial').empty();
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- var tempfmsMaterial = 'fmsMaterial' + i;
- popupGridInfo['gridContainerMaterialUsage' + i] = tempfmsMaterial;
- $('<div id = componentmaterial' + i + ' class="jh-popup-group" style="padding-top:10px"><div class="jh-popup-label fold_btn">' + BusinessFieldArray[i].BusinessFieldName() + " 자재사용내역" + '</div><div class="act_folding"><div id="gridContainerMaterialUsage' + i + '" class="jh-grid-in-popup" style="height:200px;;padding-top:3px"/></div></div>')
- .appendTo($BusinessDataMaterial)
- }
- self.businessFieldId = BWA.UserInfo.BusinessFieldId();
- var urlHeader = BemsWebApplication.config.endpoints.api[BemsWebApplication.config.mode];
- $.get(urlHeader + '/DailyReport/CurrentDate', function (date) {
- viewModel.dataModel.AddDate(new Date(e.value));
- viewModel.dataModel.Name("[" + new Date(e.value).format("yyyy-MM-dd") + " " + week[e.value.getDay()] + "] 일간 보고서");
- viewModel.dataModel.RegisterUserId(BWA.UserInfo.UserId());
- viewModel.dataModel.ReportUrl('');
- loadBasicInfos();
- });
- Datecnt = 0;
- }
- Datecnt++;
- }
- }
- }
- function EnergyTableCreate() {
- var totalcnt = 0, tempcnt = 0;
- var Name = "", FuelId = 0;
- var totaladd = false;
- var dataModel = viewModel.dataModel;
- for (var i = 0; i < 2; i++) {
- tempcnt += fueltotalarray[i].length;
- }
- var $EnergyData = $('#EnergyData');
- $('#EnergyData').empty();
- for (var i = 1; i <= tempcnt; i++) {
- if (i <= fueltotalarray[0].length) {
- var Name = fueltotalarray[0][i - 1].Name;
- var FuelId = fueltotalarray[0][i - 1].FuelTypeId;
- if (i == fueltotalarray[0].length)
- totaladd = true;
- }
- else {
- var Name = fueltotalarray[1][i - 3].Name;
- var FuelId = fueltotalarray[1][i - 3].FuelTypeId;
- if (i == fueltotalarray[0].length + fueltotalarray[1].length)
- totaladd = true;
- }
- var FuelName = "";
- var UnitName = "";
- switch (FuelId) {
- case 1:
- FuelName = "전력";
- UnitName = "(kwh)";
- break;
- case 2:
- FuelName = "가스";
- UnitName = "(m3)";
- break;
- case 3:
- FuelName = "상수도";
- break;
- }
- //수정 창
- $('<div id="editmode' + i + '1" class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;">' + Name +
- '</div><div id="editmode' + i + '2" ' + style + ' data-bind="dxTextArea: { value: dataModel.resultEnergy' + i + 'Today}">' + //dataModel.resultEnergy' + i + '.Today
- '</div><div id="editmode' + i + '3" ' + style + ' data-bind="dxTextArea: { value: dataModel.resultEnergy' + i + 'Daybefore}">' + //dataModel.resultEnergy' + i + '.Daybefore}
- '</div><div id="editmode' + i + '4" ' + style + ' data-bind="dxTextArea: { value: dataModel.resultEnergy' + i + 'Dailyusage}">' +// dataModel.resultEnergy' + i + '.Dailyusage
- '</div><div id="editmode' + i + '5" ' + style + ' data-bind="dxTextArea: { value: dataModel.resultEnergy' + i + 'Monthusage}"></div>')//dataModel.resultEnergy' + i + '.Monthusage
- .appendTo($EnergyData)
- //보는창
- $('<div id="viewmode' + i + '1" class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;">' + Name +
- '</div><div id="viewmode' + i + '2" ' + style + ' data-bind="text: dataModel.resultEnergy' + i + 'Today">' +
- '</div><div id="viewmode' + i + '3" ' + style + ' data-bind="text: dataModel.resultEnergy' + i + 'Daybefore">' +
- '</div><div id="viewmode' + i + '4" ' + style + ' data-bind="text: dataModel.resultEnergy' + i + 'Dailyusage">' +
- '</div><div id="viewmode' + i + '5" ' + style + ' data-bind="text: dataModel.resultEnergy' + i + 'Monthusage"></div>')
- .appendTo($EnergyData)
- dataModel['resultEnergy' + i + 'Name'](Name);
- dataModel['resultEnergy' + i + 'Today'](0);
- dataModel['resultEnergy' + i + 'Daybefore'](0);
- dataModel['resultEnergy' + i + 'Dailyusage'](0);
- dataModel['resultEnergy' + i + 'Monthusage'](0);
- if (i == tempcnt) {
- for (var j = tempcnt + 1; j <= 9; j++) {
- dataModel['resultEnergy' + j + 'Name']("");
- dataModel['resultEnergy' + j + 'Today'](0);
- dataModel['resultEnergy' + j + 'Daybefore'](0);
- dataModel['resultEnergy' + j + 'Dailyusage'](0);
- dataModel['resultEnergy' + j + 'Monthusage'](0);
- }
- }
- if (totaladd == true) {
- totalcnt++;
- //수정창
- $('<div id="edtotal' + totalcnt + '1" class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;background-color:#FFFFCC;">' + FuelName + " 합계" + UnitName +
- '</div><div id="edtotal' + totalcnt + '2" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Today}">' +
- '</div><div id="edtotal' + totalcnt + '3" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Daybefore}">' +
- '</div><div id="edtotal' + totalcnt + '4" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Dailyusage}">' +
- '</div><div id="edtotal' + totalcnt + '5" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Monthusage}"></div>')
- .appendTo($EnergyData)
- //보는창
- $('<div id="vitotal' + totalcnt + '1" class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;background-color:#FFFFCC;">' + FuelName + " 합계" + UnitName +
- '</div><div id="vitotal' + totalcnt + '2" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Today">' +
- '</div><div id="vitotal' + totalcnt + '3" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Daybefore">' +
- '</div><div id="vitotal' + totalcnt + '4" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Dailyusage">' +
- '</div><div id="vitotal' + totalcnt + '5" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Monthusage"></div>')
- .appendTo($EnergyData)
- totaladd = false;
- dataModel['resultEnergytotal' + totalcnt + 'Name'](FuelName + " 합계" + UnitName);
- dataModel['resultEnergytotal' + totalcnt + 'Today'](0);
- dataModel['resultEnergytotal' + totalcnt + 'Daybefore'](0);
- dataModel['resultEnergytotal' + totalcnt + 'Dailyusage'](0);
- dataModel['resultEnergytotal' + totalcnt + 'Monthusage'](0);
- }
- if (i == tempcnt && fueltotalarray[2].length != 0) {
- totalcnt++;
- //수정창
- $('<div id="edtotal' + totalcnt + '1" class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;background-color:#FFFFCC;">' + "상수도 합계(m3)" +
- '</div><div id="edtotal' + totalcnt + '2" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Today}">' +
- '</div><div id="edtotal' + totalcnt + '3" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Daybefore}">' +
- '</div><div id="edtotal' + totalcnt + '4" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Dailyusage}">' +
- '</div><div id="edtotal' + totalcnt + '5" ' + colorstyle + ' data-bind="dxTextArea: { value: dataModel.resultEnergytotal' + totalcnt + 'Monthusage}"></div>')
- .appendTo($EnergyData)
- //보는창
- $('<div id="vitotal' + totalcnt + '1" class="jh-width-2-10 jh-multi-line-item" style="width:231px;height:35px;background-color:#FFFFCC;">' + "상수도 합계(m3)" +
- '</div><div id="vitotal' + totalcnt + '2" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Today">' +
- '</div><div id="vitotal' + totalcnt + '3" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Daybefore">' +
- '</div><div id="vitotal' + totalcnt + '4" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Dailyusage">' +
- '</div><div id="vitotal' + totalcnt + '5" ' + colorstyle + ' data-bind="text: dataModel.resultEnergytotal' + totalcnt + 'Monthusage"></div>')
- .appendTo($EnergyData)
- dataModel['resultEnergytotal' + totalcnt + 'Name']("상수도 합계(m3)");
- dataModel['resultEnergytotal' + totalcnt + 'Today'](0);
- dataModel['resultEnergytotal' + totalcnt + 'Daybefore'](0);
- dataModel['resultEnergytotal' + totalcnt + 'Dailyusage'](0);
- dataModel['resultEnergytotal' + totalcnt + 'Monthusage'](0);
- }
- }
- temptempcnt = tempcnt;
- temptotalcnt = totalcnt;
- var cnt = tempcnt + totalcnt - 1;
- document.getElementById("EnergyDataup3").style.height = 109 + (cnt * 35) + "px";
- document.getElementById("EnergyDataup2").style.height = 72 + (cnt * 35) + "px";
- document.getElementById("EnergyDataup1").style.height = 36 + (cnt * 35) + "px";
- document.getElementById("EnergyData").style.height = 36 + (cnt * 35) + "px";
- for (var i = 1; i <= tempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("editmode" + i + j).style.border = borderstyle;
- ko.applyBindings(viewModel, $("#editmode" + i + j)[0]);
- document.getElementById("viewmode" + i + j).style.border = borderstyle;
- ko.applyBindings(viewModel, $("#viewmode" + i + j)[0]);
- }
- }
- for (var i = 1; i <= totalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("edtotal" + i + j).style.border = borderstyle;
- ko.applyBindings(viewModel, $("#edtotal" + i + j)[0]);
- document.getElementById("vitotal" + i + j).style.border = borderstyle;
- ko.applyBindings(viewModel, $("#vitotal" + i + j)[0]);
- }
- }
- if (click) {
- for (var i = 1; i <= temptempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("editmode" + i + j).style.display = "none";
- }
- }
- for (var i = 1; i <= totalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("edtotal" + i + j).style.display = "none";
- }
- }
- click = false;
- }
- else {
- for (var i = 1; i <= temptempcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("viewmode" + i + j).style.display = "none";
- }
- }
- for (var i = 1; i <= totalcnt; i++) {
- for (var j = 1; j <= 5; j++) {
- document.getElementById("vitotal" + i + j).style.display = "none";
- }
- }
- click = false;
- for (var i = 1; i < 4; i++) {
- dataModel['resultEnergytotal' + i + 'Today'](0);
- dataModel['resultEnergytotal' + i + 'Daybefore'](0);
- dataModel['resultEnergytotal' + i + 'Dailyusage'](0);
- dataModel['resultEnergytotal' + i + 'Monthusage'](0);
- }
- }
- if (changeDate) {
- setReportLink();
- EnergyDataTable();
- handlePopupShowingExtra();
- changeDate = false;
- }
- }
- function setReportLink() {
- var addDate = $G.date(viewModel.dataModel.AddDate());
- var urlHeader = BemsWebApplication.config.endpoints.service[BemsWebApplication.config.mode];
- var reportUrl = urlHeader + '/Report/DailyReportView.aspx?SiteId=' + SiteId + '&AddDate=' + addDate + '&BusinessFieldId=' + self.businessFieldId;
- viewModel.dataModel.ReportUrl(reportUrl);
- }
- function handlePopupShowingExtra() {
- // 메뉴 접기 기능
- $('.fold_btn').unbind('click');
- $('.fold_btn').click(function () {
- $(this).siblings('.act_folding').slideToggle();
- $(this).siblings().find('.act_folding').slideToggle();
- });
- // 마우스 휠 이벤트
- $('.cw-wordwrap, .dx-popup-content').unbind('dxmousewheel');
- $('.cw-wordwrap, .dx-popup-content').on("dxmousewheel", function (e) {
- e.stopPropagation();
- });
- }
- function initCap(str) {
- var str = str.substring(0, 1).toUpperCase() + str.substring(1, str.length);
- return str;
- }
- function makeUrl(SiteId, businessFieldId) {
- var AddDate = $G.date(viewModel.dataModel.AddDate());
- var urlHeader = BemsWebApplication.config.endpoints.api[BemsWebApplication.config.mode];
- var url = {
- workStatus: urlHeader + '/DailyReport/WorkStatus?&SiteId=' + SiteId + '&addDate=' + AddDate + '&BusinessFieldId=' + businessFieldId,
- workCommon: urlHeader + '/DailyReport/FmsWorkRequestForDailyReport?&SiteId=' + SiteId + '&addDate=' + AddDate + '&BusinessFieldId=' + businessFieldId,
- fmsMaterial: urlHeader + '/DailyReport/FmsMaterialForDailyReport?&SiteId=' + SiteId + '&addDate=' + AddDate + '&BusinessFieldId=' + businessFieldId,
- }
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- url['workCommon' + i] = urlHeader + '/DailyReport/FmsWorkRequestForDailyReport?&SiteId=' + SiteId + '&addDate=' + AddDate + '&BusinessFieldId=' + BusinessFieldArray[i].BusinessFieldId();
- url['fmsMaterial' + i] = urlHeader + '/DailyReport/FmsMaterialForDailyReport?&SiteId=' + SiteId + '&addDate=' + AddDate + '&BusinessFieldId=' + BusinessFieldArray[i].BusinessFieldId();
- }
- return url;
- }
- function loadBasicInfos() {
- var init = true;
- var userId = BWA.UserInfo.UserId();
- viewModel.dataModel.BusinessFieldId(commonbusinessFieldId);
- var urls = makeUrl(SiteId, commonbusinessFieldId);
- var cnt = 0;
- var dataModel = viewModel.dataModel;
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- $.when($.get(urls['workCommon' + i]),
- $.get(urls['fmsMaterial' + i])
- ).done(function (tempworkCommon, tempfmsMaterial) {
- if (init) {
- if (tempworkCommon[0].length == 0) {
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- dataModel['resultWorkCommon' + i](tempworkCommon[0]);
- dataModel['resultFmsMaterial' + i](tempfmsMaterial[0]);
- }
- }
- else {
- var k = 0;
- for (var i = 0; i < BusinessFieldArray.length; i++) {
- if (BusinessFieldArray[i].BusinessFieldId() == tempworkCommon[0][0].BusinessFieldId) {
- break;
- }
- else {
- k++;
- }
- }
- dataModel['resultWorkCommon' + k](tempworkCommon[0]);
- for (var i = 0; i < tempfmsMaterial[0].length; i++) {
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (tempfmsMaterial[0][i].FirstClassId == materialClassForSearch()[j].MaterialClassId()) {
- tempfmsMaterial[0][i].StringFirstClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (tempfmsMaterial[0][i].SecondClassId == materialClassForSearch()[j].MaterialClassId()) {
- tempfmsMaterial[0][i].StringSecondClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (tempfmsMaterial[0][i].ThirdClassId == materialClassForSearch()[j].MaterialClassId()) {
- tempfmsMaterial[0][i].StringThirdClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- }
- dataModel['resultFmsMaterial' + k](tempfmsMaterial[0]);
- }
- init = false;
- }
- else {
- if (tempworkCommon[0].length == 0) {
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- if (dataModel['resultWorkCommon' + i]() == null) {
- dataModel['resultWorkCommon' + i](tempworkCommon[0]);
- dataModel['resultFmsMaterial' + i](tempfmsMaterial[0]);
- }
- }
- }
- else {
- var k = 0;
- for (var i = 0; i < BusinessFieldArray.length; i++) {
- if (BusinessFieldArray[i].BusinessFieldId() == tempworkCommon[0][0].BusinessFieldId) {
- break;
- }
- else {
- k++;
- }
- }
- dataModel['resultWorkCommon' + k](tempworkCommon[0]);
- for (var i = 0; i < tempfmsMaterial[0].length; i++) {
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (tempfmsMaterial[0][i].FirstClassId == materialClassForSearch()[j].MaterialClassId()) {
- tempfmsMaterial[0][i].StringFirstClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (tempfmsMaterial[0][i].SecondClassId == materialClassForSearch()[j].MaterialClassId()) {
- tempfmsMaterial[0][i].StringSecondClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (tempfmsMaterial[0][i].ThirdClassId == materialClassForSearch()[j].MaterialClassId()) {
- tempfmsMaterial[0][i].StringThirdClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- }
- dataModel['resultFmsMaterial' + k](tempfmsMaterial[0]);
- }
- }
- cnt++;
- if (cnt == BusinessFieldArray.length - 1) {
- $.when($.get(urls.workStatus),
- $.get(urls.workCommon),
- $.get(urls.fmsMaterial)
- ).done(function (resultWorkStatus, resultWorkCommon, resultFmsMaterial) {
- dataModel.WorkStatusTypeOccasional(resultWorkStatus[0].WorkStatusTypeOccasional);
- dataModel.WorkStatusTypePeriodicInspection(resultWorkStatus[0].WorkStatusTypePeriodicInspection);
- dataModel.WorkStatusTypeForensicExamination(resultWorkStatus[0].WorkStatusTypeForensicExamination);
- dataModel.WorkStatusTypeEtc(resultWorkStatus[0].WorkStatusTypeEtc);
- dataModel.WorkStatusTypeTotal(resultWorkStatus[0].WorkStatusTypeTotal);
- dataModel.WorkStatusPending(resultWorkStatus[0].WorkStatusPending);
- dataModel.WorkStatusInProgress(resultWorkStatus[0].WorkStatusInProgress);
- dataModel.WorkStatusDeferred(resultWorkStatus[0].WorkStatusDeferred);
- dataModel.WorkStatusComplete(resultWorkStatus[0].WorkStatusComplete);
- dataModel.WorkStatusApproved(resultWorkStatus[0].WorkStatusApproved);
- dataModel.WorkStatusTotal(resultWorkStatus[0].WorkStatusTotal);
- dataModel.resultWorkCommon(resultWorkCommon[0]);
- for (var i = 0; i < resultFmsMaterial[0].length; i++) {
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (resultFmsMaterial[0][i].FirstClassId == materialClassForSearch()[j].MaterialClassId()) {
- resultFmsMaterial[0][i].StringFirstClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (resultFmsMaterial[0][i].SecondClassId == materialClassForSearch()[j].MaterialClassId()) {
- resultFmsMaterial[0][i].StringSecondClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- for (var j = 1; j < materialClassForSearch().length; j++) {
- if (resultFmsMaterial[0][i].ThirdClassId == materialClassForSearch()[j].MaterialClassId()) {
- resultFmsMaterial[0][i].StringThirdClassId = materialClassForSearch()[j].Name();
- break;
- }
- }
- }
- dataModel.resultFmsMaterial(resultFmsMaterial[0]);
- setPopupGridViewAll();
- EnergyTableCreate();
- });
- }
- });
- }
- }
- function setPopupGridViewAll() {
- for (var gridId in popupGridInfo) {
- setPopupGridView(gridId);
- }
- }
- function setPopupGridView(gridId) {
- if (gridId.substring(13, 19) == 'Common') {
- var grid = handleGridViewInPopup(gridId, {
- dataSource: getDataSource(gridId)(),
- columns: getColumns(gridId),
- onSelectionChanged: function (e) {
- e.component.collapseAll(-1);
- e.component.expandRow(e.currentSelectedRowKeys[0]);
- },
- masterDetail: {
- enabled: true,
- autoExpandAll: false,
- template: function (container, options) {
- var checkitemData = options.data;
- var temptext = checkitemData.TextResult;
- var tempdate = checkitemData.TextResultDate;
- if (temptext != null) {
- for (var i = 0; i < temptext.length; i++) {
- var result = temptext[i].replace(/\n/gi, '</p><p>        ');
- result = result.replace(/\?-/g, " -");
- container.append($('<p class id="temptext" style="padding-left:17px">' + new Date(tempdate[i]).format("yyyy-MM-dd") + " - " + result + '</p>'));
- //container.append($('<p class id="temptext" style="padding-left:17px">' + new Date(tempdate[i]).format("yyyy-MM-dd") + " - " + temptext[i] + '</p>'));
- }
- }
- }
- }
- });
- }
- else {
- var grid = handleGridViewInPopup(gridId, {
- dataSource: getDataSource(gridId)(),
- columns: getColumns(gridId),
- });
- }
- grid.refresh();
- }
- function getColumns(gridId) {
- if (gridId.substring(13, 19) == 'Common') {
- return [
- { dataField: 'No', caption: '번호', width: '5%', alignment: 'center' },
- { dataField: 'WorkTypeId', caption: '작업구분', width: '7%', alignment: 'center' },
- { dataField: 'RequestDate', caption: '민원접수일시', width: '20%', alignment: 'center', dataType: 'date', format: 'yyyy-MM-dd HH:mm', visible: false },
- { dataField: 'WorkProgressId', caption: '작업상태', width: '8%', alignment: 'center' },
- { dataField: 'Title', caption: '작업명', width: '80%', alignment: 'center' }
- ];
- } else {
- return [
- { dataField: 'No', caption: '번호', width: '5%', alignment: 'center', allowFiltering: false },
- { dataField: 'ReleaseType', caption: '출고구분', width: '7%', alignment: 'center' },
- {
- dataField: 'FirstClassId', caption: '자재(대)', width: '8%', alignment: 'center',
- customizeText: function (cellInfo) {
- for (var i = 1; i < materialClassForSearch().length; i++) {
- if (materialClassForSearch()[i].MaterialClassId() == cellInfo.value) {
- return materialClassForSearch()[i].Name();
- }
- }
- }
- },
- {
- dataField: 'SecondClassId', caption: '자재(중)', width: '8%', alignment: 'center',
- customizeText: function (cellInfo) {
- for (var i = 1; i < materialClassForSearch().length; i++) {
- if (materialClassForSearch()[i].MaterialClassId() == cellInfo.value) {
- return materialClassForSearch()[i].Name();
- }
- }
- }
- },
- {
- dataField: 'ThirdClassId', caption: '자재(소)', width: '8%', alignment: 'center',
- customizeText: function (cellInfo) {
- for (var i = 1; i < materialClassForSearch().length; i++) {
- if (materialClassForSearch()[i].MaterialClassId() == cellInfo.value) {
- return materialClassForSearch()[i].Name();
- }
- }
- }
- },
- { dataField: 'MaterialCode', caption: '자재코드', width: '17%', alignment: 'center', visible: false },
- { dataField: 'MaterialName', caption: '자재명', width: '17%', alignment: 'center' },
- { dataField: 'Standard', caption: '규격', width: '18%', alignment: 'center' },
- { dataField: 'WorkName', caption: '작업명', width: '19%', alignment: 'center' },
- { dataField: 'Unit', caption: '단위', width: '5%', alignment: 'center' },
- { dataField: 'MaterialCount', caption: '수량', width: '5%', alignment: 'center', allowFiltering: false, format: 'currency' },
- { dataField: 'WorkerName', caption: '작업자', width: '10%', alignment: 'center', allowFiltering: false, visible: false },
- ];
- }
- }
- function EnergyDataTable() {
- var TodayDate = new Date(viewModel.dataModel.AddDate());
- var tempcnt = 0;
- var FacilityCode = 0, PropertyId = 0;
- var Today = 0, Daybefore = 0, Dailyusage = 0, Monthusage = 0;
- for (var i = 0; i < 3; i++) {
- tempcnt += fueltotalarray[i].length;
- }
- var datacnt = 0;
- var EnergtDate = new Array(tempcnt);
- for (var i = 0; i < tempcnt; i++) {
- if (i < fueltotalarray[0].length) {
- EnergtDate[i] = {
- Name: fueltotalarray[0][i].Name,
- Fuel: fueltotalarray[0][i].FuelTypeId,
- FacilityCode: fueltotalarray[0][i].FacilityCode,
- PropertyId: fueltotalarray[0][i].PropertyId,
- Today: 0,
- Daybefore: 0,
- Dailyusage: 0,
- Monthusage: 0
- }
- }
- else if (i < fueltotalarray[0].length + fueltotalarray[1].length) {
- EnergtDate[i] = {
- Name: fueltotalarray[1][i - fueltotalarray[0].length].Name,
- Fuel: fueltotalarray[1][i - fueltotalarray[0].length].FuelTypeId,
- FacilityCode: fueltotalarray[1][i - fueltotalarray[0].length].FacilityCode,
- PropertyId: fueltotalarray[1][i - fueltotalarray[0].length].PropertyId,
- Today: 0,
- Daybefore: 0,
- Dailyusage: 0,
- Monthusage: 0
- }
- }
- else {
- EnergtDate[i] = {
- Name: fueltotalarray[2][i - (fueltotalarray[0].length + fueltotalarray[1].length)].Name,
- Fuel: fueltotalarray[2][i - (fueltotalarray[0].length + fueltotalarray[1].length)].FuelTypeId,
- FacilityCode: fueltotalarray[2][i - (fueltotalarray[0].length + fueltotalarray[1].length)].FacilityCode,
- PropertyId: fueltotalarray[2][i - (fueltotalarray[0].length + fueltotalarray[1].length)].PropertyId,
- Today: 0,
- Daybefore: 0,
- Dailyusage: 0,
- Monthusage: 0
- }
- }
- }
- for (var i = 0; i < EnergtDate.length; i++) {
- var dataSource = new DevExpress.data.DataSource({ //금일
- store: new DevExpress.data.ODataStore({
- url: endpointSelector + "/BemsMonitoringPointHistory15minRawData"
- }),
- requireTotalCount: true,
- pageSize: 1
- });
- dataSource.filter([
- ["SiteId", "=", SiteId],
- "and",
- ["CreatedDateTime", ">=", new Date(TodayDate.getFullYear(), TodayDate.getMonth(), TodayDate.getDate(), 0, 0, 0)],
- "and",
- ["CreatedDateTime", "<=", new Date(TodayDate.getFullYear(), TodayDate.getMonth(), TodayDate.getDate(), 23, 59, 59)],
- "and",
- ["FacilityCode", "=", EnergtDate[i].FacilityCode],
- "and",
- ["PropertyId", "=", EnergtDate[i].PropertyId],
- ]);
- dataSource.sort({ getter: "CreatedDateTime", desc: true });
- dataSource.load()
- .done(function (result) {
- if (result != null && result.length != 0) {
- for (var i = 0; i < EnergtDate.length; i++) {
- if (result[0].FacilityCode == EnergtDate[i].FacilityCode && result[0].PropertyId == EnergtDate[i].PropertyId) {
- EnergtDate[i].Today = result[0].CurrentValue;
- break;
- }
- }
- var dataSource1 = new DevExpress.data.DataSource({ //전일
- store: new DevExpress.data.ODataStore({
- url: endpointSelector + "/BemsMonitoringPointHistory15minRawData"
- }),
- requireTotalCount: true,
- pageSize: 1
- });
- dataSource1.filter([
- ["SiteId", "=", SiteId],
- "and",
- ["CreatedDateTime", ">=", new Date(TodayDate.getFullYear(), TodayDate.getMonth(), TodayDate.getDate() - 1, 0, 0, 0)],
- "and",
- ["CreatedDateTime", "<=", new Date(TodayDate.getFullYear(), TodayDate.getMonth(), TodayDate.getDate() - 1, 23, 59, 59)],
- "and",
- ["FacilityCode", "=", EnergtDate[i].FacilityCode],
- "and",
- ["PropertyId", "=", EnergtDate[i].PropertyId],
- ]);
- dataSource1.sort({ getter: "CreatedDateTime", desc: true });
- dataSource1.load()
- .done(function (result1) {
- if (result1 != null) {
- for (var i = 0; i < EnergtDate.length; i++) {
- if (result1[0].FacilityCode == EnergtDate[i].FacilityCode && result1[0].PropertyId == EnergtDate[i].PropertyId) {
- EnergtDate[i].Daybefore = result1[0].CurrentValue;
- EnergtDate[i].Dailyusage = EnergtDate[i].Today - result1[0].CurrentValue;
- break;
- }
- }
- var dataSource2 = new DevExpress.data.DataSource({ //월사용량
- store: new DevExpress.data.ODataStore({
- url: endpointSelector + "/BemsMonitoringPointHistoryDaily"
- }),
- requireTotalCount: true,
- pageSize: 31
- });
- dataSource2.filter([
- ["SiteId", "=", SiteId],
- "and",
- ["CreatedDateTime", ">=", new Date(TodayDate.getFullYear(), TodayDate.getMonth(), 1, 0, 0, 0)],
- "and",
- ["CreatedDateTime", "<", new Date(TodayDate.getFullYear(), TodayDate.getMonth(), TodayDate.getDate() + 1, 0, 0, 0)],
- "and",
- ["FacilityCode", "=", EnergtDate[i].FacilityCode],
- "and",
- ["PropertyId", "=", EnergtDate[i].PropertyId],
- ]);
- dataSource2.sort({ getter: "CreatedDateTime", desc: true });
- dataSource2.load()
- .done(function (result2) {
- var temp = 0;
- datacnt = datacnt + 1;
- if (result2 != null) {
- for (var j = 0; j < result2.length; j++) {
- temp += result2[j].DailyValue
- }
- for (var i = 0; i < EnergtDate.length; i++) {
- if (result2[0].FacilityCode == EnergtDate[i].FacilityCode && result2[0].PropertyId == EnergtDate[i].PropertyId) {
- EnergtDate[i].Monthusage = temp;
- break;
- }
- }
- }
- if (datacnt == EnergtDate.length) {
- var dataModel = viewModel.dataModel;
- var powerToday = 0, powerDaybefore = 0, powerDailyusage = 0, powerMonthusage = 0;
- var gasToday = 0, gasDaybefore = 0, gasDailyusage = 0, gasMonthusage = 0;
- var waterToday = 0, waterDaybefore = 0, waterDailyusage = 0, waterMonthusage = 0;
- var fuelcnt = 0;
- var power = 0, gas = 0, water = 0;
- for (var i = 0; i < EnergtDate.length; i++) {
- switch (EnergtDate[i].Fuel) {
- case 1:
- power++;
- break;
- case 2:
- gas++;
- break;
- case 3:
- water++;
- break;
- }
- if (EnergtDate[i].Fuel != 3) {
- var tempnum = i + 1;
- dataModel['resultEnergy' + tempnum + 'Today'](numberWithCommas(EnergtDate[i].Today.toFixed(2)));
- dataModel['resultEnergy' + tempnum + 'Daybefore'](numberWithCommas(EnergtDate[i].Daybefore.toFixed(2)));
- dataModel['resultEnergy' + tempnum + 'Dailyusage'](numberWithCommas(EnergtDate[i].Dailyusage.toFixed(2)));
- dataModel['resultEnergy' + tempnum + 'Monthusage'](numberWithCommas(EnergtDate[i].Monthusage.toFixed(2)));
- }
- else {
- waterToday += EnergtDate[i].Today;
- waterDaybefore += EnergtDate[i].Daybefore;
- waterDailyusage += EnergtDate[i].Dailyusage;
- waterMonthusage += EnergtDate[i].Monthusage;
- }
- }
- if (power != 0) {
- fuelcnt++;
- for (var j = 0; j < power; j++) {
- powerToday += EnergtDate[j].Today;
- powerDaybefore += EnergtDate[j].Daybefore;
- powerDailyusage += EnergtDate[j].Dailyusage;
- powerMonthusage += EnergtDate[j].Monthusage;
- }
- dataModel['resultEnergytotal' + fuelcnt + 'Today'](numberWithCommas(powerToday.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Daybefore'](numberWithCommas(powerDaybefore.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Dailyusage'](numberWithCommas(powerDailyusage.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Monthusage'](numberWithCommas(powerMonthusage.toFixed(2)));
- }
- if (gas != 0) {
- fuelcnt++;
- for (var j = power; j < power + gas; j++) {
- gasToday += EnergtDate[j].Today;
- gasDaybefore += EnergtDate[j].Daybefore;
- gasDailyusage += EnergtDate[j].Dailyusage;
- gasMonthusage += EnergtDate[j].Monthusage;
- }
- dataModel['resultEnergytotal' + fuelcnt + 'Today'](numberWithCommas(gasToday.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Daybefore'](numberWithCommas(gasDaybefore.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Dailyusage'](numberWithCommas(gasDailyusage.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Monthusage'](numberWithCommas(gasMonthusage.toFixed(2)));
- }
- if (water != 0) {
- fuelcnt++;
- dataModel['resultEnergytotal' + fuelcnt + 'Today'](numberWithCommas(waterToday.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Daybefore'](numberWithCommas(waterDaybefore.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Dailyusage'](numberWithCommas(waterDailyusage.toFixed(2)));
- dataModel['resultEnergytotal' + fuelcnt + 'Monthusage'](numberWithCommas(waterMonthusage.toFixed(2)));
- }
- }
- }).fail(function (error) {
- utils.toast.show("[BemsMonitoringPointHistoryDaily] 월 사용량 정보를 읽어올수 없습니다.");
- });
- }
- }).fail(function (error) {
- utils.toast.show("[BemsMonitoringPointHistoryDaily] 전일 정보를 읽어올수 없습니다.");
- });
- }
- }).fail(function (error) {
- utils.toast.show("[BemsMonitoringPointHistoryDaily] 금일 정보를 읽어올수 없습니다.");
- });
- }
- }
- function numberWithCommas(x) {
- return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
- }
- function getDataSource(gridId) {
- var urlId = popupGridInfo[gridId];
- if (self.viewModel.dataModel['resultWorkCommon']() != null) {
- if (self.viewModel.dataModel['resultWorkCommon']().length == 0) {
- $("#componentcommon").hide();
- }
- else {
- $("#componentcommon").show();
- }
- if (self.viewModel.dataModel['resultFmsMaterial']().length == 0) {
- $("#componentmaterial").hide();
- }
- else {
- $("#componentmaterial").show();
- }
- }
- for (var i = 1; i < BusinessFieldArray.length; i++) {
- if (self.viewModel.dataModel['resultWorkCommon' + i]() != null) {
- if (self.viewModel.dataModel['resultWorkCommon' + i]().length == 0) {
- $("#componentcommon" + i).hide();
- }
- else {
- $("#componentcommon" + i).show();
- }
- }
- if (self.viewModel.dataModel['resultFmsMaterial' + i]() != null) {
- if (self.viewModel.dataModel['resultFmsMaterial' + i]().length == 0) {
- $("#componentmaterial" + i).hide();
- }
- else {
- $("#componentmaterial" + i).show();
- }
- }
- }
- return self.viewModel.dataModel['result' + initCap(urlId)];
- }
- function handleGridViewInPopup(gridId, options) {
- var mode = 'single';
- $.extend(options, {
- pager: { visible: false },
- selection: {
- mode: mode
- }
- });
- return $("#" + gridId).dxDataGrid(utils.datagrid.defaultOptions(options)).dxDataGrid("instance");
- };
- viewModel.dataModel.ReportUrl = ko.observable();
- viewModel.DateChange = DateChange;
- return viewModel;
- };
|