| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 | 
							- BemsWebApplication.EquipHistory = function (params, viewInfo) {
 
-     "use strict";
 
-     var codeTypeDataSource = BemsWebApplication.db.createDataSource('FmsEquipmentCodeType', true, false, true),
 
-         codeStateTypeDataSource = BemsWebApplication.db.createDataSource('FmsEquipmentCodeStateType', false, false, true),
 
-         warehouseDataSource = BemsWebApplication.db.createDataSource('FmsMaterialWarehouse', true, false, true);
 
-     var eq = BWA.DataUtil.constructEqualFilter, and = BWA.DataUtil.andFilter;
 
-     var equipmentExDataSource = BWA.DataUtil.createDataSource({
 
-         dataSourceOptions: {
 
-             store: BemsWebApplication.odata.FmsEquipmentEx,
 
-             map: function (item) {
 
-                 return new BemsWebApplication.FmsEquipmentExViewModel(item);
 
-             }
 
-         },
 
-         filter: ([
 
-             eq('SiteId', BWA.UserInfo.SiteId())
 
-         ]),
 
-     });
 
-     var codeTypes = ko.observableArray(),
 
-         codeStateTypes = ko.observableArray(),
 
-         warehouses = ko.observableArray(),
 
-         equipmentExs = ko.observableArray();
 
-     var IsAdditionalEquipment = ko.observable(false);
 
-     var codeTypesForSearch = ko.observableArray(),
 
-         codeStateTypesForSearch = ko.observableArray(),
 
-         warehousesForSearch = ko.observableArray();
 
-     var deferredForSearch = new $.Deferred();
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsEquipmentHistory', {
 
-         dataSourceOptions: {
 
-             select: [
 
-                 'SiteId',
 
-                 'EquipmentHistoryId',
 
-                 'EquipmentId',
 
-                 'TotalStockCount',
 
-                 'CurrentStockCount',
 
-                 'RentCount',
 
-                 'CurrentRentCount',
 
-                 'ReturnCount',
 
-                 'LossCount',
 
-                 'StoredCount',
 
-                 'EquipmentRentId',
 
-                 'EquipmentStateTypeId',
 
-                 'AddDate',
 
-                 'UpdateDate',
 
-                 'IsReturned',
 
-                 'FmsEquipment/FmsEquipmentCodeType/Name',
 
-                 'FmsEquipment/FmsEquipmentCodeType/EquipmentTypeId',
 
-                 'FmsEquipment/Name',
 
-                 'FmsEquipment/CmUser/Name',
 
-                 'FmsEquipmentCodeStateType/Name',
 
-                 'FmsEquipment/Standard',
 
-                 'FmsEquipment/Unit',
 
-                 'FmsEquipmentRentInfo/RentUser',
 
-                 'FmsEquipmentRentInfo/RentDate',
 
-                 'FmsEquipmentRentInfo/ReturnDueDate',
 
-                 'FmsEquipmentRentInfo/ReturnFixDate',
 
-                 'FmsEquipment/FmsMaterialWarehouse/Name'
 
-             ],
 
-             expand: [
 
-                 'FmsEquipmentRentInfo/CmUser1',
 
-                 'FmsEquipment/FmsEquipmentCodeType',
 
-                 'FmsEquipmentCodeStateType',
 
-                 'FmsEquipment/CmUser',
 
-                 'FmsEquipmentRentInfo',
 
-                 'FmsEquipmentRentInfo/CmUser1',
 
-                 'FmsEquipment/FmsMaterialWarehouse',
 
-             ],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             }
 
-         },
 
-         columns: [
 
-             { dataField: 'EquipmentHistoryId', caption: $G('number'), width: '10%', alignment: 'center', sortOrder: 'desc' },
 
-             { dataField: 'FmsEquipmentCodeStateType/Name', caption: '구분', width: '8%', alignment: 'center' },
 
-             { dataField: 'FmsEquipment/FmsEquipmentCodeType/Name', caption: '분류', width: '8%', alignment: 'center' },
 
-             { dataField: 'FmsEquipment/Name', caption: '공기구명', width: '22%', alignment: 'center' },
 
-             { dataField: 'FmsEquipment/Standard', caption: '규격', width: '22%', alignment: 'center' },
 
-             { dataField: 'TotalStockCount', caption: '전체수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
 
-             { dataField: 'StoredCount', caption: '입고수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
 
-             { dataField: 'CurrentRentCount', caption: '대여수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
 
-             { dataField: 'ReturnCount', caption: '반납수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
 
-             { dataField: 'LossCount', caption: '손실수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
 
-             { dataField: 'CurrentStockCount', caption: '보유수량', width: '10%', alignment: 'center', format: 'fixedPoint' },
 
-             {
 
-                 dataField: 'AddDate', caption: '등록일', width: '15%', alignment: 'center', dataType: "shortDate", format: "yyyy-MM-dd",
 
-                 customizeText: function (cellInfo) {
 
-                     return cellInfo.valueText;
 
-                 }
 
-             },
 
-             {
 
-                 dataField: 'FmsEquipmentRentInfo/RentUser', caption: '대여자', width: '10%', alignment: 'center', dataType: "shortDate", format: "yyyy-MM-dd",
 
-                 customizeText: function (cellInfo) {
 
-                     return cellInfo.valueText;
 
-                 }
 
-             },
 
-             {
 
-                 dataField: 'FmsEquipmentRentInfo/RentDate', caption: '대여일', width: '14%', alignment: 'center', dataType: "shortDate", format: "yyyy-MM-dd",
 
-                 customizeText: function (cellInfo) {
 
-                     return cellInfo.valueText;
 
-                 }
 
-             },
 
-             {
 
-                 dataField: 'FmsEquipmentRentInfo/ReturnDueDate', caption: '반납예정일', width: '14%', alignment: 'center', dataType: "shortDate", format: "yyyy-MM-dd",
 
-                 customizeText: function (cellInfo) {
 
-                     return cellInfo.valueText;
 
-                 }
 
-             },
 
-             {
 
-                 dataField: 'FmsEquipmentRentInfo/ReturnFixDate', caption: '반납일', width: '14%', alignment: 'center', dataType: "shortDate", format: "yyyy-MM-dd",
 
-                 customizeText: function (cellInfo) {
 
-                     return cellInfo.valueText;
 
-                 }
 
-             }
 
-         ],
 
-         paging: {
 
-             pageSize: 18,
 
-             enabled: true
 
-         },
 
-         pager: {},
 
-         "export": {
 
-             enabled: true,
 
-             fileName: '공기구 이력 목록',
 
-         },
 
-         onExporting: function (e) {
 
-             e.component.columnOption("EquipmentHistoryId", "visible", false);
 
-         },
 
-         onExported: function (e) {
 
-             e.component.columnOption("EquipmentHistoryId", "visible", true);
 
-         },
 
-         cellPrepared: function (cellElement, cellInfo) {
 
-             // 2 보다 큰 경우 대여수 0
 
-             if (cellInfo.rowType == 'data') {
 
-                 if (cellInfo.data.EquipmentStateTypeId() > 2) {
 
-                     if (cellInfo.columnIndex == 7) {
 
-                         $(cellElement).text('0');
 
-                     }
 
-                 }
 
-             }
 
-         },
 
-         sort: { field: "EquipmentHistoryId", desc: true },
 
-         searchViewItems: [
 
-             { id: 'FmsEquipment/Name' },
 
-             { id: 'FmsEquipment/Standard' },
 
-             { id: 'FmsEquipmentRentInfo/RentUser' },
 
-             { id: 'EquipmentStateTypeId', ignoreValue: 0, defaultValue: 0, dataSource: codeStateTypesForSearch }, // 구분
 
-             { id: 'FmsEquipment/FmsEquipmentCodeType/EquipmentTypeId', ignoreValue: 0, defaultValue: 0, dataSource: codeTypesForSearch }, // 분류 
 
-             { id: 'AddDate', type: 'dateRange', isOnlyDate: true },
 
-         ],
 
-         popupWidth: 400,
 
-         handleViewShowing: function (dataModel) {
 
-             $.when(
 
-                 codeStateTypeDataSource.load(),
 
-                 codeTypeDataSource.load(),
 
-                 warehouseDataSource.load()
 
-             ).done(function (codeStateTypeResult, codeTypeResult, warehouseResult) {
 
-                 codeStateTypes(codeStateTypeResult[0]);
 
-                 codeTypes(codeTypeResult[0]);
 
-                 warehouses(warehouseResult[0]);
 
-                 codeStateTypesForSearch($SearchView.createArrayOfSelectBox('EquipmentStateTypeId', codeStateTypes()));
 
-                 codeTypesForSearch($SearchView.createArrayOfSelectBox('EquipmentTypeId', codeTypes()));
 
-                 warehousesForSearch($SearchView.createArrayOfSelectBox('WarehouseId', warehouses()));
 
-                 deferredForSearch.resolve();
 
-             });
 
-         },
 
-         handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
 
-         },
 
-         handlePopupShowing: function (isNewInPopup, dataViewModel) {
 
-             // 저장 버튼 
 
-             viewModel.toolbarItems[4].options.clickAction = this.handlePopupButtonSave;
 
-             dataViewModel.RegisterUserId = $KoSet(dataViewModel.RegisterUserId, BWA.UserInfo.UserId());
 
-             dataViewModel.EquipmentTypeId = ko.observable();
 
-             dataViewModel.WarehouseId = ko.observable();
 
-             dataViewModel.Unit = ko.observable();
 
-             dataViewModel.Standard = ko.observable();
 
-             dataViewModel.SupplierName = ko.observable();
 
-             dataViewModel.SupplierPhoneNo = ko.observable();
 
-         },
 
-         handlePopupShown: function (isEditMode, isNew, dataViewModel) {
 
-             $.when(
 
-                 equipmentExDataSource.load()
 
-              ).done(function (equipmentExResult) {
 
-                  equipmentExs(equipmentExResult);
 
-              });
 
-             if (isNew) { // 신규등록인 경우 
 
-                 dataViewModel.AddDate($G.date(new Date()));
 
-                 dataViewModel.UpdateDate($G.date(new Date()));
 
-                 dataViewModel.RegisterUserId(BWA.UserInfo.UserId());
 
-                 dataViewModel.StoredCount(1);
 
-             }
 
-         },
 
-         handlePopupButtonSave: function () {
 
-             var dataViewModel = viewModel.dataModel;
 
-             if (IsAdditionalEquipment()) {
 
-                 if (dataViewModel.EquipmentId() == null) {
 
-                     utils.toast.show('추가입고할 공기구를 선택하세요.', 'error');
 
-                     return;
 
-                 }
 
-             }
 
-             else {
 
-                 if (dataViewModel.EquipmentTypeId() == null) {
 
-                     utils.toast.show('입고할 공기구 분류를 선택하세요.', 'error');
 
-                     return;
 
-                 }
 
-                 else if (dataViewModel.Name() == null) {
 
-                     utils.toast.show('입고할 공기구 이름을 입력하세요.', 'error');
 
-                     return;
 
-                 }
 
-             }
 
-             if (dataViewModel.WarehouseId() == null) {
 
-                 utils.toast.show('입고될 창고위치를 선택하세요.', 'error');
 
-                 return;
 
-             }
 
-             var parameters = {
 
-                 SiteId: dataViewModel.SiteId(),
 
-                 IsAdditionalEquipment: IsAdditionalEquipment()
 
-             };
 
-             var postData = dataViewModel.toJS();
 
-             BWA.api.post('FmsEquipment', postData, parameters).done(
 
-                 function () {
 
-                     utils.toast.show($G('successDatabaseInsertionMsg'));
 
-                     viewModel.popupVisible(false);
 
-                     viewModel.gridView().refresh();
 
-                 });
 
-         }
 
-     });
 
-     function processValueChange(e) {
 
-         var foundModel = _.find(equipmentExs(), function (x) {
 
-             return x.EquipmentId() === e.value;
 
-         });
 
-         if (foundModel !== undefined) {
 
-             var dataViewModel = viewModel.dataModel;
 
-             dataViewModel.EquipmentId(foundModel.EquipmentId());
 
-             dataViewModel.EquipmentTypeId(foundModel.EquipmentTypeId());
 
-             dataViewModel.WarehouseId(foundModel.WarehouseId());
 
-             dataViewModel.Unit(foundModel.Unit());
 
-             dataViewModel.Standard(foundModel.Standard());
 
-             dataViewModel.UpdateDate(new Date());
 
-             dataViewModel.SupplierName(foundModel.SupplierName());
 
-             dataViewModel.SupplierPhoneNo(foundModel.SupplierPhoneNo());
 
-             dataViewModel.TotalStockCount(foundModel.TotalStockCount());
 
-             dataViewModel.CurrentStockCount(foundModel.CurrentStockCount());
 
-         }
 
-     }
 
-     viewModel.processValueChange = processValueChange;
 
-     viewModel.IsAdditionalEquipment = IsAdditionalEquipment;
 
-     viewModel.equipmentExs = equipmentExs;
 
-     viewModel.codeTypes = codeTypes;
 
-     viewModel.codeStateTypes = codeStateTypes;
 
-     viewModel.warehouses = warehouses;
 
-     return viewModel;
 
- };
 
 
  |