123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- $(function () {
- "use strict";
- BemsWebApplication.Factory.Facility = {
- getBasicDataSourceRef: function (options) {
- var dbModeIId = options.dbModeIId,
- primaryKeyDataField = options.primaryKeyDataField,
- moreSelectFields = options.moreSelectFields,
- expand = ['CmFacility'];
- var select = [
- 'SiteId', primaryKeyDataField,
- 'FacilityCode',
- 'CmFacility/Name',
- 'CmFacility/FirstClassId',
- 'CmFacility/SecondClassId',
- 'CmFacility/ThirdClassId',
- ];
- if (_.isArray(moreSelectFields)) {
- select = select.concat(moreSelectFields);
- }
- if (_.isArray(options.expand)) {
- expand = expand.concat(options.expand);
- }
- return BWA.DataUtil.createDataSource({
- dataSourceOptions: {
- paginate: false, // 전체를 모두 가져옴
- select: select,
- expand: expand,
- extendOptions: {
- forceOriginalField: true,
- alterNames: {
- 'CmFacility/Name': 'Name',
- 'CmFacility/FirstClassId': 'FirstClassId',
- 'CmFacility/SecondClassId': 'SecondClassId',
- 'CmFacility/ThirdClassId': 'ThirdClassId',
- }
- }
- }
- }, dbModeIId);
- },
- getDataSourceWithRelation: function (store, options) {
- return BWA.Factory.getBaseDataSourceWithRelation(
- store,
- options,
- BemsWebApplication.Factory.Facility.getDataSourceForRefDataGrid(),
- 'CmFacility');
- //var factory = BemsWebApplication.Factory.Facility;
- //var dataSourceOptions = factory.dataSourceForRefDataGrid;
- //return BWA.DataUtil.createDataSource({
- // dataSourceOptions: {
- // store: store,
- // select: dataSourceOptions.select,
- // expand: dataSourceOptions.expand,
- // refOptions: options,
- // extendOptions: {
- // multipleItems: dataSourceOptions.extendOptions.multipleItems,
- // alterNames: BWA.DataUtil.mapObject(dataSourceOptions.extendOptions.alterNames, function(x) {
- // return 'CmFacility/' + x;
- // })
- // }
- // },
- // ref: 'CmFacility'
- //});
- },
- formatClassName: function (firstClassName, secondClassName, thirdClassName) {
- var className = _.reduce(arguments, function (sb, name) {
- if (_.isEmpty(name)) return sb;
- if (_.isEmpty(sb)) {
- sb.push(name);
- return sb;
- }
- sb.push('-')
- sb.push(name);
- return sb;
- }, []);
- return className.join('');
- },
- formatName: function (name, nickName) {
- return '{0} / {1}'.formati(name, nickName);
- },
- cellPrepared: function (cellElement, cellInfo) {
- var data = cellInfo.data;
- var self = BemsWebApplication.Factory.Facility;
- if (cellInfo.rowType == 'data') // hcLee V14-V15
- {
- switch (cellInfo.column.dataField) {
- case 'ClassName':
- {
- if (!data.FirstClassName) break;
- $(cellElement).text(self.formatClassName(data.FirstClassName(), data.SecondClassName(), data.ThirdClassName()));
- break;
- }
- case 'Name':
- {
- $(cellElement).text(self.formatName(data.Name(), data.Nickname()));
- break;
- }
- case 'Location':
- {
- if (!data.BuildingName) break;
- $(cellElement).text($G.formatLocation(data.BuildingName(), data.FloorName(), data.ZoneName()));
- break;
- }
- }
- }
- },
- selectItemsInDataSource: [
- 'SiteId', 'FacilityCode', 'ParentFacilityName', 'FirstClassName', 'SecondClassName', 'ThirdClassName', 'Name', 'Nickname',
- 'BuildingName', 'FloorName', 'ZoneName', 'ManufactureModel', 'MainContactorUserName', 'SubContactorUserName',
- 'CmFloor/Name',
- 'FmsFacilityCodeClass/Name'
- ],
- getDataSourceForDataGrid: function () {
- return {
- select: [
- 'SiteId', 'FacilityCode', 'FacilityTypeId', 'CmFacility2/Name', 'FmsFacilityCodeClass/Name', 'FmsFacilityCodeClass1/Name', 'FmsFacilityCodeClass2/Name',
- 'Name', 'Nickname', 'CmBuilding/Name', 'CmFloor/Name', 'CmZone/Name', 'ManufactureModel', 'CmUser/Name', 'CmUser1/Name', 'BemsFuelType/Name', 'BemsNoticePriceContractType/Name',
- 'FacilityCapacity', 'FirstClassId', 'SecondClassId', 'ThirdClassId', 'ParentFacilityCode'// hcLee 2016 06 03 추가
- //'MainContactorUserName'
- ],
- expand: ['CmBuilding', 'CmFloor', 'CmZone', 'CmUser', 'CmUser1', 'FmsFacilityCodeClass', 'FmsFacilityCodeClass1', 'FmsFacilityCodeClass2', 'CmFacility2', 'BemsFuelType', 'BemsNoticePriceContractType'],
- //expand: ['CmBuilding', 'CmFloor', 'CmZone'],
- filter: [
- ['SiteId', '=', BWA.UserInfo.SiteId()],
- 'and',
- ['FacilityCode', '>=', $Code.Facility.UPPER_BOUND],
- 'and',
- ['IsVirtualFacility', '=', false],
- 'and',
- ['FacilityTypeId', '<', 99]
- ],
- extendOptions: {
- forceOriginalField: true,
- multipleItems: [
- /* {
- id: 'FacilityClassId',
- entries: ['FmsFacilityCodeClass', 'FmsFacilityCodeClass1', 'FmsFacilityCodeClass2'],
- fields: ['FirstClassId', 'SecondClassId', 'ThirdClassId'],
- },*/
- /* {
- id: 'UserId',
- entries: ['CmUser', 'CmUser1'],
- fields: ['MainContactorUserId', 'SubContactorUserId'],
- },*/
- /* {
- id: 'FacilityCode',
- entries: ['CmFacility2'],
- fields: ['ParentFacilityCode'],
- }*/
- ],
- alterNames: {
- 'CmFacility/ParentFacilityCode/Name': 'ParentFacilityName',
- /*
- 'FmsFacilityCodeClass/FirstClassId/Name': 'FirstClassName',
- 'FmsFacilityCodeClass/SecondClassId/Name': 'SecondClassName',
- 'FmsFacilityCodeClass/ThirdClassId/Name': 'ThirdClassName', */
- // 'FmsFacilityCodeClass/Name': 'FirstClassName',
- // 'FmsFacilityCodeClass1/Name': 'SecondClassName',
- // 'FmsFacilityCodeClass2/Name': 'ThirdClassName',
- 'CmUser/MainContactorUserId/Name': 'MainContactorUserName',
- 'CmUser/SubContactorUserId/Name': 'SubContactorUserName',
- // 'CmBuilding/Name': 'BuildingName',
- // 'CmFloor/Name': 'FloorName', //
- // 'CmZone/Name': 'ZoneName',
- }
- }
- };
- },
- getDataSourceForRefDataGrid: function () {
- return {
- select: [
- 'SiteId', 'FacilityCode', 'FmsFacilityCodeClass/Name', 'FmsFacilityCodeClass1/Name', 'FmsFacilityCodeClass2/Name',
- 'Name', 'Nickname', 'CmBuilding/Name', 'CmFloor/Name', 'CmZone/Name', 'ManufactureModel', 'CmUser/Name', 'CmUser1/Name'
- ],
- //expand: ['CmBuilding', 'CmFloor', 'CmZone'],
- expand: ['CmBuilding', 'CmFloor', 'CmZone', 'CmUser', 'CmUser1', 'FmsFacilityCodeClass', 'FmsFacilityCodeClass1', 'FmsFacilityCodeClass2', 'CmFacility2', 'BemsFuelType', 'BemsNoticePriceContractType'],
- filter: [
- ['SiteId', '=', BWA.UserInfo.SiteId()],
- 'and',
- ['FacilityCode', '>=', $Code.Facility.UPPER_BOUND]
- ],
- extendOptions: {
- forceOriginalField: true,
- multipleItems: [
- /* {
- id: 'FacilityClassId',
- entries: ['FmsFacilityCodeClass', 'FmsFacilityCodeClass1', 'FmsFacilityCodeClass2'],
- fields: ['FirstClassId', 'SecondClassId', 'ThirdClassId'],
- }, {
- id: 'UserId',
- entries: ['CmUser', 'CmUser1'],
- fields: ['MainContactorUserId', 'SubContactorUserId'],
- }*/
- ],
- alterNames: {
- 'SiteId': 'SiteId',
- 'FacilityCode': 'FacilityCode',
- 'Name': 'Name',
- 'Nickname': 'Nickname',
- /*
- 'FmsFacilityCodeClass/FirstClassId/Name': 'FirstClassName',
- 'FmsFacilityCodeClass/SecondClassId/Name': 'SecondClassName',
- 'FmsFacilityCodeClass/ThirdClassId/Name': 'ThirdClassName', */
- // 'FmsFacilityCodeClass/Name': 'FirstClassName',
- // 'FmsFacilityCodeClass1/Name': 'SecondClassName',
- // 'FmsFacilityCodeClass2/Name': 'ThirdClassName',
- 'CmUser/MainContactorUserId/Name': 'MainContactorUserName',
- 'CmUser/SubContactorUserId/Name': 'SubContactorUserName',
- // 'CmBuilding/Name': 'BuildingName',
- // 'CmFloor/Name': 'FloorName',
- // 'CmZone/Name': 'ZoneName',
- }
- }
- };
- },
- defaultColumns: [
- { dataField: 'FacilityCode', caption: $G('number'), width: '10%', alignment: 'center', sortOrder: 'desc' },
- //{ dataField: 'ClassName', caption: $G('facilityClassName'), width: '20%', alignment: 'center', allowFiltering: false },
- { dataField: 'FirstClassId', caption: '시설(대)', width: '7%', alignment: 'center', allowFiltering: false },
- { dataField: 'SecondClassId', caption: '시설(중)', width: '10%', alignment: 'center', allowFiltering: false },
- { dataField: 'ThirdClassId', caption: '시설(소)', width: '10%', alignment: 'center', allowFiltering: false },
- { dataField: 'Name', caption: $G('facilityName'), width: '20%', alignment: 'center' },
- { dataField: 'ManufactureModel', caption: $G('facilityManufactureModel'), width: '10%', alignment: 'center', allowFiltering: false },
- //{ dataField: 'MainContactorUserName', caption: $G('facilityMainContactorUserName'), width: '10%', alignment: 'center', allowFiltering: false },
- //{ dataField: 'SubContactorUserName', caption: $G('facilitySubContactorUserName'), width: '10%', alignment: 'center', allowFiltering: false },
- //{ dataField: 'Location', caption: $G('facilityLocation'), width: '20%', alignment: 'center' }
- { dataField: 'CmUser/Name', caption: $G('facilityMainContactorUserName'), width: '7%', alignment: 'center', allowFiltering: false },
- { dataField: 'CmUser1/Name', caption: $G('facilitySubContactorUserName'), width: '7%', alignment: 'center', allowFiltering: false },
- //{ dataField: 'FloorName', caption: $G('facilityLocation'), width: '20%', alignment: 'center' }
- //{ dataField: 'CmBuilding/Name', caption: $G('facilityLocation'), width: '20%', alignment: 'center' },
- { dataField: 'CmFloor/Name', caption: $G('facilityLocation'), width: '20%', alignment: 'center' },
- //{ dataField: 'CmZone/Name', caption: $G('facilityLocation'), width: '20%', alignment: 'center' }
- ],
- };
- $.extend(BWA.Factory.Facility, BWA.DataUtil.pickFunctions(BWA.Factory));
- });
|