|
|
|
@ -21,11 +21,25 @@ import java.util.List; |
|
|
|
@Slf4j |
|
|
|
public class QueryUserSettingController { |
|
|
|
private static final String ROHS_MENU_ID = "112001"; |
|
|
|
private static final String TOOL_APPLY_MENU_ID = "106002"; |
|
|
|
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 TOOL_APPLY_PR_NO_FIELD_NAME = "prNo"; |
|
|
|
private static final String TOOL_APPLY_PO_NO_FIELD_NAME = "poNo"; |
|
|
|
private static final String TOOL_APPLY_SUPPLIER_NAME_FIELD_NAME = "supplierName"; |
|
|
|
private static final String TOOL_APPLY_ALL_COST_FIELD_NAME = "allCost"; |
|
|
|
private static final String TOOL_APPLY_PR_NO_FIELD_CAPTION = "IFS PR编号"; |
|
|
|
private static final String TOOL_APPLY_PO_NO_FIELD_CAPTION = "采购订单号"; |
|
|
|
private static final String TOOL_APPLY_SUPPLIER_NAME_FIELD_CAPTION = "厂商名称"; |
|
|
|
private static final String TOOL_APPLY_ALL_COST_FIELD_CAPTION = "总成本(元)"; |
|
|
|
private static final String TOOL_APPLY_PR_NO_ORIGINAL_FIELD = "a.prNo"; |
|
|
|
private static final String TOOL_APPLY_PO_NO_ORIGINAL_FIELD = "a.poNo"; |
|
|
|
private static final String TOOL_APPLY_SUPPLIER_NAME_ORIGINAL_FIELD = "a.supplierName"; |
|
|
|
private static final String TOOL_APPLY_ALL_COST_ORIGINAL_FIELD = "a.allCost"; |
|
|
|
private static final String STRING_DATA_TYPE = "S"; |
|
|
|
private static final String NUMBER_DATA_TYPE = "N"; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private QueryUserSettingDefaultService defaultService; |
|
|
|
@ -45,10 +59,12 @@ public class QueryUserSettingController { |
|
|
|
List<QueryUserSetting> queryUserSettingList = queryUserSettingService.searchQueryUserSetting(menuId, userId); |
|
|
|
if (!queryUserSettingList.isEmpty()){ |
|
|
|
appendRohsStatusFieldForUserSetting(menuId, userId, queryUserSettingList); |
|
|
|
appendToolApplyFieldsForUserSetting(menuId, userId, queryUserSettingList); |
|
|
|
return R.ok().put("rows",queryUserSettingList); |
|
|
|
} |
|
|
|
List<QueryUserSettingDefault> defaultList = defaultService.searchQueryUserSettingDefault(menuId); |
|
|
|
appendRohsStatusFieldForDefaultSetting(menuId, defaultList); |
|
|
|
appendToolApplyFieldsForDefaultSetting(menuId, defaultList); |
|
|
|
return R.ok().put("rows",defaultList); |
|
|
|
} |
|
|
|
|
|
|
|
@ -139,6 +155,113 @@ public class QueryUserSettingController { |
|
|
|
settingList.add(row); |
|
|
|
} |
|
|
|
|
|
|
|
private void appendToolApplyFieldsForUserSetting(String menuId, String userId, List<QueryUserSetting> settingList) { |
|
|
|
if (!TOOL_APPLY_MENU_ID.equals(menuId) || settingList == null) { |
|
|
|
return; |
|
|
|
} |
|
|
|
appendToolApplyFieldForUserSetting(menuId, userId, settingList, |
|
|
|
TOOL_APPLY_PR_NO_FIELD_NAME, TOOL_APPLY_PR_NO_FIELD_CAPTION, TOOL_APPLY_PR_NO_ORIGINAL_FIELD, STRING_DATA_TYPE); |
|
|
|
appendToolApplyFieldForUserSetting(menuId, userId, settingList, |
|
|
|
TOOL_APPLY_PO_NO_FIELD_NAME, TOOL_APPLY_PO_NO_FIELD_CAPTION, TOOL_APPLY_PO_NO_ORIGINAL_FIELD, STRING_DATA_TYPE); |
|
|
|
appendToolApplyFieldForUserSetting(menuId, userId, settingList, |
|
|
|
TOOL_APPLY_SUPPLIER_NAME_FIELD_NAME, TOOL_APPLY_SUPPLIER_NAME_FIELD_CAPTION, TOOL_APPLY_SUPPLIER_NAME_ORIGINAL_FIELD, STRING_DATA_TYPE); |
|
|
|
appendToolApplyFieldForUserSetting(menuId, userId, settingList, |
|
|
|
TOOL_APPLY_ALL_COST_FIELD_NAME, TOOL_APPLY_ALL_COST_FIELD_CAPTION, TOOL_APPLY_ALL_COST_ORIGINAL_FIELD, NUMBER_DATA_TYPE); |
|
|
|
} |
|
|
|
|
|
|
|
private void appendToolApplyFieldsForDefaultSetting(String menuId, List<QueryUserSettingDefault> settingList) { |
|
|
|
if (!TOOL_APPLY_MENU_ID.equals(menuId) || settingList == null) { |
|
|
|
return; |
|
|
|
} |
|
|
|
appendToolApplyFieldForDefaultSetting(menuId, settingList, |
|
|
|
TOOL_APPLY_PR_NO_FIELD_NAME, TOOL_APPLY_PR_NO_FIELD_CAPTION, TOOL_APPLY_PR_NO_ORIGINAL_FIELD, STRING_DATA_TYPE); |
|
|
|
appendToolApplyFieldForDefaultSetting(menuId, settingList, |
|
|
|
TOOL_APPLY_PO_NO_FIELD_NAME, TOOL_APPLY_PO_NO_FIELD_CAPTION, TOOL_APPLY_PO_NO_ORIGINAL_FIELD, STRING_DATA_TYPE); |
|
|
|
appendToolApplyFieldForDefaultSetting(menuId, settingList, |
|
|
|
TOOL_APPLY_SUPPLIER_NAME_FIELD_NAME, TOOL_APPLY_SUPPLIER_NAME_FIELD_CAPTION, TOOL_APPLY_SUPPLIER_NAME_ORIGINAL_FIELD, STRING_DATA_TYPE); |
|
|
|
appendToolApplyFieldForDefaultSetting(menuId, settingList, |
|
|
|
TOOL_APPLY_ALL_COST_FIELD_NAME, TOOL_APPLY_ALL_COST_FIELD_CAPTION, TOOL_APPLY_ALL_COST_ORIGINAL_FIELD, NUMBER_DATA_TYPE); |
|
|
|
} |
|
|
|
|
|
|
|
private void appendToolApplyFieldForUserSetting(String menuId, String userId, List<QueryUserSetting> settingList, |
|
|
|
String fieldName, String fieldCaption, String originalField, String dataType) { |
|
|
|
if (containsUserSettingField(settingList, fieldName, originalField)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
QueryUserSetting row = new QueryUserSetting(); |
|
|
|
row.setMenuId(menuId); |
|
|
|
row.setUserId(userId); |
|
|
|
row.setDtsName(getDtsNameFromUserSetting(settingList)); |
|
|
|
row.setDtsCaption(getDtsCaptionFromUserSetting(settingList)); |
|
|
|
row.setFieldName(fieldName); |
|
|
|
row.setFieldCaption(fieldCaption); |
|
|
|
row.setOriginalField(originalField); |
|
|
|
row.setDataType(dataType); |
|
|
|
row.setVisible("Y"); |
|
|
|
row.setShowSeqNo(getNextSeqFromUserSetting(settingList)); |
|
|
|
row.setSymbol(""); |
|
|
|
row.setFormula(""); |
|
|
|
row.setSortBy(""); |
|
|
|
row.setOrderSeq(""); |
|
|
|
settingList.add(row); |
|
|
|
} |
|
|
|
|
|
|
|
private void appendToolApplyFieldForDefaultSetting(String menuId, List<QueryUserSettingDefault> settingList, |
|
|
|
String fieldName, String fieldCaption, String originalField, String dataType) { |
|
|
|
if (containsDefaultSettingField(settingList, fieldName, originalField)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
QueryUserSettingDefault row = new QueryUserSettingDefault(); |
|
|
|
row.setMenuId(menuId); |
|
|
|
row.setDtsName(getDtsNameFromDefaultSetting(settingList)); |
|
|
|
row.setDtsCaption(getDtsCaptionFromDefaultSetting(settingList)); |
|
|
|
row.setFieldName(fieldName); |
|
|
|
row.setFieldCaption(fieldCaption); |
|
|
|
row.setOriginalField(originalField); |
|
|
|
row.setDataType(dataType); |
|
|
|
row.setVisible("Y"); |
|
|
|
row.setShowSeqNo(getNextSeqFromDefaultSetting(settingList)); |
|
|
|
row.setSymbol(""); |
|
|
|
row.setFormula(""); |
|
|
|
row.setSortBy(""); |
|
|
|
row.setOrderSeq(""); |
|
|
|
settingList.add(row); |
|
|
|
} |
|
|
|
|
|
|
|
private boolean containsUserSettingField(List<QueryUserSetting> settingList, String fieldName, String originalField) { |
|
|
|
String normalizedFieldName = normalizeSettingField(fieldName); |
|
|
|
String normalizedOriginalField = normalizeSettingField(originalField); |
|
|
|
for (QueryUserSetting item : settingList) { |
|
|
|
if (item == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (normalizedFieldName.equals(normalizeSettingField(item.getFieldName())) |
|
|
|
|| normalizedOriginalField.equals(normalizeSettingField(item.getOriginalField()))) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
private boolean containsDefaultSettingField(List<QueryUserSettingDefault> settingList, String fieldName, String originalField) { |
|
|
|
String normalizedFieldName = normalizeSettingField(fieldName); |
|
|
|
String normalizedOriginalField = normalizeSettingField(originalField); |
|
|
|
for (QueryUserSettingDefault item : settingList) { |
|
|
|
if (item == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (normalizedFieldName.equals(normalizeSettingField(item.getFieldName())) |
|
|
|
|| normalizedOriginalField.equals(normalizeSettingField(item.getOriginalField()))) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
private String normalizeSettingField(String value) { |
|
|
|
return value == null ? "" : value.trim().toLowerCase(); |
|
|
|
} |
|
|
|
|
|
|
|
private Integer getNextSeqFromUserSetting(List<QueryUserSetting> settingList) { |
|
|
|
int max = 0; |
|
|
|
for (QueryUserSetting item : settingList) { |
|
|
|
|