| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 | 
							- BemsWebApplication.EquipReturnInfo = 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 codeTypes = ko.observableArray(),
 
-         codeStateTypes = ko.observableArray(),
 
-         warehouses = ko.observableArray()
 
-     ;
 
-     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',
 
-                 'FmsEquipment/WarehouseId',
 
-                 'FmsEquipment/Unit',
 
-                 'FmsEquipment/Standard',
 
-                 'FmsEquipment/Name',
 
-                 'FmsEquipmentCodeStateType/Name', 
 
-                 'FmsEquipment/Standard',
 
-                 'FmsEquipmentRentInfo/Title',
 
-                 'FmsEquipmentRentInfo/CmUser1/Name', // 대여자
 
-                 'FmsEquipmentRentInfo/RentDate',
 
-                 'FmsEquipmentRentInfo/ReturnDueDate'
 
-             ],
 
-             expand: [
 
-                 'FmsEquipment',
 
-                 'FmsEquipmentRentInfo',
 
-                 'FmsEquipmentRentInfo/CmUser1',
 
-                 'FmsEquipmentCodeStateType'
 
-             ],
 
-             extendOptions: {
 
-                 forceOriginalField: true,
 
-             },
 
-             filter: [
 
-                 ['SiteId', '=', BWA.UserInfo.SiteId()] ,
 
-                 //'and',
 
-                 //['EquipmentStateTypeId', '=', 2],
 
-                 'and',
 
-                 ['IsReturned', '=', false]
 
-             ]
 
-         },
 
-         columns: [
 
-             { dataField: 'Number', caption: $G('number'), width: '10%', alignment: 'center' },
 
-             { dataField: 'EquipmentRentId', caption: '대여고유번호', width: '15%', alignment: 'center', sortOrder: 'desc' },
 
-             { dataField: 'FmsEquipment/Name', caption: $G('name'), width: '30%', alignment: 'center' },
 
-             // { dataField: 'FmsEquipmentCodeStateType/Name', caption: '상태', width: '20%', alignment: 'center' },
 
-             { dataField: 'FmsEquipment/Standard', caption: '규격', width: '15%', alignment: 'center' },
 
-             { dataField: 'FmsEquipment/Unit', caption: '단위', width: '15%', alignment: 'center' },
 
-             { dataField: 'CurrentRentCount', caption: '대여수량', width: '10%', alignment: 'center', format: 'currency' },
 
-             //{ dataField: 'CurrentStockCount', caption: '보유수량', width: '10%', alignment: 'center' },
 
-             //{ dataField: 'TotalStockCount', caption: '전체수량', width: '10%', alignment: 'center' },
 
-             { dataField: 'FmsEquipmentRentInfo/CmUser1/Name', caption: '대여자', width: '20%', alignment: 'center' },
 
-               {
 
-                   dataField: 'FmsEquipmentRentInfo/RentDate', caption: '대여일', width: '20%', alignment: 'center',
 
-                   customizeText: function (cellInfo) {
 
-                       return $G.date(cellInfo.value);
 
-                   }
 
-               },
 
-             {
 
-                 dataField: 'FmsEquipmentRentInfo/ReturnDueDate', caption: '반납예정일', width: '20%', alignment: 'center',
 
-                 customizeText: function (cellInfo) {
 
-                     return $G.date(cellInfo.value);
 
-                 }
 
-             },
 
-         ],
 
-         sort: { field: "EquipmentRentId", desc: true },
 
-         searchViewItems: [{ id: 'Name' }, { id: 'Name' }],
 
-         popupWidth: 740,
 
-         handleViewShowing: function (dataModel) {
 
-             codeStateTypeDataSource.filter([
 
-                 ['EquipmentStateTypeId', '>', 2], // 입고,출고 유형제외
 
-             ]);
 
-             $.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) {
 
-             dataGrid.clearSelection();
 
-             var data = clickRow.data;
 
-             var dataModel = viewModel.dataModel;
 
-             
 
-             dataModel.EquipmentName = $KoSet(dataModel.EquipmentName, data['FmsEquipment/Name']());
 
-             dataModel.Standard = $KoSet(dataModel.Standard, data['FmsEquipment/Standard']());
 
-             dataModel.Title = $KoSet(dataModel.Title, data['FmsEquipmentRentInfo/Title']());
 
-             if (data['FmsEquipmentRentInfo/CmUser1/Name'] !== undefined) {
 
-                 dataModel.RentUserName = $KoSet(dataModel.RentUserName, data['FmsEquipmentRentInfo/CmUser1/Name']());
 
-             }
 
-             dataModel.RentDate = $KoSet(dataModel.RentDate, data['FmsEquipmentRentInfo/RentDate']());
 
-             dataModel.ReturnDueDate = $KoSet(dataModel.ReturnDueDate, data['FmsEquipmentRentInfo/ReturnDueDate']());
 
-             //dataModel.NewReturnCount(0);
 
-             //dataModel.NewLossCount(0);
 
-             popupVisible(true);
 
-         },
 
-         handlePopupShowing: function (isNewInPopup, dataViewModel) {
 
-             // 저장 버튼 
 
-             viewModel.toolbarItems[4].options.clickAction = this.handlePopupButtonSave;
 
-             // Admin 계정만 활성화 되는 이상 현상으로 인한 코드 
 
-             viewModel.toolbarItems[4].options.disabled(false);
 
-         },
 
-         handlePopupButtonSave: function () {
 
-             var dataViewModel = viewModel.dataModel;
 
-             if (dataViewModel.CurrentRentCount() < dataViewModel.LossCount() + dataViewModel.ReturnCount()) {
 
-                 utils.toast.show('반납 혹은 손실을 확인하시기 바랍니다.', 'warning');
 
-                 return;
 
-             }
 
-             var postData = dataViewModel.toJS();
 
-             BWA.api.post('FmsEquipmentHistory/AddHistory', postData).done(
 
-                 function () {
 
-                     viewModel.gridView().refresh();
 
-                     utils.toast.show($G('successDatabaseProcessMsg'));
 
-                     viewModel.popupVisible(false);
 
-                 });
 
-         },
 
-         handlePopupShown: function (isEditMode, isNew, dataViewModel) {
 
-             setEditMode();
 
-             dataViewModel.ReturnCount(0);
 
-             dataViewModel.LossCount(0);
 
-         }
 
-     });
 
-     function setEditMode() {
 
-         viewModel.visibleEditButton(false);
 
-         viewModel.visibleDeleteButton(false);
 
-         viewModel.viewModeInPopup(false);
 
-         viewModel.isEditModeInPopup(true);
 
-     }
 
-     viewModel.dataModel.NewReturnCount = ko.observable(0);
 
-     viewModel.dataModel.NewLossCount = ko.observable(0);
 
-     viewModel.codeTypes = codeTypes;
 
-     viewModel.codeStateTypes = codeStateTypes;
 
-     viewModel.warehouses = warehouses;
 
-     return viewModel;
 
- };
 
 
  |