Browse Source

getPartPackageProperties

java8
han\hanst 3 months ago
parent
commit
db9d127238
  1. 38
      src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java
  2. 9
      src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java
  3. 79
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java

38
src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java

@ -571,4 +571,42 @@ public class CoDelController {
List<Map<String, Object>> templateList = coDelService.getCustomerTemplateList(params);
return R.ok().put("rows", templateList);
}
/**
* @Description 根据sitebuNopartNo获取物料包装属性每卷数量每箱卷数箱重量
* @Title getPartPackageProperties
* @param params 包含sitebuNopartNo的参数Map
* @author AI Assistant
* @date 2025-10-15
* @return R 返回包装属性信息包含rollQty(每卷数量)boxRolls(每箱卷数)boxWeight(箱重量)
*/
@PostMapping("/getPartPackageProperties")
@ResponseBody
public R getPartPackageProperties(@RequestBody Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String partNo = (String) params.get("partNo");
// 参数校验
if (site == null || site.trim().isEmpty()) {
return R.error("站点(site)不能为空");
}
if (buNo == null || buNo.trim().isEmpty()) {
return R.error("业务单元(buNo)不能为空");
}
if (partNo == null || partNo.trim().isEmpty()) {
return R.error("物料编号(partNo)不能为空");
}
Map<String, Object> result = coDelService.getPartPackageProperties(site, buNo, partNo);
// 根据业务结果返回
Boolean success = (Boolean) result.get("success");
if (success != null && !success) {
String message = (String) result.get("message");
return R.error(message != null ? message : "获取物料包装属性失败");
}
return R.ok().put("data", result);
}
}

9
src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java

@ -166,4 +166,13 @@ public interface CoDelService {
void modifyNotifyDetailByExcel(MultipartFile file, EcssCoDelNotifyHeaderData inData);
List<Map<String, Object>> getCustomerTemplateList(Map<String, Object> params);
/**
* @Description 根据sitebuNopartNo获取物料包装属性每卷数量每箱卷数箱重量
* @param site 站点
* @param buNo 业务单元
* @param partNo 物料编号
* @return 包装属性信息Map
*/
Map<String, Object> getPartPackageProperties(String site, String buNo, String partNo);
}

79
src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java

@ -4177,4 +4177,83 @@ public class CoDelServiceImpl implements CoDelService {
return emailContent.toString();
}
/**
* @Description 根据sitebuNopartNo获取物料包装属性每卷数量每箱卷数箱重量
* @Author AI Assistant
* @Date 2025-10-15
* @param site 站点
* @param buNo 业务单元
* @param partNo 物料编号
* @return 包装属性信息Map包含rollQty(每卷数量)boxRolls(每箱卷数)boxWeight(箱重量)
*/
@Override
public Map<String, Object> getPartPackageProperties(String site, String buNo, String partNo) {
log.info("开始获取物料包装属性 - site: {}, buNo: {}, partNo: {}", site, buNo, partNo);
Map<String, Object> result = new HashMap<>();
try {
// 获取物料属性列表
List<PartSubPropertiesValueData> propertiesValues = coDelMapper.getPropertiesListByTypeAndCodeNo(
site, "ECSSPART", "BG001", buNo, partNo);
if (propertiesValues == null || propertiesValues.isEmpty()) {
log.warn("未找到物料 {} 的属性配置", partNo);
result.put("success", false);
result.put("message", "未找到物料的属性配置");
return result;
}
// 按属性项编号分组
Map<String, List<PartSubPropertiesValueData>> partNoAndItemNoMap = propertiesValues.stream()
.collect(Collectors.groupingBy(PartSubPropertiesValue::getPropertiesItemNo));
// 获取每卷数量
PartSubPropertiesValueData propertiesRollQty = null;
if (partNoAndItemNoMap.containsKey("ROLLQTY") && !partNoAndItemNoMap.get("ROLLQTY").isEmpty()) {
propertiesRollQty = partNoAndItemNoMap.get("ROLLQTY").get(0);
result.put("rollQty", propertiesRollQty.getNumValue());
} else {
log.warn("物料 {} 未配置ROLLQTY属性", partNo);
result.put("rollQty", null);
}
// 获取每箱卷数
PartSubPropertiesValueData propertiesBoxRolls = null;
if (partNoAndItemNoMap.containsKey("BOXROLLS") && !partNoAndItemNoMap.get("BOXROLLS").isEmpty()) {
propertiesBoxRolls = partNoAndItemNoMap.get("BOXROLLS").get(0);
result.put("boxRolls", propertiesBoxRolls.getNumValue());
} else {
log.warn("物料 {} 未配置BOXROLLS属性", partNo);
result.put("boxRolls", null);
}
// 获取箱重量
PartSubPropertiesValueData propertiesBoxWeight = null;
if (partNoAndItemNoMap.containsKey("BOXWEIGHT") && !partNoAndItemNoMap.get("BOXWEIGHT").isEmpty()) {
propertiesBoxWeight = partNoAndItemNoMap.get("BOXWEIGHT").get(0);
result.put("boxWeight", propertiesBoxWeight.getNumValue());
} else {
log.warn("物料 {} 未配置BOXWEIGHT属性", partNo);
result.put("boxWeight", null);
}
result.put("success", true);
result.put("site", site);
result.put("buNo", buNo);
result.put("partNo", partNo);
log.info("物料包装属性获取成功 - partNo: {}, rollQty: {}, boxRolls: {}, boxWeight: {}",
partNo, result.get("rollQty"), result.get("boxRolls"), result.get("boxWeight"));
} catch (Exception e) {
log.error("获取物料包装属性失败 - site: {}, buNo: {}, partNo: {}, error: {}",
site, buNo, partNo, e.getMessage(), e);
result.put("success", false);
result.put("message", "获取物料包装属性失败: " + e.getMessage());
}
return result;
}
}
Loading…
Cancel
Save