feat(pbom): 修复获取节点异常状态问题
This commit is contained in:
parent
87ce4de0fb
commit
00dea5a0f6
|
|
@ -164,7 +164,17 @@ public class EBomQueryService {
|
||||||
&& Objects.equals(v.getNum(), it.getNum())
|
&& Objects.equals(v.getNum(), it.getNum())
|
||||||
&& StrUtil.equals(v.getMaterialUnit(), it.getMaterialUnit())
|
&& StrUtil.equals(v.getMaterialUnit(), it.getMaterialUnit())
|
||||||
&& StrUtil.equals(v.getCreatedBy(), it.getCreatedBy()))) {
|
&& StrUtil.equals(v.getCreatedBy(), it.getCreatedBy()))) {
|
||||||
vos.add(createVO(it, level, vos.isEmpty() ? null : vos.get(vos.size() - 1), pVO));
|
ReverseReportVO levelVO = null;
|
||||||
|
if (level > 1) {
|
||||||
|
for (int i = vos.size() - 1; i >= 0; i--) {
|
||||||
|
ReverseReportVO vo = vos.get(i);
|
||||||
|
if (Objects.equals(level - 1, vo.getLevelNum())) {
|
||||||
|
levelVO = vo;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vos.add(createVO(it, level, vos.isEmpty() ? null : vos.get(vos.size() - 1), pVO, levelVO));
|
||||||
}
|
}
|
||||||
bindData(it, level + 1, vos);
|
bindData(it, level + 1, vos);
|
||||||
}
|
}
|
||||||
|
|
@ -175,17 +185,20 @@ public class EBomQueryService {
|
||||||
return ebomParentService.getReverseBoms(parentRowId);
|
return ebomParentService.getReverseBoms(parentRowId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ReverseReportVO createVO(BomNewPbomParentVO parentVO, Integer level, ReverseReportVO lastVO, BomNewPbomParentVO pVO) {
|
private ReverseReportVO createVO(BomNewPbomParentVO parentVO, Integer level, ReverseReportVO lastVO, BomNewPbomParentVO pVO, ReverseReportVO levelVO) {
|
||||||
ReverseReportVO vo = Convert.convert(ReverseReportVO.class, parentVO);
|
ReverseReportVO vo = Convert.convert(ReverseReportVO.class, parentVO);
|
||||||
vo.setLevelNum(level);
|
vo.setLevelNum(level);
|
||||||
if (Objects.isNull(lastVO)) {
|
if (Objects.isNull(lastVO)) {
|
||||||
vo.setBomVersion("1");
|
vo.setBomVersion("1");
|
||||||
vo.setChildNum(pVO.getNum());
|
|
||||||
vo.setChildMaterialUnit(pVO.getMaterialUnit());
|
|
||||||
} else {
|
} else {
|
||||||
vo.setBomVersion(level >= lastVO.getLevelNum() ? lastVO.getBomVersion() : String.valueOf(Integer.parseInt(lastVO.getBomVersion()) + 1));
|
vo.setBomVersion(level >= lastVO.getLevelNum() ? lastVO.getBomVersion() : String.valueOf(Integer.parseInt(lastVO.getBomVersion()) + 1));
|
||||||
vo.setChildNum(lastVO.getNum());
|
}
|
||||||
vo.setChildMaterialUnit(lastVO.getMaterialUnit());
|
if (Objects.nonNull(levelVO)) {
|
||||||
|
vo.setChildNum(levelVO.getNum());
|
||||||
|
vo.setChildMaterialUnit(levelVO.getMaterialUnit());
|
||||||
|
} else {
|
||||||
|
vo.setChildNum(pVO.getNum());
|
||||||
|
vo.setChildMaterialUnit(pVO.getMaterialUnit());
|
||||||
}
|
}
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,17 @@ public class PBomQueryService {
|
||||||
&& Objects.equals(v.getNum(), it.getNum())
|
&& Objects.equals(v.getNum(), it.getNum())
|
||||||
&& StrUtil.equals(v.getMaterialUnit(), it.getMaterialUnit())
|
&& StrUtil.equals(v.getMaterialUnit(), it.getMaterialUnit())
|
||||||
&& StrUtil.equals(v.getCreatedBy(), it.getCreatedBy()))) {
|
&& StrUtil.equals(v.getCreatedBy(), it.getCreatedBy()))) {
|
||||||
vos.add(createVO(it, level, vos.isEmpty() ? null : vos.get(vos.size() - 1), pVO));
|
ReverseReportVO levelVO = null;
|
||||||
|
if (level > 1) {
|
||||||
|
for (int i = vos.size() - 1; i >= 0; i--) {
|
||||||
|
ReverseReportVO vo = vos.get(i);
|
||||||
|
if (Objects.equals(level - 1, vo.getLevelNum())) {
|
||||||
|
levelVO = vo;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vos.add(createVO(it, level, vos.isEmpty() ? null : vos.get(vos.size() - 1), pVO, levelVO));
|
||||||
}
|
}
|
||||||
bindData(it, level + 1, vos);
|
bindData(it, level + 1, vos);
|
||||||
}
|
}
|
||||||
|
|
@ -169,17 +179,20 @@ public class PBomQueryService {
|
||||||
return pbomParentService.getReverseBoms(parentRowId);
|
return pbomParentService.getReverseBoms(parentRowId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ReverseReportVO createVO(BomNewPbomParentVO parentVO, Integer level, ReverseReportVO lastVO, BomNewPbomParentVO pVO) {
|
private ReverseReportVO createVO(BomNewPbomParentVO parentVO, Integer level, ReverseReportVO lastVO, BomNewPbomParentVO pVO, ReverseReportVO levelVO) {
|
||||||
ReverseReportVO vo = Convert.convert(ReverseReportVO.class, parentVO);
|
ReverseReportVO vo = Convert.convert(ReverseReportVO.class, parentVO);
|
||||||
vo.setLevelNum(level);
|
vo.setLevelNum(level);
|
||||||
if (Objects.isNull(lastVO)) {
|
if (Objects.isNull(lastVO)) {
|
||||||
vo.setBomVersion("1");
|
vo.setBomVersion("1");
|
||||||
vo.setChildNum(pVO.getNum());
|
|
||||||
vo.setChildMaterialUnit(pVO.getMaterialUnit());
|
|
||||||
} else {
|
} else {
|
||||||
vo.setBomVersion(level >= lastVO.getLevelNum() ? lastVO.getBomVersion() : String.valueOf(Integer.parseInt(lastVO.getBomVersion()) + 1));
|
vo.setBomVersion(level >= lastVO.getLevelNum() ? lastVO.getBomVersion() : String.valueOf(Integer.parseInt(lastVO.getBomVersion()) + 1));
|
||||||
vo.setChildNum(lastVO.getNum());
|
}
|
||||||
vo.setChildMaterialUnit(lastVO.getMaterialUnit());
|
if (Objects.nonNull(levelVO)) {
|
||||||
|
vo.setChildNum(levelVO.getNum());
|
||||||
|
vo.setChildMaterialUnit(levelVO.getMaterialUnit());
|
||||||
|
} else {
|
||||||
|
vo.setChildNum(pVO.getNum());
|
||||||
|
vo.setChildMaterialUnit(pVO.getMaterialUnit());
|
||||||
}
|
}
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -622,7 +622,11 @@
|
||||||
</foreach>;
|
</foreach>;
|
||||||
</select>
|
</select>
|
||||||
<select id="getReverseBoms" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO">
|
<select id="getReverseBoms" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO">
|
||||||
SELECT IFNULL(c.num, p.num) AS num, c.project_type projectType, c.project_type, p1.row_id parentRowId, p.*
|
SELECT IFNULL(IFNULL(c.num, p.num), 1) AS num,
|
||||||
|
c.project_type projectType,
|
||||||
|
c.project_type,
|
||||||
|
p1.row_id parentRowId,
|
||||||
|
p.*
|
||||||
FROM t_bom_new_ebom_child c
|
FROM t_bom_new_ebom_child c
|
||||||
RIGHT JOIN t_bom_new_ebom_parent p ON c.material_no = p.material_no
|
RIGHT JOIN t_bom_new_ebom_parent p ON c.material_no = p.material_no
|
||||||
LEFT JOIN t_bom_new_ebom_parent p1 ON c.parent_row_id = p1.row_id AND p1.status = 4
|
LEFT JOIN t_bom_new_ebom_parent p1 ON c.parent_row_id = p1.row_id AND p1.status = 4
|
||||||
|
|
|
||||||
|
|
@ -296,7 +296,11 @@
|
||||||
WHERE p.created_by = #{userCode}
|
WHERE p.created_by = #{userCode}
|
||||||
</select>
|
</select>
|
||||||
<select id="getReverseBoms" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO">
|
<select id="getReverseBoms" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO">
|
||||||
SELECT IFNULL(c.num, p.num) AS num, c.project_type projectType, c.project_type, p1.row_id parentRowId, p.*
|
SELECT IFNULL(IFNULL(c.num, p.num), 1) AS num,
|
||||||
|
c.project_type projectType,
|
||||||
|
c.project_type,
|
||||||
|
p1.row_id parentRowId,
|
||||||
|
p.*
|
||||||
FROM t_bom_new_pbom_child c
|
FROM t_bom_new_pbom_child c
|
||||||
RIGHT JOIN t_bom_new_pbom_parent p ON c.material_no = p.material_no AND c.fac_code = p.fac_code
|
RIGHT JOIN t_bom_new_pbom_parent p ON c.material_no = p.material_no AND c.fac_code = p.fac_code
|
||||||
LEFT JOIN t_bom_new_pbom_parent p1
|
LEFT JOIN t_bom_new_pbom_parent p1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue