|
|
@ -12,18 +12,20 @@ import com.spring.modules.sift.service.QueryUserSettingService; |
|
|
import com.spring.modules.sift.vo.QuerySavedVo; |
|
|
import com.spring.modules.sift.vo.QuerySavedVo; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.ui.Model; |
|
|
|
|
|
import org.springframework.util.StringUtils; |
|
|
import org.springframework.util.StringUtils; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.servlet.ModelAndView; |
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
@RestController |
|
|
@RestController |
|
|
@RequestMapping("/sift") |
|
|
@RequestMapping("/sift") |
|
|
@Slf4j |
|
|
@Slf4j |
|
|
public class QueryUserSettingController { |
|
|
public class QueryUserSettingController { |
|
|
|
|
|
private static final String ROHS_MENU_ID = "112001"; |
|
|
|
|
|
private static final String ROHS_STATUS_FIELD_NAME = "rohsStatus"; |
|
|
|
|
|
private static final String ROHS_STATUS_FIELD_NAME_UNDERSCORE = "rohs_status"; |
|
|
|
|
|
private static final String ROHS_STATUS_FIELD_CAPTION = "状态/RoHS Status"; |
|
|
|
|
|
private static final String ROHS_STATUS_ORIGINAL_FIELD = "a.rohs_status"; |
|
|
|
|
|
private static final String STRING_DATA_TYPE = "S"; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private QueryUserSettingDefaultService defaultService; |
|
|
private QueryUserSettingDefaultService defaultService; |
|
|
@ -42,9 +44,12 @@ public class QueryUserSettingController { |
|
|
public R searchUserSettingList(String menuId,String userId){ |
|
|
public R searchUserSettingList(String menuId,String userId){ |
|
|
List<QueryUserSetting> queryUserSettingList = queryUserSettingService.searchQueryUserSetting(menuId, userId); |
|
|
List<QueryUserSetting> queryUserSettingList = queryUserSettingService.searchQueryUserSetting(menuId, userId); |
|
|
if (!queryUserSettingList.isEmpty()){ |
|
|
if (!queryUserSettingList.isEmpty()){ |
|
|
|
|
|
appendRohsStatusFieldForUserSetting(menuId, userId, queryUserSettingList); |
|
|
return R.ok().put("rows",queryUserSettingList); |
|
|
return R.ok().put("rows",queryUserSettingList); |
|
|
} |
|
|
} |
|
|
return R.ok().put("rows",defaultService.searchQueryUserSettingDefault(menuId)); |
|
|
|
|
|
|
|
|
List<QueryUserSettingDefault> defaultList = defaultService.searchQueryUserSettingDefault(menuId); |
|
|
|
|
|
appendRohsStatusFieldForDefaultSetting(menuId, defaultList); |
|
|
|
|
|
return R.ok().put("rows",defaultList); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@PostMapping("/saveOrUpdateBatch") |
|
|
@PostMapping("/saveOrUpdateBatch") |
|
|
@ -82,4 +87,121 @@ public class QueryUserSettingController { |
|
|
querySavedHeaderService.updateQuerySavedHeader(querySavedVo); |
|
|
querySavedHeaderService.updateQuerySavedHeader(querySavedVo); |
|
|
return R.ok("保存成功"); |
|
|
return R.ok("保存成功"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void appendRohsStatusFieldForUserSetting(String menuId, String userId, List<QueryUserSetting> settingList) { |
|
|
|
|
|
if (!ROHS_MENU_ID.equals(menuId) || settingList == null) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
boolean exists = settingList.stream().anyMatch(item -> isRohsStatusField(item.getFieldName(), item.getOriginalField())); |
|
|
|
|
|
if (exists) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
QueryUserSetting row = new QueryUserSetting(); |
|
|
|
|
|
row.setMenuId(menuId); |
|
|
|
|
|
row.setUserId(userId); |
|
|
|
|
|
row.setDtsName(getDtsNameFromUserSetting(settingList)); |
|
|
|
|
|
row.setDtsCaption(getDtsCaptionFromUserSetting(settingList)); |
|
|
|
|
|
row.setFieldName(ROHS_STATUS_FIELD_NAME); |
|
|
|
|
|
row.setFieldCaption(ROHS_STATUS_FIELD_CAPTION); |
|
|
|
|
|
row.setOriginalField(ROHS_STATUS_ORIGINAL_FIELD); |
|
|
|
|
|
row.setDataType(STRING_DATA_TYPE); |
|
|
|
|
|
row.setVisible("Y"); |
|
|
|
|
|
row.setShowSeqNo(getNextSeqFromUserSetting(settingList)); |
|
|
|
|
|
row.setSymbol(""); |
|
|
|
|
|
row.setFormula(""); |
|
|
|
|
|
row.setSortBy(""); |
|
|
|
|
|
row.setOrderSeq(""); |
|
|
|
|
|
settingList.add(row); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void appendRohsStatusFieldForDefaultSetting(String menuId, List<QueryUserSettingDefault> settingList) { |
|
|
|
|
|
if (!ROHS_MENU_ID.equals(menuId) || settingList == null) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
boolean exists = settingList.stream().anyMatch(item -> isRohsStatusField(item.getFieldName(), item.getOriginalField())); |
|
|
|
|
|
if (exists) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
QueryUserSettingDefault row = new QueryUserSettingDefault(); |
|
|
|
|
|
row.setMenuId(menuId); |
|
|
|
|
|
row.setDtsName(getDtsNameFromDefaultSetting(settingList)); |
|
|
|
|
|
row.setDtsCaption(getDtsCaptionFromDefaultSetting(settingList)); |
|
|
|
|
|
row.setFieldName(ROHS_STATUS_FIELD_NAME); |
|
|
|
|
|
row.setFieldCaption(ROHS_STATUS_FIELD_CAPTION); |
|
|
|
|
|
row.setOriginalField(ROHS_STATUS_ORIGINAL_FIELD); |
|
|
|
|
|
row.setDataType(STRING_DATA_TYPE); |
|
|
|
|
|
row.setVisible("Y"); |
|
|
|
|
|
row.setShowSeqNo(getNextSeqFromDefaultSetting(settingList)); |
|
|
|
|
|
row.setSymbol(""); |
|
|
|
|
|
row.setFormula(""); |
|
|
|
|
|
row.setSortBy(""); |
|
|
|
|
|
row.setOrderSeq(""); |
|
|
|
|
|
settingList.add(row); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private Integer getNextSeqFromUserSetting(List<QueryUserSetting> settingList) { |
|
|
|
|
|
int max = 0; |
|
|
|
|
|
for (QueryUserSetting item : settingList) { |
|
|
|
|
|
if (item != null && item.getShowSeqNo() != null && item.getShowSeqNo() > max) { |
|
|
|
|
|
max = item.getShowSeqNo(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return max + 1; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private Integer getNextSeqFromDefaultSetting(List<QueryUserSettingDefault> settingList) { |
|
|
|
|
|
int max = 0; |
|
|
|
|
|
for (QueryUserSettingDefault item : settingList) { |
|
|
|
|
|
if (item != null && item.getShowSeqNo() != null && item.getShowSeqNo() > max) { |
|
|
|
|
|
max = item.getShowSeqNo(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return max + 1; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private String getDtsNameFromUserSetting(List<QueryUserSetting> settingList) { |
|
|
|
|
|
for (QueryUserSetting item : settingList) { |
|
|
|
|
|
if (item != null && StringUtils.hasText(item.getDtsName())) { |
|
|
|
|
|
return item.getDtsName(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return "ADOQResult"; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private String getDtsNameFromDefaultSetting(List<QueryUserSettingDefault> settingList) { |
|
|
|
|
|
for (QueryUserSettingDefault item : settingList) { |
|
|
|
|
|
if (item != null && StringUtils.hasText(item.getDtsName())) { |
|
|
|
|
|
return item.getDtsName(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return "ADOQResult"; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private String getDtsCaptionFromUserSetting(List<QueryUserSetting> settingList) { |
|
|
|
|
|
for (QueryUserSetting item : settingList) { |
|
|
|
|
|
if (item != null && StringUtils.hasText(item.getDtsCaption())) { |
|
|
|
|
|
return item.getDtsCaption(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return ""; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private String getDtsCaptionFromDefaultSetting(List<QueryUserSettingDefault> settingList) { |
|
|
|
|
|
for (QueryUserSettingDefault item : settingList) { |
|
|
|
|
|
if (item != null && StringUtils.hasText(item.getDtsCaption())) { |
|
|
|
|
|
return item.getDtsCaption(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return ""; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean isRohsStatusField(String fieldName, String originalField) { |
|
|
|
|
|
String normalizedFieldName = fieldName == null ? "" : fieldName.trim(); |
|
|
|
|
|
if (ROHS_STATUS_FIELD_NAME.equalsIgnoreCase(normalizedFieldName) || |
|
|
|
|
|
ROHS_STATUS_FIELD_NAME_UNDERSCORE.equalsIgnoreCase(normalizedFieldName)) { |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
String normalizedOriginalField = originalField == null ? "" : originalField.trim().toLowerCase(); |
|
|
|
|
|
return normalizedOriginalField.endsWith(".rohs_status") || ROHS_STATUS_FIELD_NAME_UNDERSCORE.equals(normalizedOriginalField); |
|
|
|
|
|
} |
|
|
} |
|
|
} |