From 2ae9565175db669fb0062eb0383638573f52b297 Mon Sep 17 00:00:00 2001 From: Mauve Date: Tue, 15 Sep 2026 17:04:12 +0800 Subject: [PATCH] updated --- .../export/export_approval_routing.json | 182 ++++++++++++++++++ .../export/export_bed_type_mapping.json | 6 + .../export/export_failed_list.json | 4 +- .../export/export_other_user_mapping.json | 12 ++ .../import/import_bed_type_mapping.json | 9 +- .../import/import_other_user_mapping.json | 2 +- .../services/OtherAllotmentService.java | 2 +- .../controllers/SettingController.java | 35 +++- .../property/dtos/CfgPropertiesDto.java | 3 + .../request/CreateUpdatePropertyRequest.java | 6 + .../property/models/CfgProperties.java | 7 + .../room/controllers/BedTypeController.java | 1 - .../basesetting/room/dtos/CfgRoomsDto.java | 5 +- .../BedTypeMappingImportRowRequest.java | 1 + .../dtos/request/CreateUpdateRoomRequest.java | 8 + .../basesetting/room/models/CfgRooms.java | 9 + .../room/services/BedTypeService.java | 25 +-- .../OtherUserMappingController.java | 1 - .../services/OtherUserMappingService.java | 9 +- .../controllers/BookingController.java | 3 + .../reservation/dtos/BookingsViewDto.java | 5 +- .../mcrm/reservation/models/BookingsView.java | 6 + .../reservation/services/BookingService.java | 168 +++++++++++++--- .../services/OtherBookingService.java | 7 +- .../reservation/services/WaitlistService.java | 2 +- .../export/export_approval_routing.json | 182 ++++++++++++++++++ .../export/export_bed_type_mapping.json | 6 + .../export/export_failed_list.json | 4 +- .../export/export_other_user_mapping.json | 12 ++ .../import/import_bed_type_mapping.json | 9 +- .../import/import_other_user_mapping.json | 2 +- 31 files changed, 663 insertions(+), 70 deletions(-) create mode 100644 crm_runtime/excel_define/export/export_approval_routing.json create mode 100644 target/crm_runtime/excel_define/export/export_approval_routing.json diff --git a/crm_runtime/excel_define/export/export_approval_routing.json b/crm_runtime/excel_define/export/export_approval_routing.json new file mode 100644 index 0000000..703b840 --- /dev/null +++ b/crm_runtime/excel_define/export/export_approval_routing.json @@ -0,0 +1,182 @@ +{ + "exportName": "EXPORT_APPROVAL_ROUTING", + "exportPages": [{ + "sheetIndx": 0, + "sheetName": "Approval Routing", + "dataElements": [{ + "blockName": "masterData", + "offsetRow": 0, + "offsetCol": 0, + "elementType": 2, + "isShowHeader": true, + "headerAlign": "center", + "headerColor": "#f5ebd9", + "headerTextColor": "#000000", + "textAlign": "left", + "textColor": "#000000", + "objClassName": "com.mgm.mcrm.reservation.dtos.BookingsViewDto", + "columnDefs": [ + { + "columnHeader": "Id", + "attrName": "id", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Status", + "attrName": "approveStatus", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Create Time", + "attrName": "createdAt", + "dataType": "Date", + "formatVal": "yyyy-MM-dd HH:mm:ss", + "columnWidth": 30 + }, + { + "columnHeader": "Conf#", + "attrName": "confirmationNo", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Patron ID", + "attrName": "playerId", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Player Name", + "attrName": "memberLastName", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Tier", + "attrName": "tier", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Property", + "attrName": "propertyName", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Room Catagory", + "attrName": "room", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Room Type", + "attrName": "roomTypeCode", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Type", + "attrName": "bookType", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Check in Date", + "attrName": "checkinDate", + "dataType": "Date", + "formatVal": "yyyy-MM-dd", + "columnWidth": 30 + }, + { + "columnHeader": "Check Out Date", + "attrName": "checkoutDate", + "dataType": "Date", + "formatVal": "yyyy-MM-dd", + "columnWidth": 30 + }, + { + "columnHeader": "Continuous / Overlap Booking(C/I to C/O)", + "attrName": "overlapBooking", + "dataType": "String", + "columnWidth": 40 + }, + { + "columnHeader": "Booker Team", + "attrName": "sectionName", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Booker ID", + "attrName": "createdBy", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Booker Name", + "attrName": "booker", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Sharer", + "attrName": "sharer", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Remarks", + "attrName": "remark", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Ranking By Player Evaluation", + "attrName": "dailyTheoProfit", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Approval Remark", + "attrName": "mscRemark", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Received Approver ID", + "attrName": "approverId", + "dataType": "String", + "columnWidth": 25 + }, + { + "columnHeader": "Received Approver", + "attrName": "approverName", + "dataType": "String", + "columnWidth": 25 + }, + { + "columnHeader": "Approval Reason", + "attrName": "approvalReason", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Approver", + "attrName": "approvedId", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Approved Date", + "attrName": "approvedAt", + "dataType": "Date", + "formatVal": "yyyy-MM-dd HH:mm:ss", + "columnWidth": 30 + } + ] + }] + }] +} \ No newline at end of file diff --git a/crm_runtime/excel_define/export/export_bed_type_mapping.json b/crm_runtime/excel_define/export/export_bed_type_mapping.json index 9cac465..fc2c0eb 100644 --- a/crm_runtime/excel_define/export/export_bed_type_mapping.json +++ b/crm_runtime/excel_define/export/export_bed_type_mapping.json @@ -39,6 +39,12 @@ "dataType": "String", "columnWidth":30 }, + { + "columnHeader":"Category", + "attrName": "category", + "dataType": "String", + "columnWidth":30 + }, { "columnHeader":"Created Time", "attrName": "createdAt", diff --git a/crm_runtime/excel_define/export/export_failed_list.json b/crm_runtime/excel_define/export/export_failed_list.json index a0f43ee..3f64d84 100644 --- a/crm_runtime/excel_define/export/export_failed_list.json +++ b/crm_runtime/excel_define/export/export_failed_list.json @@ -14,7 +14,7 @@ "headerTextColor":"#000000", "textAlign":"left", "textColor":"#000000", - "objClassName": "com.mgm.mcrm.reservation.models.BookingsView", + "objClassName": "com.mgm.mcrm.reservation.dtos.BookingsViewDto", "columnDefs": [{ "columnHeader":"Failure ID", "attrName": "id", @@ -91,7 +91,7 @@ }, { "columnHeader":"Section", - "attrName": "teamName", + "attrName": "sectionName", "dataType": "String", "columnWidth":20 }, diff --git a/crm_runtime/excel_define/export/export_other_user_mapping.json b/crm_runtime/excel_define/export/export_other_user_mapping.json index edb9404..1af5ee5 100644 --- a/crm_runtime/excel_define/export/export_other_user_mapping.json +++ b/crm_runtime/excel_define/export/export_other_user_mapping.json @@ -22,6 +22,18 @@ "dataType": "String", "columnWidth":20 }, + { + "columnHeader":"User Division", + "attrName": "divisionName", + "dataType": "String", + "columnWidth":20 + }, + { + "columnHeader":"Department", + "attrName": "departmentName", + "dataType": "String", + "columnWidth":20 + }, { "columnHeader":"Section", "attrName": "sectionName", diff --git a/crm_runtime/excel_define/import/import_bed_type_mapping.json b/crm_runtime/excel_define/import/import_bed_type_mapping.json index c32fb05..ee10c73 100644 --- a/crm_runtime/excel_define/import/import_bed_type_mapping.json +++ b/crm_runtime/excel_define/import/import_bed_type_mapping.json @@ -5,7 +5,7 @@ "dataElements": [{ "offsetRow": 1, "offsetCol": 0, - "objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.BedTypeMappingImportRow", + "objClassName": "com.mgm.mcrm.basesetting.room.dtos.request.BedTypeMappingImportRowRequest", "columnDefs": [{ "columnHeader":"Property", "checkHeader":true, @@ -33,6 +33,13 @@ "headerRowIdx":0, "attrName": "bedTypeName", "dataType": "String" + }, + { + "columnHeader":"Category", + "checkHeader":true, + "headerRowIdx":0, + "attrName": "category", + "dataType": "String" } ] }] diff --git a/crm_runtime/excel_define/import/import_other_user_mapping.json b/crm_runtime/excel_define/import/import_other_user_mapping.json index 9bce576..047dbd5 100644 --- a/crm_runtime/excel_define/import/import_other_user_mapping.json +++ b/crm_runtime/excel_define/import/import_other_user_mapping.json @@ -5,7 +5,7 @@ "dataElements": [{ "offsetRow": 1, "offsetCol": 0, - "objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.OtherUserMappingImportRow", + "objClassName": "com.mgm.mcrm.basesetting.team.dtos.response.OtherUserMappingImportRowResponse", "columnDefs": [ { "columnHeader":"Booking Type", diff --git a/src/main/java/com/mgm/mcrm/allotment/services/OtherAllotmentService.java b/src/main/java/com/mgm/mcrm/allotment/services/OtherAllotmentService.java index 582965e..7c6b495 100644 --- a/src/main/java/com/mgm/mcrm/allotment/services/OtherAllotmentService.java +++ b/src/main/java/com/mgm/mcrm/allotment/services/OtherAllotmentService.java @@ -890,7 +890,7 @@ public class OtherAllotmentService { for(CfgOtherAllotmentView exportItem:listCfgOtherAllotmentView) { //--Set special content for export if(exportItem.getProperty()!=null) { - exportItem.setPropertyName(exportItem.getProperty().getCode()); + exportItem.setPropertyName(exportItem.getProperty().getName()); } if(exportItem.getBookDate()!=null) { exportItem.setBookDateText(exportItem.getBookDate().format(dtFormat)); diff --git a/src/main/java/com/mgm/mcrm/appsetting/controllers/SettingController.java b/src/main/java/com/mgm/mcrm/appsetting/controllers/SettingController.java index 1e5ef63..5d43400 100644 --- a/src/main/java/com/mgm/mcrm/appsetting/controllers/SettingController.java +++ b/src/main/java/com/mgm/mcrm/appsetting/controllers/SettingController.java @@ -5,19 +5,19 @@ import java.util.List; import com.mgm.mcrm.appsetting.dtos.CfgSettingsDto; import com.mgm.mcrm.appsetting.dtos.request.CfgSettingsRequest; import com.mgm.mcrm.appsetting.dtos.response.CfgSettingsResponse; +import com.mgm.mcrm.appsetting.models.CfgSettings; import com.mgm.mcrm.appsetting.services.SettingService; import com.mgm.mcrm.common.annotation.security.CheckPermissions; +import com.mgm.mcrm.common.utils.LogUtil; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import com.mgm.mcrm.common.annotation.logging.OperationLog; import com.mgm.mcrm.common.annotation.security.CheckPermission; import jakarta.servlet.http.HttpServletRequest; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @Tag(name = "App Setting", description = "APIs for App Setting functions") @RestController @@ -68,4 +68,31 @@ public class SettingController { return ResponseEntity.ok(response); } + + @CheckPermissions(routerIds={"00330", "00530"},permissionCodes={"MODIFY", "MODIFY"}) + @OperationLog(eventCode="appsetting_update",actionName="Update AppSetting") + @RequestMapping(value = "/app/appsetting/save_calendar_setting", method = RequestMethod.POST, produces = "application/json;charset=UTF-8",consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateCalendarCfgSettings(HttpServletRequest request, @RequestBody List cfgSettings) { + boolean isSuccess = false; + String processMessage=""; + String errorCode=""; + + CfgSettingsResponse response = new CfgSettingsResponse(); + //-- + boolean saveResult = settingService.saveAll(cfgSettings); + if(saveResult==true) { + isSuccess=true; + processMessage = "Update Successed"; + response.setSuccess(true); + }else { + processMessage = "Update Failed with Error:"; + errorCode = "ERR_DATA_FOUND"; + } + + response.setMessage(processMessage); + response.setErrorCode(errorCode); + response.setSuccess(isSuccess); + + return ResponseEntity.ok(response); + } } diff --git a/src/main/java/com/mgm/mcrm/basesetting/property/dtos/CfgPropertiesDto.java b/src/main/java/com/mgm/mcrm/basesetting/property/dtos/CfgPropertiesDto.java index ac7b4cb..90769c2 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/property/dtos/CfgPropertiesDto.java +++ b/src/main/java/com/mgm/mcrm/basesetting/property/dtos/CfgPropertiesDto.java @@ -20,4 +20,7 @@ public class CfgPropertiesDto { private LocalDateTime createdAt; private LocalDateTime updatedAt; private int status; + private Integer showCalendar; + private String calendarName; + private Integer calendarOrder; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/property/dtos/request/CreateUpdatePropertyRequest.java b/src/main/java/com/mgm/mcrm/basesetting/property/dtos/request/CreateUpdatePropertyRequest.java index 3a0ad0c..d4d9a6a 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/property/dtos/request/CreateUpdatePropertyRequest.java +++ b/src/main/java/com/mgm/mcrm/basesetting/property/dtos/request/CreateUpdatePropertyRequest.java @@ -22,4 +22,10 @@ public class CreateUpdatePropertyRequest { private String dlPropertyId; private int status = 1; + + private String calendarName; + + private Integer calendarOrder; + + private Integer showCalendar; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/property/models/CfgProperties.java b/src/main/java/com/mgm/mcrm/basesetting/property/models/CfgProperties.java index 4d3700f..a406364 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/property/models/CfgProperties.java +++ b/src/main/java/com/mgm/mcrm/basesetting/property/models/CfgProperties.java @@ -52,4 +52,11 @@ public class CfgProperties implements Serializable { @Column(name = "status") private int status; + + @Column(name="show_calendar", nullable = false) + private Integer showCalendar; + @Column(name="calendar_name", length = 256) + private String calendarName; + @Column(name="calendar_order") + private Integer calendarOrder; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/room/controllers/BedTypeController.java b/src/main/java/com/mgm/mcrm/basesetting/room/controllers/BedTypeController.java index f0e420b..316cc5d 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/room/controllers/BedTypeController.java +++ b/src/main/java/com/mgm/mcrm/basesetting/room/controllers/BedTypeController.java @@ -219,7 +219,6 @@ public class BedTypeController { } @CheckPermissions(routerIds = {"00320", "00520"}, permissionCodes = {"IMPORT"}) - @CheckPermission(routerId="00320",permissionCode="IMPORT") @RequestMapping(value = "/upload_excel", method = RequestMethod.POST) public AjaxResult uploadExcel(HttpServletRequest request, HttpServletResponse response, @RequestBody(required=false) MultipartFile[] files) throws Exception{ diff --git a/src/main/java/com/mgm/mcrm/basesetting/room/dtos/CfgRoomsDto.java b/src/main/java/com/mgm/mcrm/basesetting/room/dtos/CfgRoomsDto.java index 56c3866..21d2448 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/room/dtos/CfgRoomsDto.java +++ b/src/main/java/com/mgm/mcrm/basesetting/room/dtos/CfgRoomsDto.java @@ -31,5 +31,8 @@ public class CfgRoomsDto { private List roomRoomType ; private CfgPropertiesDto propertyObj; private String category; - + private String calendarName; + private Integer calendarOrder; + private Integer showCalendar; + private Integer defaultShowCalendar; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/BedTypeMappingImportRowRequest.java b/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/BedTypeMappingImportRowRequest.java index 5d14914..ec428d7 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/BedTypeMappingImportRowRequest.java +++ b/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/BedTypeMappingImportRowRequest.java @@ -15,4 +15,5 @@ public class BedTypeMappingImportRowRequest { private Integer propertyId; private Integer roomId; private List roomTypeIds; + private String category; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/CreateUpdateRoomRequest.java b/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/CreateUpdateRoomRequest.java index f2c4f47..b121ec7 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/CreateUpdateRoomRequest.java +++ b/src/main/java/com/mgm/mcrm/basesetting/room/dtos/request/CreateUpdateRoomRequest.java @@ -34,4 +34,12 @@ public class CreateUpdateRoomRequest { private List roomRoomType; private String category; + + private String calendarName; + + private Integer showCalendar; + + private Integer defaultShowCalendar; + + private Integer calendarOrder; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/room/models/CfgRooms.java b/src/main/java/com/mgm/mcrm/basesetting/room/models/CfgRooms.java index 7608357..ff85e89 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/room/models/CfgRooms.java +++ b/src/main/java/com/mgm/mcrm/basesetting/room/models/CfgRooms.java @@ -74,4 +74,13 @@ public class CfgRooms implements Serializable { @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "property_id", insertable = false, updatable = false) private CfgProperties propertyObj; + + @Column(name="show_calendar", nullable = false) + private Integer showCalendar; + @Column(name="calendar_name", length = 256) + private String calendarName; + @Column(name="calendar_order") + private Integer calendarOrder; + @Column(name="default_show_calendar") + private Integer defaultShowCalendar; } diff --git a/src/main/java/com/mgm/mcrm/basesetting/room/services/BedTypeService.java b/src/main/java/com/mgm/mcrm/basesetting/room/services/BedTypeService.java index e7e34bb..68c669f 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/room/services/BedTypeService.java +++ b/src/main/java/com/mgm/mcrm/basesetting/room/services/BedTypeService.java @@ -425,27 +425,29 @@ public class BedTypeService { } return matchId; } - private int getMatchRoomId(List rooms, int propertyId, String name) { + private int getMatchRoomId(List rooms, int propertyId, String name, String category) { int matchId=0; - for(CfgRooms item:rooms) { - if(item.getPropertyId()!=null - && item.getPropertyId().intValue()==propertyId - && item.getName() != null && item.getName().equalsIgnoreCase(name)) { + for(CfgRooms item:rooms) { + if(item.getPropertyId()!=null + && item.getPropertyId()==propertyId + && item.getName() != null && item.getName().equalsIgnoreCase(name) + && item.getCategory() != null && item.getCategory().equalsIgnoreCase(category)) { matchId = item.getId().intValue(); break; } } return matchId; } - private int getMatchRoomTypeId(List rooms, int roomId, String roomTypeName) { + private int getMatchRoomTypeId(List rooms, int roomId, String roomTypeName, String category) { int matchId=0; - for(CfgRooms item:rooms) { - if(item.getId()!=null + for(CfgRooms item:rooms) { + if(item.getId()!=null && item.getId().intValue()==roomId && item.getRoomRoomType()!=null) { List roomRoomType = item.getRoomRoomType(); for(CfgRoomTypes rItem:roomRoomType) { - if(rItem.getCode() != null && rItem.getCode().equalsIgnoreCase(roomTypeName)) { + if(rItem.getCode() != null && rItem.getCode().equalsIgnoreCase(roomTypeName) + && rItem.getCategory() != null && rItem.getCategory().equalsIgnoreCase(category)) { matchId = rItem.getId().intValue(); break; } @@ -508,7 +510,7 @@ public class BedTypeService { isPassed =false; }else { pItem.setPropertyId(propertyId); - int roomId = this.getMatchRoomId(roomList,propertyId, pItem.getRoomName()); + int roomId = this.getMatchRoomId(roomList,propertyId, pItem.getRoomName(), pItem.getCategory()); if(roomId<=0) { errMsg+="Room ["+pItem.getRoomName()+"] not found;"; isPassed =false; @@ -519,7 +521,7 @@ public class BedTypeService { for(String roomTypeVal:roomTypeVals) { roomTypeVal = roomTypeVal.trim(); if(StringUtils.isNotBlank(roomTypeVal)) { - int matchTypeId = this.getMatchRoomTypeId(roomList,roomId, roomTypeVal); + int matchTypeId = this.getMatchRoomTypeId(roomList,roomId, roomTypeVal, pItem.getCategory()); if(matchTypeId<=0) { isPassed =false; errMsg+="Room Type ["+roomTypeVal+"] not found;"; @@ -620,6 +622,7 @@ public class BedTypeService { newBedType.setRoomId(pItem.getRoomId()); newBedType.setPropertyId(pItem.getPropertyId()); newBedType.setSelectRoomTypeIds(pItem.getRoomTypeIds()); + newBedType.setCategory(pItem.getCategory()); this.createBedTypeMapping(newBedType); } result.setSuccess(true); diff --git a/src/main/java/com/mgm/mcrm/basesetting/team/controllers/OtherUserMappingController.java b/src/main/java/com/mgm/mcrm/basesetting/team/controllers/OtherUserMappingController.java index 3ceb752..6ca2834 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/team/controllers/OtherUserMappingController.java +++ b/src/main/java/com/mgm/mcrm/basesetting/team/controllers/OtherUserMappingController.java @@ -150,7 +150,6 @@ public class OtherUserMappingController { } @CheckPermissions(routerIds = {"00327", "00527"}, permissionCodes = {"IMPORT"}) - @CheckPermission(routerId = "00327", permissionCode = "IMPORT") @RequestMapping(value = "/upload_excel", method = RequestMethod.POST) public AjaxResult uploadExcel(HttpServletRequest request, HttpServletResponse response, @RequestBody(required = false) MultipartFile[] files) throws Exception { diff --git a/src/main/java/com/mgm/mcrm/basesetting/team/services/OtherUserMappingService.java b/src/main/java/com/mgm/mcrm/basesetting/team/services/OtherUserMappingService.java index 37f4f53..1cf25b5 100644 --- a/src/main/java/com/mgm/mcrm/basesetting/team/services/OtherUserMappingService.java +++ b/src/main/java/com/mgm/mcrm/basesetting/team/services/OtherUserMappingService.java @@ -42,9 +42,6 @@ import com.mgm.mcrm.common.utils.DaoUtil; import com.mgm.mcrm.common.utils.ExcelUtils; import org.springframework.web.multipart.MultipartFile; - - - @Service public class OtherUserMappingService { @@ -561,9 +558,6 @@ public class OtherUserMappingService { if(importDef!=null) { ServiceResult importResult = ExcelUtils.importDataBlock(importDef,importFilePath,null); if(importResult.isSuccess()) { - result.setSuccess(false); - result.setErrorMessage(importResult.getErrorMessage()); - }else { if(importResult.getReturnData()!=null) { List dataList = (List)importResult.getReturnData(); if(!dataList.isEmpty()) { @@ -584,6 +578,9 @@ public class OtherUserMappingService { result.setSuccess(false); result.setErrorMessage("Empty import data"); } + }else { + result.setSuccess(false); + result.setErrorMessage(importResult.getErrorMessage()); } }else { result.setSuccess(false); diff --git a/src/main/java/com/mgm/mcrm/reservation/controllers/BookingController.java b/src/main/java/com/mgm/mcrm/reservation/controllers/BookingController.java index b310f5c..2e1b1f2 100644 --- a/src/main/java/com/mgm/mcrm/reservation/controllers/BookingController.java +++ b/src/main/java/com/mgm/mcrm/reservation/controllers/BookingController.java @@ -259,6 +259,9 @@ public class BookingController { }else if(queryFilter.getString("export_type").equals( "failedlist")) { reportDef = ExcelUtils.getExportDefineByName("EXPORT_FAILED_LIST"); reportFileName = "FailBooking.xlsx"; + } else if (queryFilter.getString("export_type").equals( "approval_routing")) { + reportDef = ExcelUtils.getExportDefineByName("EXPORT_APPROVAL_ROUTING"); + reportFileName = "ApprovalRoutingLog.xlsx"; }else { reportDef = ExcelUtils.getExportDefineByName("EXPORT_OTHER_BOOKING"); reportFileName = "OtherBooking.xlsx"; diff --git a/src/main/java/com/mgm/mcrm/reservation/dtos/BookingsViewDto.java b/src/main/java/com/mgm/mcrm/reservation/dtos/BookingsViewDto.java index 97d259c..f92cee3 100644 --- a/src/main/java/com/mgm/mcrm/reservation/dtos/BookingsViewDto.java +++ b/src/main/java/com/mgm/mcrm/reservation/dtos/BookingsViewDto.java @@ -132,7 +132,10 @@ public class BookingsViewDto implements Serializable { private String followUpStatusName; private String roomStatusName; private String segmentName; - + private String approverId; + private String approverName; + private String approvalReason; + //-- For export private String approveStatusName; private String bookTypeName; diff --git a/src/main/java/com/mgm/mcrm/reservation/models/BookingsView.java b/src/main/java/com/mgm/mcrm/reservation/models/BookingsView.java index 4e7b34c..783d70f 100644 --- a/src/main/java/com/mgm/mcrm/reservation/models/BookingsView.java +++ b/src/main/java/com/mgm/mcrm/reservation/models/BookingsView.java @@ -239,6 +239,12 @@ public class BookingsView implements Serializable { private String changeCheckinDate; @Column(name="change_checkout_date") private String changeCheckoutDate; + @Column(name = "approver_id") + private String approverId; + @Column(name = "approver_name") + private String approverName; + @Column(name = "approval_reason") + private String approvalReason; @Transient private String status; diff --git a/src/main/java/com/mgm/mcrm/reservation/services/BookingService.java b/src/main/java/com/mgm/mcrm/reservation/services/BookingService.java index 71ea595..8dc57a2 100644 --- a/src/main/java/com/mgm/mcrm/reservation/services/BookingService.java +++ b/src/main/java/com/mgm/mcrm/reservation/services/BookingService.java @@ -2,6 +2,7 @@ package com.mgm.mcrm.reservation.services; import java.util.*; import java.time.LocalDateTime; +import java.time.ZoneId; import com.alibaba.fastjson.JSON; import com.mgm.mcrm.admin.repositories.SysUserDao; @@ -17,6 +18,8 @@ import com.mgm.mcrm.basesetting.daylight.repositories.BlockDao; import com.mgm.mcrm.basesetting.daylight.repositories.DaylightViewDao; import com.mgm.mcrm.basesetting.daylight.repositories.ItemInventoryDao; import com.mgm.mcrm.basesetting.daylight.repositories.TierDao; +import com.mgm.mcrm.basesetting.opera.models.CfgOperaView; +import com.mgm.mcrm.basesetting.opera.repositories.OperaViewDao; import com.mgm.mcrm.basesetting.property.models.CfgProperties; import com.mgm.mcrm.basesetting.property.repositories.PropertyDao; import com.mgm.mcrm.basesetting.property.services.PropertyService; @@ -24,7 +27,11 @@ import com.mgm.mcrm.basesetting.room.models.CfgRoomFeatures; import com.mgm.mcrm.basesetting.room.models.CfgRoomTypes; import com.mgm.mcrm.basesetting.room.models.CfgRooms; import com.mgm.mcrm.basesetting.room.repositories.*; +import com.mgm.mcrm.basesetting.team.models.CfgSections; +import com.mgm.mcrm.basesetting.team.models.CfgTeamStructure; import com.mgm.mcrm.basesetting.team.repositories.AppUserDao; +import com.mgm.mcrm.basesetting.team.repositories.SectionDao; +import com.mgm.mcrm.basesetting.team.repositories.TeamStructureDao; import com.mgm.mcrm.common.dtos.DataTableResult; import com.mgm.mcrm.common.dtos.QueryFilter; import com.mgm.mcrm.common.dtos.ServiceResult; @@ -61,28 +68,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.auth0.jwt.JWT; - - - - - - - - - - - - - - - - - import com.mgm.mcrm.common.utils.DaoUtil; import com.mgm.mcrm.common.utils.DateTimeUtil; - - @Service public class BookingService { @@ -128,6 +116,12 @@ public class BookingService { private SysGroupService sysGroupService; @Resource private BookingMapper bookingMapper; + @Resource + private TeamStructureDao teamStructureDao; + @Resource + private SectionDao sectionDao; + @Resource + private OperaViewDao operaViewDao; public ServiceResult createBooking(Map param, HttpServletRequest request) { ServiceResult processResult= new ServiceResult(); @@ -160,13 +154,18 @@ public class BookingService { String oldToken = request.getHeader("Authorization"); // oldToken = oldToken.substring(6); String userId = JWT.decode(oldToken).getClaim("login_id").asString(); - Long sectionId = 2L; - - List operas = daylightViewDao.findByPropertyIdAndBookingTypeId(propertyId,blockId); - List teamOpera = new ArrayList(); - CfgDaylightView opera = new CfgDaylightView(); - for(CfgDaylightView o :operas) { - for(CfgRoomTypes r :o.getDaylightRoomType()) { + Map user = (Map) param.get("user"); + Long teamStructureId = user.get("teamStructureId") != null ? Long.valueOf(String.valueOf(param.get("teamStructureId"))) : null; + CfgTeamStructure cfgTeamStructure = teamStructureDao.findById(teamStructureId).orElse(null); + Long sectionId = cfgTeamStructure.getSectionId(); + + CfgSections cfgSections = sectionDao.findById(sectionId).orElse(null); + + List operas = operaViewDao.findByPropertyIdAndBookingTypeId(propertyId,blockId); + List teamOpera = new ArrayList<>(); + CfgOperaView opera = new CfgOperaView(); + for(CfgOperaView o :operas) { + for(CfgRoomTypes r :o.getOperaRoomType()) { if(Objects.equals(r.getId(), roomTypeId)) { teamOpera.add(o); } @@ -174,11 +173,13 @@ public class BookingService { } String blockCode = null; - for(CfgDaylightView o :teamOpera) { - LocalDateTime startTime = o.getStartDate(); - LocalDateTime endTime = o.getEndDate(); - if((startTime.isBefore(checkinDate) || startTime.isEqual(checkinDate)) - && (endTime.isAfter(checkoutDate) || endTime.isEqual(checkoutDate))) { + Date checkinAsDate = Date.from(checkinDate.atZone(ZoneId.systemDefault()).toInstant()); + Date checkoutAsDate = Date.from(checkoutDate.atZone(ZoneId.systemDefault()).toInstant()); + for(CfgOperaView o :teamOpera) { + Date startTime = o.getStartDate(); + Date endTime = o.getEndDate(); + if((!startTime.after(checkinAsDate)) + && (!endTime.before(checkoutAsDate))) { blockCode = o.getBlockCodeName(); opera = o; } @@ -195,7 +196,7 @@ public class BookingService { booking.setHotelCode(property.getCode()); booking.setRoomTypeId(roomTypeId); // booking.setOperaProfileId(Long.valueOf(String.valueOf(operaId.get(0)))); - booking.setDlBlockId(blockCode); + booking.setBlockCode(blockCode); booking.setRatePlanCode(opera.getRateCode().getCode()); booking.setRoomTypeCode(roomType.getCode()); booking.setMarketCode(opera.getMarketCode().getCode()); @@ -215,6 +216,7 @@ public class BookingService { booking.setItemCode(item.getId()!=null?item.getDlCode():null); booking.setFeatureCode(special); booking.setRoom(room.getName()); + booking.setSectionName(cfgSections.getName()); booking.setCategory(property.getCategory()); @@ -224,6 +226,108 @@ public class BookingService { processResult.setReturnData(booking); return processResult; } + + private ServiceResult createDayligtBooking(Map param, HttpServletRequest request) { + ServiceResult processResult= new ServiceResult(); + LocalDateTime createDate = LocalDateTime.now(); + Bookings booking = new Bookings(); + String playerId = String.valueOf(param.get("playerId")); + Long blockId = Long.valueOf(String.valueOf(param.get("blockId"))); + Long propertyId = Long.valueOf(String.valueOf(param.get("propertyId"))); + Long roomId = Long.valueOf(String.valueOf(param.get("roomId"))); + Long roomTypeId = Long.valueOf(String.valueOf(param.get("roomTypeId"))); + String special = param.get("specialIds")!=null?String.valueOf(param.get("specialIds")):null; + String sharer = param.get("sharer")!=null?String.valueOf(param.get("sharer")):null; + String remark = param.get("remark")!=null?String.valueOf(param.get("remark")):null; + Boolean isWaitlist = Boolean.valueOf(String.valueOf(param.get("isWaitlist"))); + HashMap member = (HashMap)param.get("member"); + List operaId = (List)member.get("nameId"); + List selectDate = (List)param.get("selectDate"); + LocalDateTime checkinDate = DateTimeUtil.getDateFromString(String.valueOf(selectDate.get(0)), "yyyy-MM-dd"); + LocalDateTime checkoutDate = DateTimeUtil.getDateFromString(String.valueOf(selectDate.get(1)), "yyyy-MM-dd"); + String numOfNight = DateTimeUtil.getDiffDate(checkinDate, checkoutDate, "day"); + CfgProperties property = propertyDao.findById(propertyId).orElse(null); + CfgBlocks block = blockDao.getById(blockId); + CfgRooms room = roomDao.getById(roomId); + CfgRoomTypes roomType = roomTypeDao.getById(roomTypeId); + CfgTiers tier = tierDao.findByTierName(String.valueOf(member.get("tier"))); + CfgItemInventory item = new CfgItemInventory(); + if(tier!=null&&blockId!=null&&roomTypeId!=null) { + item = itemDao.findByTierIdAndRoomId(Long.valueOf(tier.getId()),roomId); + } + String oldToken = request.getHeader("Authorization"); +// oldToken = oldToken.substring(6); + String userId = JWT.decode(oldToken).getClaim("login_id").asString(); + Map user = (Map) param.get("user"); + Long teamStructureId = user.get("teamStructureId") != null ? Long.valueOf(String.valueOf(param.get("teamStructureId"))) : null; + CfgTeamStructure cfgTeamStructure = teamStructureDao.findById(teamStructureId).orElse(null); + Long sectionId = cfgTeamStructure.getSectionId(); + + CfgSections cfgSections = sectionDao.findById(sectionId).orElse(null); + + List operas = daylightViewDao.findByPropertyIdAndBookingTypeId(propertyId,blockId); + List teamOpera = new ArrayList(); + CfgDaylightView opera = new CfgDaylightView(); + for(CfgDaylightView o :operas) { + for(CfgRoomTypes r :o.getDaylightRoomType()) { + if(Objects.equals(r.getId(), roomTypeId)) { + teamOpera.add(o); + } + } + } + + String blockCode = null; + for(CfgDaylightView o :teamOpera) { + LocalDateTime startTime = o.getStartDate(); + LocalDateTime endTime = o.getEndDate(); + if((startTime.isBefore(checkinDate) || startTime.isEqual(checkinDate)) + && (endTime.isAfter(checkoutDate) || endTime.isEqual(checkoutDate))) { + blockCode = o.getBlockCodeName(); + opera = o; + } + } + + booking.setId(null); + booking.setPlayerId(playerId); + booking.setMemberTitle(String.valueOf(member.get("salutation"))); +// booking.setMemberFirstName(memberFirstName); + booking.setMemberLastName(String.valueOf(member.get("name"))); + booking.setCheckinDate(checkinDate); + booking.setCheckoutDate(checkoutDate); + booking.setPropertyId(propertyId); + booking.setHotelCode(property.getCode()); + booking.setRoomTypeId(roomTypeId); +// booking.setOperaProfileId(Long.valueOf(String.valueOf(operaId.get(0)))); + booking.setBlockCode(blockCode); + booking.setRatePlanCode(opera.getRateCode().getCode()); + booking.setRoomTypeCode(roomType.getCode()); + booking.setMarketCode(opera.getMarketCode().getCode()); + booking.setDlSourceId(opera.getSourceCode().getDlSourceId()); + booking.setSourceCode(opera.getSourceCode().getCode()); + booking.setCreatedAt(createDate); + booking.setCreatedBy(JWT.decode(oldToken).getSubject()); + booking.setSectionId(sectionId); + booking.setApproveStatus(isWaitlist?"W":"PN"); + booking.setRemark(remark); + booking.setBookType("0"); + booking.setBlock(block.getName()); + booking.setNumOfNight(Integer.valueOf(numOfNight)); +// booking.setTeamName(team.getCode()); + booking.setBooker(userId); + booking.setSharer(sharer); + booking.setItemCode(item.getId()!=null?item.getDlCode():null); + booking.setFeatureCode(special); + booking.setRoom(room.getName()); + booking.setSectionName(cfgSections.getName()); + + booking.setCategory(property.getCategory()); + + Bookings newBooking= bookingDao.save(booking); + + processResult.setSuccess(true); + processResult.setReturnData(booking); + return processResult; + } public ServiceResult updateBooking(Bookings booking) { ServiceResult processResult= new ServiceResult(); diff --git a/src/main/java/com/mgm/mcrm/reservation/services/OtherBookingService.java b/src/main/java/com/mgm/mcrm/reservation/services/OtherBookingService.java index 1bf057f..2098675 100644 --- a/src/main/java/com/mgm/mcrm/reservation/services/OtherBookingService.java +++ b/src/main/java/com/mgm/mcrm/reservation/services/OtherBookingService.java @@ -45,6 +45,7 @@ import com.mgm.mcrm.logging.services.SysLogOperationService; import com.mgm.mcrm.reservation.dtos.BookingsDto; import com.mgm.mcrm.reservation.dtos.request.OtherPropertyCreateUpdateRequest; import com.mgm.mcrm.reservation.mappers.BookingMapper; +import com.mgm.mcrm.reservation.models.Bookings; import com.mgm.mcrm.reservation.repositories.BookingDao; import com.mgm.mcrm.reservation.repositories.BookingViewDao; import jakarta.annotation.Resource; @@ -444,9 +445,9 @@ public class OtherBookingService { ArrayList dateArray = new ArrayList(); dateArray.add(date); booking.setDateList(JSONArray.toJSONString(dateArray)); - - bookingDao.save(bookingMapper.toBooking(booking)); - System.out.println(booking.getId()); + + Bookings save = bookingDao.save(bookingMapper.toBooking(booking)); + booking.setId(save.getId()); resultBookings.add(booking); //计算allotment diff --git a/src/main/java/com/mgm/mcrm/reservation/services/WaitlistService.java b/src/main/java/com/mgm/mcrm/reservation/services/WaitlistService.java index d815ffa..3f6bb9f 100644 --- a/src/main/java/com/mgm/mcrm/reservation/services/WaitlistService.java +++ b/src/main/java/com/mgm/mcrm/reservation/services/WaitlistService.java @@ -747,7 +747,7 @@ public class WaitlistService { roomTypeId = booking.getRoomTypeId(); // roomTypeCode = booking.getRoomTypeCode(); - CfgTiers tier = tierDao.findByTierName(String.valueOf(member.get("tierName"))); + CfgTiers tier = tierDao.findByTierNameOpera(String.valueOf(member.get("tierName"))); CfgItemInventory item = new CfgItemInventory(); if(tier!=null && roomTypeId!=null) { item = itemDao.findByTierIdAndRoomId(Long.valueOf(tier.getId()),roomId); diff --git a/target/crm_runtime/excel_define/export/export_approval_routing.json b/target/crm_runtime/excel_define/export/export_approval_routing.json new file mode 100644 index 0000000..703b840 --- /dev/null +++ b/target/crm_runtime/excel_define/export/export_approval_routing.json @@ -0,0 +1,182 @@ +{ + "exportName": "EXPORT_APPROVAL_ROUTING", + "exportPages": [{ + "sheetIndx": 0, + "sheetName": "Approval Routing", + "dataElements": [{ + "blockName": "masterData", + "offsetRow": 0, + "offsetCol": 0, + "elementType": 2, + "isShowHeader": true, + "headerAlign": "center", + "headerColor": "#f5ebd9", + "headerTextColor": "#000000", + "textAlign": "left", + "textColor": "#000000", + "objClassName": "com.mgm.mcrm.reservation.dtos.BookingsViewDto", + "columnDefs": [ + { + "columnHeader": "Id", + "attrName": "id", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Status", + "attrName": "approveStatus", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Create Time", + "attrName": "createdAt", + "dataType": "Date", + "formatVal": "yyyy-MM-dd HH:mm:ss", + "columnWidth": 30 + }, + { + "columnHeader": "Conf#", + "attrName": "confirmationNo", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Patron ID", + "attrName": "playerId", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Player Name", + "attrName": "memberLastName", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Tier", + "attrName": "tier", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Property", + "attrName": "propertyName", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Room Catagory", + "attrName": "room", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Room Type", + "attrName": "roomTypeCode", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Type", + "attrName": "bookType", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Check in Date", + "attrName": "checkinDate", + "dataType": "Date", + "formatVal": "yyyy-MM-dd", + "columnWidth": 30 + }, + { + "columnHeader": "Check Out Date", + "attrName": "checkoutDate", + "dataType": "Date", + "formatVal": "yyyy-MM-dd", + "columnWidth": 30 + }, + { + "columnHeader": "Continuous / Overlap Booking(C/I to C/O)", + "attrName": "overlapBooking", + "dataType": "String", + "columnWidth": 40 + }, + { + "columnHeader": "Booker Team", + "attrName": "sectionName", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Booker ID", + "attrName": "createdBy", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Booker Name", + "attrName": "booker", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Sharer", + "attrName": "sharer", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Remarks", + "attrName": "remark", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Ranking By Player Evaluation", + "attrName": "dailyTheoProfit", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Approval Remark", + "attrName": "mscRemark", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Received Approver ID", + "attrName": "approverId", + "dataType": "String", + "columnWidth": 25 + }, + { + "columnHeader": "Received Approver", + "attrName": "approverName", + "dataType": "String", + "columnWidth": 25 + }, + { + "columnHeader": "Approval Reason", + "attrName": "approvalReason", + "dataType": "String", + "columnWidth": 30 + }, + { + "columnHeader": "Approver", + "attrName": "approvedId", + "dataType": "String", + "columnWidth": 20 + }, + { + "columnHeader": "Approved Date", + "attrName": "approvedAt", + "dataType": "Date", + "formatVal": "yyyy-MM-dd HH:mm:ss", + "columnWidth": 30 + } + ] + }] + }] +} \ No newline at end of file diff --git a/target/crm_runtime/excel_define/export/export_bed_type_mapping.json b/target/crm_runtime/excel_define/export/export_bed_type_mapping.json index 9cac465..fc2c0eb 100644 --- a/target/crm_runtime/excel_define/export/export_bed_type_mapping.json +++ b/target/crm_runtime/excel_define/export/export_bed_type_mapping.json @@ -39,6 +39,12 @@ "dataType": "String", "columnWidth":30 }, + { + "columnHeader":"Category", + "attrName": "category", + "dataType": "String", + "columnWidth":30 + }, { "columnHeader":"Created Time", "attrName": "createdAt", diff --git a/target/crm_runtime/excel_define/export/export_failed_list.json b/target/crm_runtime/excel_define/export/export_failed_list.json index a0f43ee..3f64d84 100644 --- a/target/crm_runtime/excel_define/export/export_failed_list.json +++ b/target/crm_runtime/excel_define/export/export_failed_list.json @@ -14,7 +14,7 @@ "headerTextColor":"#000000", "textAlign":"left", "textColor":"#000000", - "objClassName": "com.mgm.mcrm.reservation.models.BookingsView", + "objClassName": "com.mgm.mcrm.reservation.dtos.BookingsViewDto", "columnDefs": [{ "columnHeader":"Failure ID", "attrName": "id", @@ -91,7 +91,7 @@ }, { "columnHeader":"Section", - "attrName": "teamName", + "attrName": "sectionName", "dataType": "String", "columnWidth":20 }, diff --git a/target/crm_runtime/excel_define/export/export_other_user_mapping.json b/target/crm_runtime/excel_define/export/export_other_user_mapping.json index edb9404..1af5ee5 100644 --- a/target/crm_runtime/excel_define/export/export_other_user_mapping.json +++ b/target/crm_runtime/excel_define/export/export_other_user_mapping.json @@ -22,6 +22,18 @@ "dataType": "String", "columnWidth":20 }, + { + "columnHeader":"User Division", + "attrName": "divisionName", + "dataType": "String", + "columnWidth":20 + }, + { + "columnHeader":"Department", + "attrName": "departmentName", + "dataType": "String", + "columnWidth":20 + }, { "columnHeader":"Section", "attrName": "sectionName", diff --git a/target/crm_runtime/excel_define/import/import_bed_type_mapping.json b/target/crm_runtime/excel_define/import/import_bed_type_mapping.json index c32fb05..ee10c73 100644 --- a/target/crm_runtime/excel_define/import/import_bed_type_mapping.json +++ b/target/crm_runtime/excel_define/import/import_bed_type_mapping.json @@ -5,7 +5,7 @@ "dataElements": [{ "offsetRow": 1, "offsetCol": 0, - "objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.BedTypeMappingImportRow", + "objClassName": "com.mgm.mcrm.basesetting.room.dtos.request.BedTypeMappingImportRowRequest", "columnDefs": [{ "columnHeader":"Property", "checkHeader":true, @@ -33,6 +33,13 @@ "headerRowIdx":0, "attrName": "bedTypeName", "dataType": "String" + }, + { + "columnHeader":"Category", + "checkHeader":true, + "headerRowIdx":0, + "attrName": "category", + "dataType": "String" } ] }] diff --git a/target/crm_runtime/excel_define/import/import_other_user_mapping.json b/target/crm_runtime/excel_define/import/import_other_user_mapping.json index 9bce576..047dbd5 100644 --- a/target/crm_runtime/excel_define/import/import_other_user_mapping.json +++ b/target/crm_runtime/excel_define/import/import_other_user_mapping.json @@ -5,7 +5,7 @@ "dataElements": [{ "offsetRow": 1, "offsetCol": 0, - "objClassName": "com.mgm.mcrm.common.dtos.dataimport.appsetting.OtherUserMappingImportRow", + "objClassName": "com.mgm.mcrm.basesetting.team.dtos.response.OtherUserMappingImportRowResponse", "columnDefs": [ { "columnHeader":"Booking Type",