refactor(mdm): 重构 MDM 数据接口处理逻辑

-移除了不必要的变量和代码块- 优化了异常处理逻辑- 统一了响应状态码
- 调整了部分字段的命名和含义
This commit is contained in:
yangyufu
2025-06-16 09:35:36 +08:00
parent 473dfb06da
commit 26622ca4bf
2 changed files with 19 additions and 52 deletions

View File

@@ -8,10 +8,8 @@ package org.nl.wms.ext.mdm.entity;
* @Description 接口状态统一码
*/
public enum StatusEnum {
INSERT_SUCCESS("S", "新增成功"),
UPDATE_SUCCESS("S", "更新成功"),
ACCEPT_SUCCESS("S", "接受成功"),
ACCEPT_FAIL("E", "接受失败");
ACCEPT_SUCCESS("S", "分发成功"),
ACCEPT_FAIL("E", "分发失败");
private String code;
private String message;

View File

@@ -39,7 +39,6 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
public CommonResponseDto transCustomerInfo(JSONObject jsonData) {
log.info("MDM客户主数据业务请求参数为{}", jsonData);
CommonResponseDto commonResponseDto = new CommonResponseDto();
boolean flag = true;
if(CollectionUtil.isEmpty(jsonData)){
commonResponseDto.setStatus("E");
commonResponseDto.setMessage("MDM传输数据为空");
@@ -65,7 +64,7 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
}
//客户简称
String abbreviation = json.getString("abbreviation");
//客户状态
//客户状态 01合格 02冻结 03禁用 04黑名单
String customerStatus = json.getString("customerStatus");
JSONArray salesOrgs = json.getJSONArray("salesOrg");
if (CollectionUtil.isEmpty(salesOrgs)) {
@@ -86,22 +85,10 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
String empSupplier = par.getString("empSupplier");
//业务员名称
String empSupplierDesc = par.getString("empSupplierDesc");
//todo 后续确认这个步骤的作用,考虑是否移除该步骤
JSONObject jo = new JSONObject();
jo.put("id", mdId);
jo.put("customer_name", mdCode);
jo.put("description", customerName);
jo.put("company", abbreviation);
jo.put("mdm_status", customerStatus);
String sales_owner = StrUtil.join("|",empSupplier,empSupplierDesc);
jo.put("sales_owner", sales_owner);
WQLObject.getWQLObject("md_cs_customerbaseproc").insert(jo);
log.info("MDM客户接口表处理数据{}", jo);
//插入客户表
String currentUserId = SecurityUtils.getCurrentUserId();
String now = DateUtil.now();
JSONObject customer_jo = WQLObject.getWQLObject("md_cs_customerbase").query("cust_code = '" + mdCode + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(customer_jo)) {
customer_jo = new JSONObject();
@@ -115,7 +102,7 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
customer_jo.put("create_name", "mdmAdmin");
customer_jo.put("create_time", now);
WQLObject.getWQLObject("md_cs_customerbase").insert(customer_jo);
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.INSERT_SUCCESS.getCode(), StatusEnum.INSERT_SUCCESS.getMessage());
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_SUCCESS.getCode(), StatusEnum.ACCEPT_SUCCESS.getMessage());
responseItemsData.add(itemsData);
} else {
customer_jo.put("cust_name", customerName);
@@ -126,21 +113,19 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
customer_jo.put("mdm_status", customerStatus);
customer_jo.put("update_time", now);
WQLObject.getWQLObject("md_cs_customerbase").update(customer_jo);
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.UPDATE_SUCCESS.getCode(), StatusEnum.UPDATE_SUCCESS.getMessage());
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_SUCCESS.getCode(), StatusEnum.ACCEPT_SUCCESS.getMessage());
responseItemsData.add(itemsData);
}
}catch (Exception e) {
//获取抛出异常的信息
String message = e.getMessage();
flag= false;
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_FAIL.getCode(),message.contains("MDM")?message:StatusEnum.ACCEPT_FAIL.getMessage());
responseItemsData.add(itemsData);
log.error("MDM客户数据接口业务实现类处理数据异常", e);
}
}
}
commonResponseDto.setStatus(flag ? StatusEnum.ACCEPT_SUCCESS.getCode() : StatusEnum.ACCEPT_FAIL.getCode());
commonResponseDto.setMessage(flag ? StatusEnum.ACCEPT_SUCCESS.getMessage() : StatusEnum.ACCEPT_FAIL.getMessage());
commonResponseDto.setStatus(StatusEnum.ACCEPT_SUCCESS.getCode());
commonResponseDto.setMessage(StatusEnum.ACCEPT_SUCCESS.getMessage());
commonResponseDto.setResponseData(responseItemsData);
return commonResponseDto;
}
@@ -155,7 +140,6 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
public CommonResponseDto transSupplierInfo(JSONObject jsonData) {
log.info("MDM供应商主数据请求参数为{}", jsonData);
CommonResponseDto commonResponseDto = new CommonResponseDto();
boolean flag = true;
if(CollectionUtil.isEmpty(jsonData)){
commonResponseDto.setStatus("E");
commonResponseDto.setMessage("MDM传输数据为空");
@@ -177,10 +161,8 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
String supplierName = json.getString("supplierName");
//供应商简称
String abbreviation = json.getString("abbreviation");
//股份供应商状态
//股份供应商状态 01合格 02潜在 03不合作 04黑名单
String gfSupplierStatus = json.getString("gfSupplierStatus");
//股份供应商状态_描述
String gfSupplierStatusDesc = json.getString("gfSupplierStatusDesc");
//插入客户表
String currentUserId = SecurityUtils.getCurrentUserId();
String now = DateUtil.now();
@@ -200,7 +182,7 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
supplier_jo.put("create_name", "mdmAdmin");
supplier_jo.put("create_time", now);
WQLObject.getWQLObject("md_cs_transportationbase").insert(supplier_jo);
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.INSERT_SUCCESS.getCode(), StatusEnum.INSERT_SUCCESS.getMessage());
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_SUCCESS.getCode(), StatusEnum.ACCEPT_SUCCESS.getMessage());
responseItemsData.add(itemsData);
} else {
supplier_jo.put("cust_name", supplierName);
@@ -210,21 +192,20 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
supplier_jo.put("mdm_status", gfSupplierStatus);
supplier_jo.put("update_time", now);
WQLObject.getWQLObject("md_cs_transportationbase").update(supplier_jo);
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.UPDATE_SUCCESS.getCode(), StatusEnum.UPDATE_SUCCESS.getMessage());
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_SUCCESS.getCode(), StatusEnum.ACCEPT_SUCCESS.getMessage());
responseItemsData.add(itemsData);
}
}catch (Exception e) {
//获取抛出异常的信息
String message = e.getMessage();
flag= false;
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_FAIL.getCode(),message.contains("MDM")?message:StatusEnum.ACCEPT_FAIL.getMessage());
responseItemsData.add(itemsData);
log.error("MDM供应商数据接口数据异常", e);
}
}
}
commonResponseDto.setStatus(flag ? StatusEnum.ACCEPT_SUCCESS.getCode() : StatusEnum.ACCEPT_FAIL.getCode());
commonResponseDto.setMessage(flag ? StatusEnum.ACCEPT_SUCCESS.getMessage() : StatusEnum.ACCEPT_FAIL.getMessage());
commonResponseDto.setStatus(StatusEnum.ACCEPT_SUCCESS.getCode());
commonResponseDto.setMessage(StatusEnum.ACCEPT_SUCCESS.getMessage());
commonResponseDto.setResponseData(responseItemsData);
return commonResponseDto;
}
@@ -238,7 +219,6 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
public CommonResponseDto transMaterialInfo(JSONObject jsonData) {
log.info("MDM物料主数据请求参数为{}", jsonData);
CommonResponseDto commonResponseDto = new CommonResponseDto();
boolean flag = true;
if(CollectionUtil.isEmpty(jsonData)){
commonResponseDto.setStatus("E");
commonResponseDto.setMessage("MDM传输数据为空");
@@ -256,25 +236,16 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
//物料名称
String mdDescription = json.getString("mdDescription");
try {
//物料分类
String categoryCode = json.getString("categoryCode");
//计量单位
String meins = json.getString("meins");
//主数据状态
String mdStatusCode = json.getString("mdStatusCode");
//跨工厂的物料状态
//跨工厂的物料状态 Y有效 D冻结 N无效
String mstae = json.getString("mstae");
//跨工厂的物料状态_描述
String mstaeDesc = json.getString("mstaeDesc");
//插入客户表
String currentUserId = SecurityUtils.getCurrentUserId();
String now = DateUtil.now();
if (StrUtil.isEmpty(mdCode) || StrUtil.isEmpty(mdDescription)) {
throw new BadRequestException("MDM->物料编码或名称不能为空!");
}
//todo 后续确认这个步骤的作用,考虑是否移除该步骤
//todo 插入md_me_materialbaseext 物料基本信息接口表
JSONObject material_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + mdCode + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(material_jo)) {
JSONObject unit = WQLObject.getWQLObject("md_pb_measureunit").query("unit_code = '" + meins + "'").uniqueResult(0);
@@ -286,12 +257,12 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
material_jo.put("material_code", mdCode);
material_jo.put("material_name", mdDescription);
material_jo.put("base_unit_id", unit.getString("measure_unit_id"));
material_jo.put("mdm_status", mdStatusCode);
material_jo.put("mdm_status", mstae);
material_jo.put("create_id", currentUserId);
material_jo.put("create_name", "mdmAdmin");
material_jo.put("create_time", now);
WQLObject.getWQLObject("md_me_materialbase").insert(material_jo);
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.INSERT_SUCCESS.getCode(), StatusEnum.INSERT_SUCCESS.getMessage());
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_SUCCESS.getCode(), StatusEnum.ACCEPT_SUCCESS.getMessage());
responseItemsData.add(itemsData);
} else {
JSONObject unit = WQLObject.getWQLObject("md_pb_measureunit").query("unit_code = '" + meins + "'").uniqueResult(0);
@@ -300,27 +271,25 @@ public class MdmToLmsServiceImpl implements MdmToLmsService {
}
material_jo.put("material_name", mdDescription);
material_jo.put("base_unit_id", unit.getString("measure_unit_id"));
material_jo.put("mdm_status", mdStatusCode);
material_jo.put("mdm_status", mstae);
material_jo.put("update_optid", currentUserId);
material_jo.put("update_optname", "mdmAdmin");
material_jo.put("update_time", now);
WQLObject.getWQLObject("md_me_materialbase").update(material_jo);
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.UPDATE_SUCCESS.getCode(), StatusEnum.UPDATE_SUCCESS.getMessage());
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_SUCCESS.getCode(), StatusEnum.ACCEPT_SUCCESS.getMessage());
responseItemsData.add(itemsData);
}
}catch (Exception e) {
//获取抛出异常的信息
String message = e.getMessage();
flag= false;
ResponseItemsData itemsData = ResponseItemsData.adapter(mdId, mdCode, mdDescription, StatusEnum.ACCEPT_FAIL.getCode(),message.contains("MDM")?message:StatusEnum.ACCEPT_FAIL.getMessage());
responseItemsData.add(itemsData);
log.error("MDM物料主数据接口数据异常", e);
}
}
}
//todo 错误的定义,是有一个错就是状态为错误还是?
commonResponseDto.setStatus(flag ? StatusEnum.ACCEPT_SUCCESS.getCode() : StatusEnum.ACCEPT_FAIL.getCode());
commonResponseDto.setMessage(flag ? StatusEnum.ACCEPT_SUCCESS.getMessage() : StatusEnum.ACCEPT_FAIL.getMessage());
commonResponseDto.setStatus(StatusEnum.ACCEPT_SUCCESS.getCode());
commonResponseDto.setMessage(StatusEnum.ACCEPT_SUCCESS.getMessage());
commonResponseDto.setResponseData(responseItemsData);
return commonResponseDto;
}