优化流程生产订单保存逻辑
- 添加调试日志,便于跟踪保存操作流程 - 修改组织编码处理逻辑,支持直接传递编码而非主键- 优化自动投放逻辑,增加日志记录和异常处理 - 修复传入数据异常时的错误提示
This commit is contained in:
parent
9c861128f5
commit
69392ee61c
|
@ -15,6 +15,7 @@ import nc.bs.logging.Log;
|
|||
import nc.jdbc.framework.processor.MapListProcessor;
|
||||
import nc.util.mmf.framework.base.MMCollectionUtil;
|
||||
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
|
||||
import nc.vo.org.OrgVO;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.ws.opm.pub.utils.result.APIErrCodeEnum;
|
||||
import nccloud.api.mmpac.pmo.IAPIPmoMaintainService;
|
||||
|
@ -41,6 +42,7 @@ public class PmoResource extends AbstractNCCRestResource {
|
|||
@Consumes({"application/json"})
|
||||
@Produces({"application/json"})
|
||||
public JSONString save(Map<String, Object> paramMap) {
|
||||
logger.debug("=================开始进行流程生产订单的保存操作,交易类型为 保存即审批 审批后自动设置整单投放================");
|
||||
List<Map<String, Object>> paramList = (List) paramMap.get("data");
|
||||
PMOAggVO[] insertBills = null;
|
||||
|
||||
|
@ -53,28 +55,29 @@ public class PmoResource extends AbstractNCCRestResource {
|
|||
return ResultMessageUtil.exceptionToJSON("传入数据异常,参数要包含表头信息", APIErrCodeEnum.BUSINESSEXCCODE.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
IAPIPmoMaintainService serv = (IAPIPmoMaintainService) NCLocator.getInstance().lookup(IAPIPmoMaintainService.class);
|
||||
insertBills = serv.save(paramList);
|
||||
|
||||
// 遍历paramList,判断组织是否需要自动投放
|
||||
for (Map<String, Object> map : paramList) {
|
||||
Map<String, Object> head = (Map<String, Object>) map.get(HEADTABLE);
|
||||
if (head == null) continue;
|
||||
String pk_org = (String) head.get("pk_org");
|
||||
String orgCode = null;
|
||||
orgCode = httpPostOtherSys.transferCodeByPk("org_orgs", "code", "pk_org", pk_org);
|
||||
logger.debug("转换pk_org[" + pk_org + "]为组织编码[" + orgCode + "]");
|
||||
boolean isIncludeOrg = false;
|
||||
isIncludeOrg = httpPostOtherSys.checkIfIncludeOrg(orgCode);
|
||||
String orgCode = pk_org;
|
||||
// 如果传递的是主键
|
||||
if (pk_org.length() >= 20) {
|
||||
throw new BusinessException("传入数据异常'pk_org',参数应该为编码而非主键");
|
||||
}
|
||||
logger.debug("传递的组织非主键,为code[" + pk_org + "]");
|
||||
boolean isIncludeOrg = httpPostOtherSys.checkIfIncludeOrg(orgCode);
|
||||
logger.debug("检查是否为电缆[" + orgCode + "]返回:" + isIncludeOrg);
|
||||
if (isIncludeOrg) {
|
||||
logger.debug("当前检查组织为电缆,进行投放操作");
|
||||
IPMOBusinessService putService = (IPMOBusinessService) NCLocator.getInstance().lookup(IPMOBusinessService.class);
|
||||
try {
|
||||
putService.rowput(insertBills);
|
||||
logger.info("自动投放完成,orgCode=" + orgCode);
|
||||
logger.info("==================自动投放完成,orgCode=" + orgCode);
|
||||
} 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, "流程生产订单保存成功");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("流程生产订单保存异常", e);
|
||||
logger.error("===========================流程生产订单保存异常", e);
|
||||
return ResultMessageUtil.exceptionToJSON(e);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue