| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 | 
							- $(function () {
 
-     'use strict';
 
-     BemsWebApplication.Popup.WorkHistory = {
 
-         create: function (viewInfo, viewModel) {
 
-             var facilitiesInView = ko.observableArray();
 
-             var facilityFactory = BWA.Factory.Facility;
 
-             var popupVisible = ko.observable();
 
-             var viewModel = viewModel;
 
-             var isReject = ko.observable(false);
 
-             var eq = BWA.DataUtil.constructEqualFilter;
 
-             var and = BWA.DataUtil.andFilter;
 
-             var facilityDataSource = facilityFactory.getBasicDataSourceRef({
 
-                 dbModeIId: 'FmsWorkResultToFacility',
 
-                 primaryKeyDataField: 'WorkRequestId'
 
-             });
 
-             //var workResultCheckItemDataSource = BemsWebApplication.db.createDataSource('FmsWorkResultCheckItem', true, true, false, true);// 2018 01 29 hcLee
 
-             var workResultCheckItemDataSource = BWA.DataUtil.createDataSource({  // 2018 01 29 hcLee -->
 
-                 dataSourceOptions: {
 
-                     paginate: false,
 
-                     select: [
 
-                         'SiteId', 'WorkRequestId',
 
-                         'FacilityCode',
 
-                         'CheckItemId',
 
-                         'BoolResult',
 
-                         'TextResult',
 
-                         'CheckDate',
 
-                         'FileId1',
 
-                         'FileId2',
 
-                         'CmFile/Name',
 
-                         'CmFile1/Name',
 
-                     ],
 
-                     expand: [
 
-                         'CmFile',
 
-                         'CmFile1'],
 
-                     extendOptions: {
 
-                         forceOriginalField: true
 
-                     },
 
-                 }
 
-             }, 'FmsWorkResultCheckItem'); // <-- 2018 01 29 hcLee
 
-             var workResultCheckItems = ko.observableArray();
 
-             //var selectedItemCheckDate = ko.observable();
 
-             //var selectedItemTextResult = ko.observable();
 
-             function onItemClick(e) {
 
-                 if (viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel !== undefined) {
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.CheckItemId(e.itemData.CheckItemId());
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.CheckDate(e.itemData.CheckDate());
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.TextResult(e.itemData.TextResult());
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.SiteId(e.itemData.SiteId());
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.WorkRequestId(e.itemData.WorkRequestId());
 
-                     // hcLee 2018 01 29 -->
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.FileId1(e.itemData.FileId1());
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.FileId2(e.itemData.FileId2());
 
-                     //viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName1(e.itemData['CmFile/Name']());
 
-                     (e.itemData.FileId1() != null) ? viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName1(e.itemData['CmFile/Name']()) : viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName1(null);
 
-                     (e.itemData.FileId2() != null) ? viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName2(e.itemData['CmFile1/Name']()) : viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.AttachmentFileName2(null);
 
-                     // <-- hcLee 2018 01 29                    
 
-                     viewModel.isAddHistoryButton(false);
 
-                     viewModel.isEditHistoryButton(false);
 
-                     viewModel.addWorkResultCheckItemPopup.isNew(false);
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkDone(viewModel.isWorkDone());// hcLee 2016 04 04 
 
-                     viewModel.addWorkResultCheckItemPopup.workCheckItemViewModel.IsWorkHold(viewModel.isWorkHold());// hcLee 2016 04 04 
 
-                     viewModel.addWorkResultCheckItemPopup.show();
 
-                 }
 
-             }
 
-             function handleBeforePopupShowingPromise(isNewInPopup, dataViewModel, clickRowData) {
 
-                 var workProgressId;
 
-                 if (isNewInPopup()) {
 
-                     workProgressId = $Code.WorkProgress.WORK_PLAN;
 
-                 }
 
-                 else {
 
-                     workProgressId = clickRowData['WorkProgressId'](); // clickRowData.WorkProgressId();
 
-                     dataViewModel.WorkProgressId = ko.observable();
 
-                     dataViewModel.WorkProgressId(workProgressId);
 
-                     isReject(workProgressId === $Code.WorkProgress.WORK_POSTPONE);
 
-                 }
 
-             }
 
-             function handlePopupShowing(isNewInPopup, dataModel, selectedData) {
 
-                 viewModel.dataModel.selectedItemCheckDate("");
 
-                 viewModel.dataModel.selectedItemTextResult("");
 
-                 viewModel.dataModel.selectedItemCheckItemId(0);
 
-                 viewModel.dataModel.FacilityList("");
 
-                 viewModel.dataModel.FacilityListValueOnOff(false);
 
-             }
 
-             function handlePopupShown(isEditMode, isNew, dataViewModel) {
 
-                 $("#search").dxButton({
 
-                 });
 
-             }
 
-             function searchpopup() {
 
-                 viewModel.WorkResultCheckItemFacilityPopup.selectedFacility(viewModel.dataModel);
 
-                 viewModel.WorkResultCheckItemFacilityPopup.visible(true);
 
-             }
 
-             function handleAfterLoadingModelByKey(data, dataViewModel, isNewInPopup) {
 
-                 // 작업지시 세부 내용은 수정/삭제 할 수 없음 
 
-                 viewModel.visibleEditButton(false);
 
-                 viewModel.visibleDeleteButton(false);
 
-                 facilityDataSource.filter([
 
-                     eq('SiteId', dataViewModel.SiteId()),
 
-                     and,
 
-                     eq('WorkRequestId', dataViewModel.WorkRequestId())
 
-                 ]);
 
-                 facilityDataSource.load().done(function (dbFacilities) {
 
-                     facilitiesInView(dbFacilities);
 
-                     var facilityList = "";
 
-                     for (var i = 0; i < dbFacilities.length; i++) {
 
-                         facilityList += (i + 1) + ". " + dbFacilities[i].Name();
 
-                         if (i + 1 == dbFacilities.length) { break; }
 
-                         facilityList += '\n';
 
-                     }
 
-                     if (facilityList == "") {
 
-                         viewModel.dataModel.FacilityListValueOnOff(false);
 
-                     }
 
-                     else {
 
-                         viewModel.dataModel.FacilityListValueOnOff(true);
 
-                     }
 
-                     viewModel.dataModel.FacilityList(facilityList);
 
-                 });
 
-                 refreshListData();
 
-                 viewModel.workResultCheckItemMaterialPopup.refreshMaterialGrid();
 
-             }
 
-             function refreshListData() {
 
-                 workResultCheckItemDataSource.filter([
 
-                    eq('SiteId', viewModel.dataModel.SiteId()),
 
-                    and,
 
-                    eq('WorkRequestId', viewModel.dataModel.WorkRequestId())
 
-                 ]);
 
-                 workResultCheckItemDataSource.load().done(function (dbWorkCheckItems) {
 
-                     workResultCheckItems(dbWorkCheckItems);
 
-                 });
 
-                 viewModel.dataModel.selectedItemCheckDate("");
 
-                 viewModel.dataModel.selectedItemTextResult("");
 
-                 viewModel.dataModel.selectedItemCheckItemId(0);
 
-             }
 
-             function handleBeforeShowingPopupForEdit(rowData, dataViewModel) {
 
-                 //추가
 
-                 if (viewModel.dataModel.ResultContent == null) {
 
-                     viewModel.dataModel.ResultContent = ko.observable();
 
-                 }
 
-                 else {
 
-                     viewModel.dataModel.ResultContent('');
 
-                 }
 
-                 if (viewModel.dataModel.ResultConfirmDesc == null) {
 
-                     viewModel.dataModel.ResultConfirmDesc = ko.observable();
 
-                 }
 
-                 else {
 
-                     viewModel.dataModel.ResultConfirmDesc('');
 
-                 }
 
-                 if (rowData.WorkProgressId() > 3) {
 
-                     if (rowData['FmsWorkResult/Content']() !== undefined) {
 
-                         viewModel.dataModel.ResultContent(rowData['FmsWorkResult/Content']());
 
-                     }
 
-                     if (rowData['FmsWorkResult/ConfirmDesc']() !== undefined) {
 
-                         viewModel.dataModel.ResultConfirmDesc(rowData['FmsWorkResult/ConfirmDesc']());
 
-                     }
 
-                     dataViewModel.StartDate(new Date(rowData['FmsWorkResult/StartDate']()));
 
-                     dataViewModel.EndDate(new Date(rowData['FmsWorkResult/EndDate']()));
 
-                     dataViewModel.DateVisible(true);
 
-                 }
 
-                 else {
 
-                     dataViewModel.DateVisible(false);
 
-                 }
 
-                 //추가              
 
-                 dataViewModel.Title(rowData['Title']());
 
-                 dataViewModel.workDueDate(rowData['StartWorkDate']());
 
-                 dataViewModel.BusinessFieldName(rowData['CmBusinessField/Name']());
 
-                 dataViewModel.WorkTypeName(rowData['FmsWorkCodeType/Name']());
 
-                 dataViewModel.RequestUserName(rowData['CmUser/Name']());
 
-                 dataViewModel.RejectUserName($KoValue(rowData['CmUser1/Name']));
 
-                 if (rowData['FmsWorkResult/CmUser/Name'] !== undefined) {
 
-                     dataViewModel.WorkerUserName(rowData['FmsWorkResult/CmUser/Name']());
 
-                 }
 
-                 else {
 
-                     dataViewModel.WorkerUserName('');
 
-                 }
 
-                 if (rowData['FmsWorkResult/CmUser1/Name'] !== undefined) {
 
-                     dataViewModel.ConfirmedUserName(rowData['FmsWorkResult/CmUser1/Name']());
 
-                 }
 
-                 else {
 
-                     dataViewModel.ConfirmedUserName('');
 
-                 }
 
-                 dataViewModel.WorkProgressName(rowData['FmsWorkCodeProgress/Name']());
 
-                 if (rowData['FmsWorkOrder/OrderDate'] !== undefined) {
 
-                     dataViewModel.OrderDate(rowData['FmsWorkOrder/OrderDate']());
 
-                 }
 
-                 else {
 
-                     dataViewModel.OrderDate('');
 
-                 }
 
-                 if (rowData['FmsWorkOrder/Content'] !== undefined) {
 
-                     dataViewModel.OrderContent(rowData['FmsWorkOrder/Content']());
 
-                 }
 
-                 ////viewModel.workResultCheckItemMaterialPopup.materials2DataSource.filter([
 
-                 //viewModel.workApprovalMaterialPopup.materials2DataSource.filter([
 
-                 //    eq('SiteId', rowData.SiteId()),
 
-                 //    and,
 
-                 //    eq('WorkRequestId', rowData.WorkRequestId())
 
-                 //    //, and,
 
-                 //    //eq('CheckItemId', e.itemData.CheckItemId())
 
-                 //]);
 
-                 ////viewModel.workResultCheckItemMaterialPopup.materials2DataSource.load().done(function (dbMaterials) {
 
-                 //viewModel.workApprovalMaterialPopup.materials2DataSource.load().done(function (dbMaterials) {
 
-                 //    _.each(dbMaterials, function (sm) {
 
-                 //        //viewModel.workResultCheckItemMaterialPopup.materials2.push({
 
-                 //        viewModel.workApprovalMaterialPopup.materials2.push({
 
-                 //            SiteId: sm.SiteId,
 
-                 //            //PurchaseRequestId: ko.observable(purchaseRequestId),
 
-                 //            MaterialId: sm.MaterialId,
 
-                 //            Name: sm.Name,
 
-                 //            MaterialCode: sm.MaterialCode,
 
-                 //            MaterialCount: sm.MaterialCount
 
-                 //            //FinalPrice: sm.FinalPrice,
 
-                 //        });
 
-                 //    });
 
-                 //});
 
-             }
 
-             function modifyWorkItem() {
 
-                 var workCheckItem = new BemsWebApplication.FmsWorkResultCheckItemViewModel();
 
-                 workCheckItem.SiteId(viewModel.dataModel.SiteId());
 
-                 workCheckItem.WorkRequestId(viewModel.dataModel.WorkRequestId());
 
-                 workCheckItem.CheckItemId(viewModel.dataModel.selectedItemCheckItemId());
 
-                 workCheckItem.TextResult(viewModel.dataModel.selectedItemTextResult())
 
-                 var keys = BWA.db.extractKeysObject('FmsWorkResultCheckItem', workCheckItem);
 
-                 BWA.db.FmsWorkResultCheckItem.update(keys, workCheckItem.toJS()).done(function (res) {
 
-                     utils.toast.show($G('successDatabaseInsertionMsg'));
 
-                     refreshListData();
 
-                 });
 
-             }
 
-             viewModel.dataModel.DateVisible = ko.observable();
 
-             viewModel.dataModel.StartDate = ko.observable();
 
-             viewModel.dataModel.EndDate = ko.observable();
 
-             viewModel.dataModel.Title = ko.observable();
 
-             viewModel.dataModel.workDueDate = ko.observable();
 
-             viewModel.dataModel.BusinessFieldName = ko.observable();
 
-             viewModel.dataModel.WorkTypeName = ko.observable();
 
-             viewModel.dataModel.WorkerUserName = ko.observable();
 
-             viewModel.dataModel.ConfirmedUserName = ko.observable();
 
-             viewModel.dataModel.WorkProgressName = ko.observable();
 
-             viewModel.dataModel.OrderDate = ko.observable();
 
-             viewModel.dataModel.RejectUserName = ko.observable();
 
-             viewModel.dataModel.RequestUserName = ko.observable();
 
-             viewModel.dataModel.OrderContent = ko.observable();
 
-             viewModel.dataModel.FacilityList = ko.observable();
 
-             viewModel.dataModel.FacilityListValueOnOff = ko.observable();
 
-             viewModel.dataModel.selectedItemCheckDate = ko.observable();
 
-             viewModel.dataModel.selectedItemTextResult = ko.observable();
 
-             viewModel.dataModel.selectedItemCheckItemId = ko.observable();
 
-             viewModel.workResultCheckItems = workResultCheckItems;
 
-             viewModel.refreshListData = refreshListData;
 
-             viewModel.onItemClick = onItemClick;
 
-             viewModel.searchpopup = searchpopup;
 
-             viewModel.addWorkResultCheckItemPopup.popupVisible.subscribe(function (visible) {
 
-                 if (!visible) {
 
-                     refreshListData();
 
-                 }
 
-             });
 
-             function sleep(ms) {
 
-                 var ts1, ts2 = null;
 
-                 ts1 = new Date().getTime() + ms;
 
-                 do ts2 = new Date().getTime(); while (ts2 < ts1);
 
-             }
 
-             return {
 
-                 isReject: isReject,
 
-                 popupVisible: popupVisible,
 
-                 modifyWorkItem: modifyWorkItem,
 
-                 workResultCheckItems: workResultCheckItems,
 
-                 handleAfterLoadingModelByKey: handleAfterLoadingModelByKey,
 
-                 handlePopupShowing: handlePopupShowing,
 
-                 handlePopupShown: handlePopupShown,
 
-                 handleBeforeShowingPopupForEdit: handleBeforeShowingPopupForEdit,
 
-                 handleBeforePopupShowingPromise: handleBeforePopupShowingPromise,
 
-                 refreshListData: refreshListData
 
-             };
 
-         }
 
-     }
 
- });
 
 
  |