| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | 
							- BemsWebApplication.MaterialWarehouse = function(params, viewInfo) {
 
-     'use strict';
 
-     var businessFieldDataSource = BemsWebApplication.db.createDataSource('CmBusinessField', true, true, true);
 
-     var businessFieldsForSearch = ko.observableArray(),
 
-         BusinessFieldName = ko.observableArray(),
 
-         businessFields = ko.observableArray();
 
-     var eq = BWA.DataUtil.constructEqualFilter,
 
-         and = BWA.DataUtil.andFilter;
 
-     var deferredForSearch = new $.Deferred();
 
-     var MaterialWarehouseInfo = ko.observableArray();
 
-     var FmsMaterialWarehouseDataSource = BemsWebApplication.db.createDataSource('FmsMaterialWarehouse');
 
-     var RowBusinessFieldId, RowName;
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'FmsMaterialWarehouse', {
 
-         dataSourceOptions: {
 
-             select: ['SiteId', 'WarehouseId', 'BusinessFieldId', 'Name', 'IsUse', 'CmBusinessField/Name'],
 
-             expand: ["CmBusinessField"],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             },
 
-             filter: [
 
-                 eq('SiteId', BWA.UserInfo.SiteId()),
 
-                 // 2016 05 02 hcLee
 
-                 and,
 
-                 ['BusinessFieldId', '<>', 1],
 
-             ]
 
-         },
 
-         columns: [
 
-             { dataField: 'WarehouseId', caption: $G('number'), width: '20%', alignment: 'center' ,sortOrder:'desc' },
 
-             { dataField: 'CmBusinessField/Name', caption: $G('businessField'), width: '20%', alignment: 'center' },
 
-             { dataField: 'Name', caption: $G('warehouseName'), width: '40%', alignment: 'center' },
 
-             utils.datagrid.columnIsUse('20%')
 
-         ],
 
-         searchViewItems: [
 
-             { id: 'BusinessFieldId', ignoreValue: 0, defaultValue: 0, dataSource: businessFieldsForSearch },
 
-             { id: 'Name' }
 
-         ],
 
-         promiseDataInSearchView: deferredForSearch.promise(),
 
-         handleViewShowing: function (dataModel) {
 
-             var useBusinessFiltering = BWA.UserInfo.isDependBusinessField(viewInfo.viewName)
 
-             if (useBusinessFiltering) {
 
-                 this.dataSourceOptions.filter.push('and');
 
-                 //this.dataSourceOptions.filter.push([eq('BusinessFieldId', BWA.UserInfo.BusinessFieldId()), 'or', eq('BusinessFieldId', 1)]);
 
-                 this.dataSourceOptions.filter.push([eq('BusinessFieldId', BWA.UserInfo.BusinessFieldId())]);
 
-                 businessFieldDataSource.filter([
 
-                   eq('SiteId', BWA.UserInfo.SiteId()),
 
-                   and,
 
-                   //[eq('BusinessFieldId', BWA.UserInfo.BusinessFieldId()), 'or', eq('BusinessFieldId', 1)]
 
-                   [eq('BusinessFieldId', BWA.UserInfo.BusinessFieldId()), 'and', ['BusinessFieldId', '<>', 1]]
 
-                 ]);
 
-             }
 
-             else {
 
-                 businessFieldDataSource.filter([
 
-                   eq('SiteId', BWA.UserInfo.SiteId()),
 
-                   and,
 
-                   ['BusinessFieldId', '<>', 1]]);
 
-             }
 
-             businessFieldDataSource.load().done(function (dbBusinessFields) {
 
-                 businessFields(dbBusinessFields);
 
-                 businessFieldsForSearch($SearchView.createArrayOfSelectBox('BusinessFieldId', dbBusinessFields));
 
-             });
 
-         },
 
-         handleViewShown: function() {
 
-           
 
-         },
 
-         handleDataGridRowClick: function(id, dataGrid, clickRow, popupVisible) {
 
-             dataGrid.clearSelection();
 
-             var data = clickRow.data;
 
-             var dataModel = viewModel.dataModel;
 
-             BusinessFieldName($KoSet(dataModel.BusinessFieldName, data['CmBusinessField/Name']));
 
-             RowName = data.Name;
 
-             RowBusinessFieldId = data.BusinessFieldId;
 
-             popupVisible(true);
 
-         },
 
-         popupWidth: 480,
 
-         // 이름 중복 방지
 
-         handlePopupShowing: function () {
 
-             FmsMaterialWarehouseDataSource.filter([
 
-                 ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-             ]);
 
-             FmsMaterialWarehouseDataSource.load().done(function (result) {
 
-                 MaterialWarehouseInfo(result);
 
-             });
 
-         },
 
-         beforeInsertingDataViewModel: function (dataModel, dbModelId) {
 
-             var dfd = $.Deferred();
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < MaterialWarehouseInfo().length; i++) {
 
-                 if (dataModel.Name() == MaterialWarehouseInfo()[i].Name() && dataModel.BusinessFieldId() == MaterialWarehouseInfo()[i].BusinessFieldId()) {
 
-                     isDuplicated = true;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(dataModel.Name()))
 
-                 return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
 
-             else {
 
-                 if (isDuplicated)
 
-                     return dfd.resolve(false, '동일 정보가 존재합니다.');
 
-                 else
 
-                     return dfd.resolve(true);
 
-             }
 
-         },
 
-         beforeUpdateDataViewModel: function () {
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < MaterialWarehouseInfo().length; i++) {
 
-                 if (viewModel.dataModel.Name() == MaterialWarehouseInfo()[i].Name() && viewModel.dataModel.BusinessFieldId() == MaterialWarehouseInfo()[i].BusinessFieldId()
 
-                     && (RowName() != MaterialWarehouseInfo()[i].Name() || RowBusinessFieldId() != MaterialWarehouseInfo()[i].BusinessFieldId())) {
 
-                     isDuplicated = true;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {
 
-                 utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
 
-                 return 0;
 
-             }
 
-             else {
 
-                 if (isDuplicated) {
 
-                     utils.toast.show('동일 정보가 존재합니다.', 'error');
 
-                     return 0;
 
-                 }
 
-                 else
 
-                     return 2;
 
-             }
 
-         }
 
-     });
 
-     viewModel.businessFields = businessFields;
 
-     viewModel.BusinessFieldName = BusinessFieldName;
 
-     return viewModel;
 
- };
 
 
  |