|
|
|
@ -101,6 +101,35 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
|
|
|
|
|
return new ListPager<>(resultList, pager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据零件号查询所有
|
|
|
|
|
*
|
|
|
|
|
* @param bom 组织代码
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesBom> queryMesDataTreeAll(MesBom bom, Pager pager) {
|
|
|
|
|
MesBomTreeModel organize = new MesBomTreeModel();
|
|
|
|
|
|
|
|
|
|
organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
|
|
|
|
|
organize.setName(AuthUtil.getOrganize().getName());
|
|
|
|
|
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean);
|
|
|
|
|
packBean.setOrderByStr(" order by createDatetime desc ");
|
|
|
|
|
pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean));
|
|
|
|
|
|
|
|
|
|
List<MesBom> bomList = baseRDao.findByHqlWherePage(packBean, pager);
|
|
|
|
|
|
|
|
|
|
List<MesBom> list = recursionBomListAll(bomList,bom.getEffStartTime(), null);;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new ListPager<>(list, pager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<MesBom> findMesBomByPartNoAndBomVersion(String partNo, String organizeCode, String bomVersion, String bomCode, String effStartTime) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
|
|
|
|
@ -216,6 +245,29 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
|
|
|
|
|
return bomList;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 递归查询bom
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
private List<MesBom> recursionBomListAll(List<MesBom> bomList,String effStartTime,List<MesBom> allList) {
|
|
|
|
|
if (CollectionUtils.isEmpty(allList)) {
|
|
|
|
|
allList = new ArrayList<>();
|
|
|
|
|
allList.addAll(bomList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(bomList)) {
|
|
|
|
|
for (MesBom bom : bomList) {
|
|
|
|
|
if (Objects.equals("X", bom.getPartType())) {
|
|
|
|
|
List<MesBom> resultList = findMesBomByPartNoAndBomVersion(bom.getItemPartNo(), bom.getOrganizeCode(), bom.getBomVersion(), bom.getBomCode(), effStartTime);
|
|
|
|
|
allList.addAll(resultList);
|
|
|
|
|
recursionBomListAll(resultList,effStartTime, allList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return allList;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|