Browse Source

2026-08-12

刀具申请记录,主信息列表增加列:“IFS PR编号”、“采购订单号”、“厂商名称”、“总成本(元)”
master
fengyuan_yang 1 month ago
parent
commit
986afbd44b
  1. 7
      src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java
  2. 123
      src/main/java/com/spring/modules/sift/controller/QueryUserSettingController.java
  3. 4
      src/main/resources/mapper/part/PartInformationMapper.xml

7
src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java

@ -5486,9 +5486,14 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
throw new RuntimeException("导入失败: " + e.getMessage(), e);
}
List<PartInformationVo> list1 = new ArrayList<>();
if (partList.isEmpty()) {
flag = false;
exceptionList.add("未读取到有效数据: 请确认模板第一张sheet从第2行开始填写IFS物料编码");
}
for (PlmProjectPartData part : partList) {
List list2 = getProjectPartList1(part).getList();
if (list2.isEmpty()) {
flag = false;
wrongIfsPartNoRows.add(ifsPartNoMap.get(part.getFinalPartNo()));
continue;
}
@ -5526,7 +5531,7 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
// Project Part
wrongIfsPartNosStr = "IFS物料编码在Project Part中不存在: 第"+ wrongIfsPartNoRows.stream().map(Object::toString).collect(Collectors.joining("/")) + "行";
}*/
String wrongIfsPartNosStr = "IFS物料编码不存在: 第"+ wrongIfsPartNoRows.stream().map(Object::toString).collect(Collectors.joining("/")) + "行";
String wrongIfsPartNosStr = "IFS物料编码不存在或不可导入: 第"+ wrongIfsPartNoRows.stream().map(Object::toString).collect(Collectors.joining("/")) + "行";
exceptionList.add(wrongIfsPartNosStr);
}
list.setRecords(exceptionList);

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

@ -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) {

4
src/main/resources/mapper/part/PartInformationMapper.xml

@ -1472,8 +1472,8 @@
a.plm_part_no,
d.customer_part_no
FROM part as a
left join plm_project_part as b on a.site = b.site and a.plm_part_no = b.test_part_no
left join plm_project_part as c on a.site = c.site and a.ifs_part_no = c.test_part_no
left join plm_project_part as b on a.site = b.site and a.plm_part_no = b.test_part_no and b.project_id = #{query.projectId}
left join plm_project_part as c on a.site = c.site and a.ifs_part_no = c.test_part_no and b.project_id = #{query.projectId}
left join plm_customer_part_info as d on a.site = d.site and d.customer_no = #{query.customerId}
and (d.part_no = a.ifs_part_no or d.part_no = a.plm_part_no)
where a.site = #{query.site}

Loading…
Cancel
Save