diff --git a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java index d056fa8..a65e427 100644 --- a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java +++ b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java @@ -151,7 +151,37 @@ public class PickmToBuyingreqAction implements ICommonAction { head.setCtrantypeid(ctrantypeid); // head.setCwarehouseid(""); } - return inVOS; + + + List resultList = new ArrayList<>(); + Map> groupMap = new HashMap<>(); + + for (PraybillVO vo : inVOS) { + Object pk_org = vo.getHVO().getPk_org(); + groupMap.computeIfAbsent(pk_org, k -> new ArrayList<>()).add(vo); + } + for (Map.Entry> entry : groupMap.entrySet()) { + List group = entry.getValue(); + + // 修改1:使用ISuperVO列表收集子对象 + List mergedChildren = new ArrayList(); + for (PraybillVO vo : group) { + for (PraybillItemVO child : vo.getBVO()) { + mergedChildren.add(child); + } + } + if(mergedChildren.isEmpty()){ + continue; + } + PraybillVO newVO = new PraybillVO(); + newVO.setParent(group.get(0).getHVO()); + // 修改2:转换为ISuperVO数组 + newVO.setChildren(PickmItemVO.class, mergedChildren.toArray(new PraybillItemVO[0])); + + resultList.add(newVO); + } + return resultList.toArray(new PraybillVO[0]); +// return inVOS; } private String getValueByCondtion(String tablename, String fieldname, String contion) throws BusinessException { BaseDAO dao = new BaseDAO(); @@ -190,21 +220,21 @@ public class PickmToBuyingreqAction implements ICommonAction { public AggPickmVO[] processAggVOs(AggPickmVO[] aggVOs) throws DAOException { - Map> groupMap = new HashMap<>(); - - for (AggPickmVO vo : aggVOs) { - Object pk_org = vo.getParentVO().getPk_org(); - groupMap.computeIfAbsent(pk_org, k -> new ArrayList<>()).add(vo); - } +// Map> groupMap = new HashMap<>(); +// +// for (AggPickmVO vo : aggVOs) { +// Object pk_org = vo.getParentVO().getPk_org(); +// groupMap.computeIfAbsent(pk_org, k -> new ArrayList<>()).add(vo); +// } List resultList = new ArrayList<>(); - for (Map.Entry> entry : groupMap.entrySet()) { - List group = entry.getValue(); +// for (Map.Entry> entry : groupMap.entrySet()) { +// List group = entry.getValue(); // 修改1:使用ISuperVO列表收集子对象 List mergedChildren = new ArrayList(); - for (AggPickmVO vo : group) { + for (AggPickmVO vo : aggVOs) { PickmItemVO[] items = (PickmItemVO[]) vo.getChildren(PickmItemVO.class); if (items != null) { for (PickmItemVO child : items) { @@ -297,23 +327,30 @@ public class PickmToBuyingreqAction implements ICommonAction { } //只合并项目专用料数据 if(child.getBprojectmaterial().booleanValue()){ - mergedChildren.add(child); +// mergedChildren.add(child); + List pickmItemVOList = new ArrayList(); + pickmItemVOList.add(child); + AggPickmVO newVO = new AggPickmVO(); + newVO.setParent(vo.getParent()); + // 修改2:转换为ISuperVO数组 + newVO.setChildren(PickmItemVO.class, pickmItemVOList.toArray(new PickmItemVO[0])); + resultList.add(newVO); } // CircularlyAccessibleValueObject 实现了 ISuperVO } } } - if(mergedChildren.size() == 0){ - continue; - } +// if(mergedChildren.size() == 0){ +// continue; +// } - AggPickmVO newVO = new AggPickmVO(); - newVO.setParent(group.get(0).getParentVO()); - // 修改2:转换为ISuperVO数组 - newVO.setChildren(PickmItemVO.class, mergedChildren.toArray(new PickmItemVO[0])); - - resultList.add(newVO); - } +// AggPickmVO newVO = new AggPickmVO(); +// newVO.setParent(group.get(0).getParentVO()); +// // 修改2:转换为ISuperVO数组 +// newVO.setChildren(PickmItemVO.class, mergedChildren.toArray(new PickmItemVO[0])); +// +// resultList.add(newVO); +// } return resultList.toArray(new AggPickmVO[0]); } diff --git a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java index b755903..6f127f6 100644 --- a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java +++ b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java @@ -158,6 +158,7 @@ public class PickmToPmo implements ICommonAction { if (MMValueCheck.isEmpty(inVOS)) { ExceptionUtils.wrapBusinessException("备料计划转换流程生产订单失败"); } + for (PMOAggVO inVO : inVOS) { // 其它入库单的仓库、交易类型取自【业务参数设置】的默认值 PMOHeadVO head = inVO.getParentVO(); @@ -196,7 +197,34 @@ public class PickmToPmo implements ICommonAction { } // head.setCwarehouseid(""); } - return inVOS; + List resultList = new ArrayList<>(); + Map> groupMap = new HashMap<>(); + + for (PMOAggVO vo : inVOS) { + Object pk_org = vo.getParentVO().getPk_org(); + groupMap.computeIfAbsent(pk_org, k -> new ArrayList<>()).add(vo); + } + for (Map.Entry> entry : groupMap.entrySet()) { + List group = entry.getValue(); + + // 修改1:使用ISuperVO列表收集子对象 + List mergedChildren = new ArrayList(); + for (PMOAggVO vo : group) { + for (PMOItemVO child : vo.getChildrenVO()) { + mergedChildren.add(child); + } + } + if(mergedChildren.isEmpty()){ + continue; + } + PMOAggVO newVO = new PMOAggVO(); + newVO.setParent(group.get(0).getParentVO()); + // 修改2:转换为ISuperVO数组 + newVO.setChildren(PickmItemVO.class, mergedChildren.toArray(new PMOItemVO[0])); + + resultList.add(newVO); + } + return resultList.toArray(new PMOAggVO[0]); } private UFDateTime getnextmonth(UFDateTime date) { if (date == null) { @@ -231,21 +259,21 @@ public class PickmToPmo implements ICommonAction { return result; } public AggPickmVO[] processAggVOs(AggPickmVO[] aggVOs) throws DAOException { - Map> groupMap = new HashMap<>(); - - for (AggPickmVO vo : aggVOs) { - Object pk_org = vo.getParentVO().getPk_org(); - groupMap.computeIfAbsent(pk_org, k -> new ArrayList<>()).add(vo); - } +// Map> groupMap = new HashMap<>(); +// +// for (AggPickmVO vo : aggVOs) { +// Object pk_org = vo.getParentVO().getPk_org(); +// groupMap.computeIfAbsent(pk_org, k -> new ArrayList<>()).add(vo); +// } List resultList = new ArrayList<>(); - for (Map.Entry> entry : groupMap.entrySet()) { - List group = entry.getValue(); +// for (Map.Entry> entry : groupMap.entrySet()) { +// List group = entry.getValue(); // 修改1:使用ISuperVO列表收集子对象 List mergedChildren = new ArrayList(); - for (AggPickmVO vo : group) { + for (AggPickmVO vo : aggVOs) { PickmItemVO[] items = (PickmItemVO[]) vo.getChildren(PickmItemVO.class); if (items != null) { for (PickmItemVO child : items) { @@ -329,23 +357,29 @@ public class PickmToPmo implements ICommonAction { } //只合并项目专用料数据 if(child.getBprojectmaterial().booleanValue()){ - mergedChildren.add(child); + List pickmItemVOList = new ArrayList(); + pickmItemVOList.add(child); + AggPickmVO newVO = new AggPickmVO(); + newVO.setParent(vo.getParent()); + // 修改2:转换为ISuperVO数组 + newVO.setChildren(PickmItemVO.class, pickmItemVOList.toArray(new PickmItemVO[0])); + resultList.add(newVO); } // CircularlyAccessibleValueObject 实现了 ISuperVO } } } - if(mergedChildren.size() == 0){ - continue; - } +// if(resultList.size() == 0){ +// continue; +// } - AggPickmVO newVO = new AggPickmVO(); - newVO.setParent(group.get(0).getParentVO()); - // 修改2:转换为ISuperVO数组 - newVO.setChildren(PickmItemVO.class, mergedChildren.toArray(new PickmItemVO[0])); - - resultList.add(newVO); - } +// AggPickmVO newVO = new AggPickmVO(); +// newVO.setParent(group.get(0).getParentVO()); +// // 修改2:转换为ISuperVO数组 +// newVO.setChildren(PickmItemVO.class, mergedChildren.toArray(new PickmItemVO[0])); +// +// resultList.add(newVO); +// } return resultList.toArray(new AggPickmVO[0]); }