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;
- };
|