This commit is contained in:
		
							parent
							
								
									cd74df2de8
								
							
						
					
					
						commit
						e4278e30cb
					
				|  | @ -84,41 +84,106 @@ public class QcconclusionRestResource extends QcBaseRestResource { | |||
|             } | ||||
|         } | ||||
|         for (ReportVO vo : vos) { | ||||
|             // 先判断vo和其HVO是否为null(避免NPE) | ||||
|             if (vo == null || vo.getHVO() == null) { | ||||
|                 continue; | ||||
|             } | ||||
|             Object pkReportbill = vo.getHVO().getPk_reportbill(); | ||||
|             // 校验HVO的pk_reportbill是否为必填(不为null) | ||||
|             if (pkReportbill == null) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             for (Map<String, Object> itemMap : itemMaps) { | ||||
|                 if(itemMap.get("id").equals(vo.getHVO().getPk_reportbill())){ | ||||
| //nchecknum	检验主数量 | ||||
| //ncheckastnum	检验数量 | ||||
| //neliginum	合格主数量 | ||||
| //neligiastnum	合格数量 | ||||
| //nuneliginum	不合格主数量 | ||||
| //nuneligiastnum	不合格数量 | ||||
|                     vo.getHVO().setStatus(VOStatus.UPDATED); | ||||
|                     // 检验主数量 | ||||
|                     vo.getHVO().setNchecknum(new UFDouble((Double)itemMap.get("nchecknum"))); | ||||
|                     // 检验数量 | ||||
|                 // 校验itemMap的id是否为必填(存在且不为null) | ||||
|                 if (itemMap == null || !itemMap.containsKey("id") || itemMap.get("id") == null) { | ||||
|                     continue; | ||||
|                 } | ||||
|                 // 比较id是否匹配(双方都已校验非null) | ||||
|                 if (!itemMap.get("id").equals(pkReportbill)) { | ||||
|                     continue; | ||||
|                 } | ||||
| 
 | ||||
|                 // 匹配成功,更新状态 | ||||
|                 vo.getHVO().setStatus(VOStatus.UPDATED); | ||||
| 
 | ||||
|                 // 处理数量字段(存在且不为null才赋值) | ||||
|                 // 检验主数量 | ||||
|                 if (itemMap.containsKey("nchecknum") && itemMap.get("nchecknum") instanceof Double) { | ||||
|                     vo.getHVO().setNchecknum(new UFDouble((Double) itemMap.get("nchecknum"))); | ||||
|                 } | ||||
|                 // 检验数量 | ||||
|                 if (itemMap.containsKey("ncheckastnum") && itemMap.get("ncheckastnum") instanceof Double) { | ||||
|                     vo.getHVO().setNcheckastnum(new UFDouble((Double) itemMap.get("ncheckastnum"))); | ||||
|                     // 合格主数量 | ||||
|                 } | ||||
|                 // 合格主数量 | ||||
|                 if (itemMap.containsKey("neliginum") && itemMap.get("neliginum") instanceof Double) { | ||||
|                     vo.getHVO().setNeliginum(new UFDouble((Double) itemMap.get("neliginum"))); | ||||
|                     // 合格数量 | ||||
|                     vo.getHVO().setNeligiastnum(new UFDouble((Double)itemMap.get("neligiastnum"))); | ||||
|                     // 不合格主数量 | ||||
|                 } | ||||
|                 // 合格数量 | ||||
|                 if (itemMap.containsKey("neligiastnum") && itemMap.get("neligiastnum") instanceof Double) { | ||||
|                     vo.getHVO().setNeligiastnum(new UFDouble((Double) itemMap.get("neligiastnum"))); | ||||
|                 } | ||||
|                 // 不合格主数量 | ||||
|                 if (itemMap.containsKey("nuneliginum") && itemMap.get("nuneliginum") instanceof Double) { | ||||
|                     vo.getHVO().setNuneliginum(new UFDouble((Double) itemMap.get("nuneliginum"))); | ||||
|                     // 不合格数量 | ||||
|                     vo.getHVO().setNuneligiastnum(new UFDouble((Double)itemMap.get("nuneligiastnum"))); | ||||
|                     this.appendPseudoColumn(vo); | ||||
|                     List<Map<String, Object>> mapList = (List<Map<String, Object>>) itemMap.get("children"); | ||||
|                     if(!mapList.isEmpty()){ | ||||
|                         for (int i = 0; i < vo.getBVO().length; i++) { | ||||
|                             for (Map<String, Object> childMap : mapList) { | ||||
|                                 if(vo.getBVO()[i].getCrowno().equals(childMap.get("crowno"))){ | ||||
|                                     vo.getBVO()[i].setNnum(new UFDouble((Double)childMap.get("nnum"))); | ||||
|                                     vo.getBVO()[i].setFprocessjudge(((Double)childMap.get("fprocessjudge")).intValue()); | ||||
|                                     vo.getBVO()[i].setStatus(VOStatus.UPDATED); | ||||
|                                 } | ||||
|                             } | ||||
|                 } | ||||
|                 // 不合格数量 | ||||
|                 if (itemMap.containsKey("nuneligiastnum") && itemMap.get("nuneligiastnum") instanceof Double) { | ||||
|                     vo.getHVO().setNuneligiastnum(new UFDouble((Double) itemMap.get("nuneligiastnum"))); | ||||
|                 } | ||||
| 
 | ||||
|                 this.appendPseudoColumn(vo); | ||||
| 
 | ||||
|                 // 处理子列表(先判断是否为有效列表) | ||||
|                 Object childrenObj = itemMap.get("children"); | ||||
|                 if (!(childrenObj instanceof List)) { | ||||
|                     continue; | ||||
|                 } | ||||
|                 List<Map<String, Object>> mapList = (List<Map<String, Object>>) childrenObj; | ||||
|                 if (mapList.isEmpty()) { | ||||
|                     continue; | ||||
|                 } | ||||
| 
 | ||||
|                 // 处理BVO数组(先判断数组是否为null) | ||||
|                 ReportItemVO[] bvos = vo.getBVO(); | ||||
|                 if (bvos == null) { | ||||
|                     continue; | ||||
|                 } | ||||
| 
 | ||||
|                 for (int i = 0; i < bvos.length; i++) { | ||||
|                     ReportItemVO bvo = bvos[i]; | ||||
|                     // 跳过null的BVO | ||||
|                     if (bvo == null) { | ||||
|                         continue; | ||||
|                     } | ||||
|                     // 校验BVO的crowno是否为必填(不为null) | ||||
|                     String bvoCrowno = bvo.getCrowno(); | ||||
|                     if (bvoCrowno == null) { | ||||
|                         continue; | ||||
|                     } | ||||
| 
 | ||||
|                     for (Map<String, Object> childMap : mapList) { | ||||
|                         // 校验childMap的crowno是否为必填(存在且不为null) | ||||
|                         if (childMap == null || !childMap.containsKey("crowno") || childMap.get("crowno") == null) { | ||||
|                             continue; | ||||
|                         } | ||||
|                         // 比较crowno是否匹配 | ||||
|                         if (!bvoCrowno.equals(childMap.get("crowno"))) { | ||||
|                             continue; | ||||
|                         } | ||||
| 
 | ||||
|                         // 匹配成功,更新子项字段(存在且不为null才赋值) | ||||
|                         bvo.setStatus(VOStatus.UPDATED); | ||||
|                         // 子项数量 | ||||
|                         if (childMap.containsKey("nnum") && childMap.get("nnum") instanceof Double) { | ||||
|                             bvo.setNnum(new UFDouble((Double) childMap.get("nnum"))); | ||||
|                         } | ||||
|                         // 处理判断状态 | ||||
|                         if (childMap.containsKey("fprocessjudge") && childMap.get("fprocessjudge") instanceof Double) { | ||||
|                             bvo.setFprocessjudge(((Double) childMap.get("fprocessjudge")).intValue()); | ||||
|                         } | ||||
|                     } | ||||
|                     | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue