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

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
*/
private void shipperParam(MaterialBaseInfoDO materialBaseInfoDO){
AjaxResult ajaxResult = userServiceFeign.getInfo(materialBaseInfoDO.getShipperId());
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
throw new ServiceException("获取货主信息失败");
}
UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class);
// 如果原始shipperName不为空,保留原始值(导入或手动输入时应该保留完整名称)
// 只有在原始shipperName为空时,才使用查询到的userName
if (materialBaseInfoDO.getShipperName() == null || materialBaseInfoDO.getShipperName().trim().isEmpty()) {
materialBaseInfoDO.setShipperName(userPo.getUserName());
Long shipperId = materialBaseInfoDO.getShipperId();
if (shipperId != null && shipperId != 0l) {
AjaxResult ajaxResult = userServiceFeign.getInfo(materialBaseInfoDO.getShipperId());
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
throw new ServiceException("获取货主信息失败");
}
UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class);
// 如果原始shipperName不为空,保留原始值(导入或手动输入时应该保留完整名称)
// 只有在原始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 null;
}
}
}
@@ -257,31 +257,33 @@ public class MaterialBaseInfoApplicationService {
}
}
Long shipperId = materialBaseInfoDO.getShipperId();
String customerCodeNcJson = null;
if (shipperId != null) {
customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
}
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> listNc = null;
try {
listNc = objectMapper.readValue(
customerCodeNcJson,
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
);
String codeStr = "";
if (listNc != null && listNc.size() > 0) {
// 方式1:Stream拼接,逗号分隔
codeStr = listNc.stream()
.map(map -> map.get("code"))
.filter(Objects::nonNull) // 过滤code为空
.map(Object::toString)
.collect(Collectors.joining(","));
materialBaseInfoDO.setOrgId(codeStr);
if (shipperId != null&&shipperId != 0L) {
String customerCodeNcJson = null;
if (shipperId != null) {
customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
}
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> listNc = null;
try {
listNc = objectMapper.readValue(
customerCodeNcJson,
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
);
String codeStr = "";
if (listNc != null && listNc.size() > 0) {
// 方式1:Stream拼接,逗号分隔
codeStr = listNc.stream()
.map(map -> map.get("code"))
.filter(Objects::nonNull) // 过滤code为空
.map(Object::toString)
.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);
@@ -316,30 +318,33 @@ public class MaterialBaseInfoApplicationService {
*/
public Boolean update(MaterialBaseInfoDO materialBaseInfoDO) {
Long shipperId = materialBaseInfoDO.getShipperId();
String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> listNc = null;
try {
listNc = objectMapper.readValue(
customerCodeNcJson,
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
);
String codeStr = "";
if (listNc != null && listNc.size() > 0) {
// 方式1:Stream拼接,逗号分隔
codeStr = listNc.stream()
.map(map -> map.get("code"))
.filter(Objects::nonNull) // 过滤code为空
.map(Object::toString)
.collect(Collectors.joining(","));
materialBaseInfoDO.setOrgId(codeStr);
if (shipperId != null&&shipperId!=0l) {
String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> listNc = null;
try {
listNc = objectMapper.readValue(
customerCodeNcJson,
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
);
String codeStr = "";
if (listNc != null && listNc.size() > 0) {
// 方式1:Stream拼接,逗号分隔
codeStr = listNc.stream()
.map(map -> map.get("code"))
.filter(Objects::nonNull) // 过滤code为空
.map(Object::toString)
.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);
Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId();
// 商品/公共/仓控 子表:Feign/前端常只带业务字段、未带子表主键,需按 material_base_info_id 补全后再 update,否则 WHERE xxx_id=? 为 null 导致 Updates: 0