优化流程生产订单保存逻辑

- 添加调试日志,便于跟踪保存操作流程
- 修改组织编码处理逻辑,支持直接传递编码而非主键- 优化自动投放逻辑,增加日志记录和异常处理
- 修复传入数据异常时的错误提示
This commit is contained in:
张明 2025-06-19 10:19:43 +08:00
parent 9c861128f5
commit 69392ee61c
1 changed files with 13 additions and 10 deletions

View File

@ -15,6 +15,7 @@ import nc.bs.logging.Log;
import nc.jdbc.framework.processor.MapListProcessor; import nc.jdbc.framework.processor.MapListProcessor;
import nc.util.mmf.framework.base.MMCollectionUtil; import nc.util.mmf.framework.base.MMCollectionUtil;
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
import nc.vo.org.OrgVO;
import nc.vo.pub.BusinessException; import nc.vo.pub.BusinessException;
import nc.ws.opm.pub.utils.result.APIErrCodeEnum; import nc.ws.opm.pub.utils.result.APIErrCodeEnum;
import nccloud.api.mmpac.pmo.IAPIPmoMaintainService; import nccloud.api.mmpac.pmo.IAPIPmoMaintainService;
@ -41,6 +42,7 @@ public class PmoResource extends AbstractNCCRestResource {
@Consumes({"application/json"}) @Consumes({"application/json"})
@Produces({"application/json"}) @Produces({"application/json"})
public JSONString save(Map<String, Object> paramMap) { public JSONString save(Map<String, Object> paramMap) {
logger.debug("=================开始进行流程生产订单的保存操作,交易类型为 保存即审批 审批后自动设置整单投放================");
List<Map<String, Object>> paramList = (List) paramMap.get("data"); List<Map<String, Object>> paramList = (List) paramMap.get("data");
PMOAggVO[] insertBills = null; PMOAggVO[] insertBills = null;
@ -53,28 +55,29 @@ public class PmoResource extends AbstractNCCRestResource {
return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息", APIErrCodeEnum.BUSINESSEXCCODE.getCode()); return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
} }
} }
IAPIPmoMaintainService serv = (IAPIPmoMaintainService) NCLocator.getInstance().lookup(IAPIPmoMaintainService.class); IAPIPmoMaintainService serv = (IAPIPmoMaintainService) NCLocator.getInstance().lookup(IAPIPmoMaintainService.class);
insertBills = serv.save(paramList); insertBills = serv.save(paramList);
// 遍历paramList判断组织是否需要自动投放 // 遍历paramList判断组织是否需要自动投放
for (Map<String, Object> map : paramList) { for (Map<String, Object> map : paramList) {
Map<String, Object> head = (Map<String, Object>) map.get(HEADTABLE); Map<String, Object> head = (Map<String, Object>) map.get(HEADTABLE);
if (head == null) continue; if (head == null) continue;
String pk_org = (String) head.get("pk_org"); String pk_org = (String) head.get("pk_org");
String orgCode = null; String orgCode = pk_org;
orgCode = httpPostOtherSys.transferCodeByPk("org_orgs", "code", "pk_org", pk_org); // 如果传递的是主键
logger.debug("转换pk_org[" + pk_org + "]为组织编码[" + orgCode + "]"); if (pk_org.length() >= 20) {
boolean isIncludeOrg = false; throw new BusinessException("传入数据异常'pk_org',参数应该为编码而非主键");
isIncludeOrg = httpPostOtherSys.checkIfIncludeOrg(orgCode); }
logger.debug("传递的组织非主键,为code[" + pk_org + "]");
boolean isIncludeOrg = httpPostOtherSys.checkIfIncludeOrg(orgCode);
logger.debug("检查是否为电缆[" + orgCode + "]返回:" + isIncludeOrg); logger.debug("检查是否为电缆[" + orgCode + "]返回:" + isIncludeOrg);
if (isIncludeOrg) { if (isIncludeOrg) {
logger.debug("当前检查组织为电缆,进行投放操作");
IPMOBusinessService putService = (IPMOBusinessService) NCLocator.getInstance().lookup(IPMOBusinessService.class); IPMOBusinessService putService = (IPMOBusinessService) NCLocator.getInstance().lookup(IPMOBusinessService.class);
try { try {
putService.rowput(insertBills); putService.rowput(insertBills);
logger.info("自动投放完成orgCode=" + orgCode); logger.info("==================自动投放完成orgCode=" + orgCode);
} catch (Exception e) { } catch (Exception e) {
logger.error("自动投放失败orgCode=" + orgCode, e); logger.error("==================自动投放失败orgCode=" + orgCode, e);
} }
} }
} }
@ -82,7 +85,7 @@ public class PmoResource extends AbstractNCCRestResource {
return ResultMessageUtil.toJSON(insertBills, "流程生产订单保存成功"); return ResultMessageUtil.toJSON(insertBills, "流程生产订单保存成功");
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("流程生产订单保存异常", e); logger.error("===========================流程生产订单保存异常", e);
return ResultMessageUtil.exceptionToJSON(e); return ResultMessageUtil.exceptionToJSON(e);
} }
} }