Browse Source

2026-07-01

RoHS优化
master
fengyuan_yang 4 weeks ago
parent
commit
376329860d
  1. 132
      src/main/java/com/spring/modules/sift/controller/QueryUserSettingController.java
  2. 4
      src/main/java/com/spring/modules/sift/service/impl/QueryUserSettingServiceImpl.java
  3. 3
      src/main/resources/mapper/rohs/RohsMapper.xml

132
src/main/java/com/spring/modules/sift/controller/QueryUserSettingController.java

@ -12,18 +12,20 @@ import com.spring.modules.sift.service.QueryUserSettingService;
import com.spring.modules.sift.vo.QuerySavedVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@RestController
@RequestMapping("/sift")
@Slf4j
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
private QueryUserSettingDefaultService defaultService;
@ -42,9 +44,12 @@ public class QueryUserSettingController {
public R searchUserSettingList(String menuId,String userId){
List<QueryUserSetting> queryUserSettingList = queryUserSettingService.searchQueryUserSetting(menuId, userId);
if (!queryUserSettingList.isEmpty()){
appendRohsStatusFieldForUserSetting(menuId, userId, 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")
@ -82,4 +87,121 @@ public class QueryUserSettingController {
querySavedHeaderService.updateQuerySavedHeader(querySavedVo);
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);
}
}

4
src/main/java/com/spring/modules/sift/service/impl/QueryUserSettingServiceImpl.java

@ -61,7 +61,9 @@ public class QueryUserSettingServiceImpl extends ServiceImpl<QueryUserSettingMap
wrapper.eq(QueryUserSetting::getMenuId,queryUserSetting.getMenuId())
.eq(QueryUserSetting::getUserId,queryUserSetting.getUserId())
.eq(QueryUserSetting::getFieldName,queryUserSetting.getFieldName());
update(queryUserSetting,wrapper);
if (!update(queryUserSetting,wrapper)) {
save(queryUserSetting);
}
});
return;
}

3
src/main/resources/mapper/rohs/RohsMapper.xml

@ -127,6 +127,9 @@
<if test="params.status != null and params.status != ''">
and a.status = #{params.status}
</if>
<if test="params.rohsStatus != null and params.rohsStatus != ''">
and a.rohs_status = #{params.rohsStatus}
</if>
<if test="params.nodeId != null and params.nodeId != ''">
and d.node_id = #{params.nodeId}
</if>

Loading…
Cancel
Save