添加修改物料去除货主校验;

This commit is contained in:
王奎兴
2026-08-18 09:53:30 +08:00
parent 070cdcd5de
commit 1d96322370
2 changed files with 63 additions and 55 deletions
@@ -157,15 +157,18 @@ public class MaterialBaseInfoApplicationService {
* @param materialBaseInfoDO * @param materialBaseInfoDO
*/ */
private void shipperParam(MaterialBaseInfoDO materialBaseInfoDO){ private void shipperParam(MaterialBaseInfoDO materialBaseInfoDO){
AjaxResult ajaxResult = userServiceFeign.getInfo(materialBaseInfoDO.getShipperId()); Long shipperId = materialBaseInfoDO.getShipperId();
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ if (shipperId != null && shipperId != 0l) {
throw new ServiceException("获取货主信息失败"); AjaxResult ajaxResult = userServiceFeign.getInfo(materialBaseInfoDO.getShipperId());
} if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); throw new ServiceException("获取货主信息失败");
// 如果原始shipperName不为空,保留原始值(导入或手动输入时应该保留完整名称) }
// 只有在原始shipperName为空时,才使用查询到的userName UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class);
if (materialBaseInfoDO.getShipperName() == null || materialBaseInfoDO.getShipperName().trim().isEmpty()) { // 如果原始shipperName不为空,保留原始值(导入或手动输入时应该保留完整名称)
materialBaseInfoDO.setShipperName(userPo.getUserName()); // 只有在原始shipperName为空时,才使用查询到的userName
if (materialBaseInfoDO.getShipperName() == null || materialBaseInfoDO.getShipperName().trim().isEmpty()) {
materialBaseInfoDO.setShipperName(userPo.getUserName());
}
} }
} }
@@ -182,4 +185,4 @@ public class MaterialBaseInfoApplicationService {
//return materialBaseInfoDomainService.getMaterialStockList(shipperName,materialName,machineCode,topOrganizationId,pageNum,pageSize);/**/ //return materialBaseInfoDomainService.getMaterialStockList(shipperName,materialName,machineCode,topOrganizationId,pageNum,pageSize);/**/
return null; return null;
} }
} }
@@ -257,31 +257,33 @@ public class MaterialBaseInfoApplicationService {
} }
} }
Long shipperId = materialBaseInfoDO.getShipperId(); Long shipperId = materialBaseInfoDO.getShipperId();
String customerCodeNcJson = null; if (shipperId != null&&shipperId != 0L) {
if (shipperId != null) { String customerCodeNcJson = null;
customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString()); if (shipperId != null) {
} customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) { }
ObjectMapper objectMapper = new ObjectMapper(); if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
List<Map<String, Object>> listNc = null; ObjectMapper objectMapper = new ObjectMapper();
try { List<Map<String, Object>> listNc = null;
listNc = objectMapper.readValue( try {
customerCodeNcJson, listNc = objectMapper.readValue(
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {} customerCodeNcJson,
); new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
String codeStr = ""; );
if (listNc != null && listNc.size() > 0) { String codeStr = "";
// 方式1:Stream拼接,逗号分隔 if (listNc != null && listNc.size() > 0) {
codeStr = listNc.stream() // 方式1:Stream拼接,逗号分隔
.map(map -> map.get("code")) codeStr = listNc.stream()
.filter(Objects::nonNull) // 过滤code为空 .map(map -> map.get("code"))
.map(Object::toString) .filter(Objects::nonNull) // 过滤code为空
.collect(Collectors.joining(",")); .map(Object::toString)
materialBaseInfoDO.setOrgId(codeStr); .collect(Collectors.joining(","));
materialBaseInfoDO.setOrgId(codeStr);
}
// codeStr 就是拼接好的字符串
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
} }
// codeStr 就是拼接好的字符串
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
} }
} }
Long materialBaseInfoId = materialBaseInfoDomainService.insert(materialBaseInfoDO); Long materialBaseInfoId = materialBaseInfoDomainService.insert(materialBaseInfoDO);
@@ -316,30 +318,33 @@ public class MaterialBaseInfoApplicationService {
*/ */
public Boolean update(MaterialBaseInfoDO materialBaseInfoDO) { public Boolean update(MaterialBaseInfoDO materialBaseInfoDO) {
Long shipperId = materialBaseInfoDO.getShipperId(); Long shipperId = materialBaseInfoDO.getShipperId();
String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString()); if (shipperId != null&&shipperId!=0l) {
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) { String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
ObjectMapper objectMapper = new ObjectMapper(); if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
List<Map<String, Object>> listNc = null; ObjectMapper objectMapper = new ObjectMapper();
try { List<Map<String, Object>> listNc = null;
listNc = objectMapper.readValue( try {
customerCodeNcJson, listNc = objectMapper.readValue(
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {} customerCodeNcJson,
); new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
String codeStr = ""; );
if (listNc != null && listNc.size() > 0) { String codeStr = "";
// 方式1:Stream拼接,逗号分隔 if (listNc != null && listNc.size() > 0) {
codeStr = listNc.stream() // 方式1:Stream拼接,逗号分隔
.map(map -> map.get("code")) codeStr = listNc.stream()
.filter(Objects::nonNull) // 过滤code为空 .map(map -> map.get("code"))
.map(Object::toString) .filter(Objects::nonNull) // 过滤code为空
.collect(Collectors.joining(",")); .map(Object::toString)
materialBaseInfoDO.setOrgId(codeStr); .collect(Collectors.joining(","));
materialBaseInfoDO.setOrgId(codeStr);
}
// codeStr 就是拼接好的字符串
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
} }
// codeStr 就是拼接好的字符串
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
} }
} }
materialBaseInfoDomainService.update(materialBaseInfoDO); materialBaseInfoDomainService.update(materialBaseInfoDO);
Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId(); Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId();
// 商品/公共/仓控 子表:Feign/前端常只带业务字段、未带子表主键,需按 material_base_info_id 补全后再 update,否则 WHERE xxx_id=? 为 null 导致 Updates: 0 // 商品/公共/仓控 子表:Feign/前端常只带业务字段、未带子表主键,需按 material_base_info_id 补全后再 update,否则 WHERE xxx_id=? 为 null 导致 Updates: 0