| 
														
															@@ -89,85 +89,6 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			// 根据委外订单设置分配数量、余纱、采购损耗,来源余纱、其他入库的纱 
														 | 
														
														 | 
														
															 			// 根据委外订单设置分配数量、余纱、采购损耗,来源余纱、其他入库的纱 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			setPoOrderListByOmOrderList(ret); 
														 | 
														
														 | 
														
															 			setPoOrderListByOmOrderList(ret); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-/* 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 采购入库-来源余纱 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricPoOrder> lyysList = getPoOrderLyys(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrderList.addAll(lyysList); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 采购入库-其他入库的纱 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrderList.addAll(getPoOrderQtrk(code,lyysList)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			ret.setFabricPoOrderList(fabricPoOrderList); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 委外订单所有 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricOMOrder> fabricOMOrderListAll = fabricLossMapper.getOmOrderListAll(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (fabricOMOrderListAll.size() == 0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				ret.setSuccess(false); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				ret.setMessage("本计划没有面料委外,无面损表"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				return ret; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 委外订单分组 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderListAll = groupOmOrderList(fabricOMOrderListAll); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 织、染、印,其他排序 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricOMOrder> fabricOMOrderList1 = new ArrayList<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricOMOrder> fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("织")==0).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (fabricOMOrderListTmp.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricOMOrderList1.addAll(fabricOMOrderListTmp); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("染")==0).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (fabricOMOrderListTmp.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricOMOrderList1.addAll(fabricOMOrderListTmp); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("印")==0).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (fabricOMOrderListTmp.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricOMOrderList1.addAll(fabricOMOrderListTmp); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderListTmp = fabricOMOrderListAll.stream().filter(e->e.getCVCName().indexOf("织")!=0&&e.getCVCName().indexOf("染")!=0&&e.getCVCName().indexOf("印")!=0).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (fabricOMOrderListTmp.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricOMOrderList1.addAll(fabricOMOrderListTmp); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置详情及成本 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderList1 = setFabricOMOrderOutDetail(fabricOMOrderList1, code, editData); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderList1 = setFabricOMOrderInDetail(fabricOMOrderList1, code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置余料去向 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderList1 = setFabricOMOrderLeftDetail(fabricOMOrderList1, code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置附件 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricOMOrderList1.forEach(e->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				List<AccessorItem> accessorItemList1 = omAccList.stream().filter(a->a.getCInvId().equals(e.getCInvCode()+e.getCColor())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				e.setAccessorItemList(accessorItemList1); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			}); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 委外订单国内 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			for (FabricOMOrder fabricOMOrder : fabricOMOrderList1){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				double dLoss = 0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (fabricOMOrder.getIQuantityOut()!=0) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					dLoss = (1 - fabricOMOrder.getIQuantityIn() / fabricOMOrder.getIQuantityOut()) * 100; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if ("02".equals(fabricOMOrder.getCComUnitCode())){  // 根 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					fabricOMOrder.setIQuantityPCS(fabricOMOrder.getIQuantityIn()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				}else if ("04".equals(fabricOMOrder.getCComUnitCode())){    // 米 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					fabricOMOrder.setIQuantityM(fabricOMOrder.getIQuantityIn()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				BigDecimal bDLoss = new BigDecimal(dLoss); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricOMOrder.setCQuantityLoss(bDLoss.setScale(2, BigDecimal.ROUND_HALF_UP).toString()+"%"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				double dMoreLess = fabricOMOrder.getIQuantityIn()-fabricOMOrder.getIQuantity(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				BigDecimal bDMoreLess = new BigDecimal(dMoreLess); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricOMOrder.setIQuantityMoreLess(bDMoreLess.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 委外订单国外 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricOMOrder> fabricOMOrderList2 = fabricLossMapper.getOmOrderListGw(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricOMOrder> fabricOMOrderListGn = fabricOMOrderList1.stream().filter(all->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				return fabricOMOrderList2.stream().filter(gw-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						all.getCInvCode().equals(gw.getCInvCode()) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						all.getCColor().equals(gw.getCColor())).count() ==0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			}).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricOMOrder> fabricOMOrderListGw = fabricOMOrderList1.stream().filter(all->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				return fabricOMOrderList2.stream().filter(gw-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						all.getCInvCode().equals(gw.getCInvCode()) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								all.getCColor().equals(gw.getCColor())).count() >0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			}).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			ret.setFabricOMOrderList1(fabricOMOrderListGn); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			ret.setFabricOMOrderList2(fabricOMOrderListGw);*/ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			// 费用支出单 
														 | 
														
														 | 
														
															 			// 费用支出单 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<FabricExpenses> fabricExpensesList = fabricLossMapper.getExpensesList(code); 
														 | 
														
														 | 
														
															 			List<FabricExpenses> fabricExpensesList = fabricLossMapper.getExpensesList(code); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			ret.setFabricExpensesList(fabricExpensesList); 
														 | 
														
														 | 
														
															 			ret.setFabricExpensesList(fabricExpensesList); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1238,108 +1159,6 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			fabricPoOrder.setFabricPoOrderOutList(findPoOrderStockList); 
														 | 
														
														 | 
														
															 			fabricPoOrder.setFabricPoOrderOutList(findPoOrderStockList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		ret.setFabricPoOrderList(fabricPoOrderList); 
														 | 
														
														 | 
														
															 		ret.setFabricPoOrderList(fabricPoOrderList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-/* 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 获取委外材料出库单,已核销的取核销数量 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<Map<String,Object>> fabricOmOutList = fabricLossMapper.getOmOutList(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 获取本次采购入库的形态转换 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<Map<String,Object>> fabricAssemVouchList = fabricLossMapper.getAssemVouchList(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 采购入库被其他委外订单使用的信息 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<FabricPoOrderOut> fabricPoOrderOutList = fabricLossMapper.getPoOrderInToOther(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 采购入库仓库库存 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<FabricPoOrderOut> poOrderStockList = fabricLossMapper.getPurchaseStockList(code); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 采购订单设置分配数量、委外供应商、余纱、采购损耗 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		for (FabricPoOrder fabricPoOrder : fabricPoOrderList){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 获取采购形态转换物料 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<Map<String, Object>> tmpAssemVouchList = fabricAssemVouchList.stream().filter(e-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					oConvertUtils.getString(e.get("cInvCode")).equals(fabricPoOrder.getCInvCode()) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							oConvertUtils.getString(e.get("cColor")).equals(fabricPoOrder.getCColor())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			//&& 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			//								fabricPoOrder.getCBatch().indexOf(oConvertUtils.getString(e.get("cAVBatch")))>-1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 未形态转换物料 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<Map<String, Object>> tmpOmOutList1 = fabricOmOutList.stream().filter(e-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					oConvertUtils.getString(e.get("cInvCode")).equals(fabricPoOrder.getCInvCode()) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							oConvertUtils.getString(e.get("cColor")).equals(fabricPoOrder.getCColor())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			//								fabricPoOrder.getCBatch().indexOf(oConvertUtils.getString(e.get("cBatch")))>-1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 形态转换物料 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<Map<String, Object>> tmpOmOutList2 = fabricOmOutList.stream().filter(out->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				return tmpAssemVouchList.stream().filter(e -> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						oConvertUtils.getString(e.get("cInvCode2")).equals(oConvertUtils.getString(out.get("cInvCode"))) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								oConvertUtils.getString(e.get("cColor2")).equals(oConvertUtils.getString(out.get("cColor"))) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				).count() > 0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			}).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			//								oConvertUtils.getString(e.get("cAVBatch2")).equals(oConvertUtils.getString(out.get("cBatch"))) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			tmpOmOutList1.addAll(tmpOmOutList2); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<String> omcVenAbbNameList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			double outSum = 0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			for (Map<String, Object> out : tmpOmOutList1){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				outSum += oConvertUtils.getDouble(out.get("iQuantity").toString(),0); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				String omcVenAbbName = oConvertUtils.getString(out.get("cVenAbbName").toString()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (!omcVenAbbNameList.contains(omcVenAbbName)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					omcVenAbbNameList.add(omcVenAbbName); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (omcVenAbbNameList.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				fabricPoOrder.setOmcVenAbbName(String.join(",", omcVenAbbNameList)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			BigDecimal bOutSum = new BigDecimal(outSum); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			outSum = bOutSum.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrder.setIQuantityOut(outSum); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			double leftSum = fabricPoOrder.getIQuantityIn()-fabricPoOrder.getIQuantityOut(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			BigDecimal bLeftSum = new BigDecimal(leftSum); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			leftSum = bLeftSum.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrder.setIQuantityLeft(leftSum); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			double leftRate = 0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (fabricPoOrder.getIQuantityIn() != 0) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				leftRate = leftSum / fabricPoOrder.getIQuantityIn(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			BigDecimal bLeftRate = new BigDecimal(leftRate); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			leftRate = bLeftRate.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrder.setIQuantityLeftRate(leftRate); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置入库信息 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricPoOrderIn> tmpFabricPoOrderInList = fabricPoOrderInList.stream().filter(e-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					e.getCInvCode().equals(fabricPoOrder.getCInvCode()) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							oConvertUtils.getString(e.getCColor()).equals(oConvertUtils.getString(fabricPoOrder.getCColor()))).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrder.setFabricPoOrderInList(tmpFabricPoOrderInList); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置被其他委外订单使用信息 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricPoOrderOut> findFabricPoOrderOutList = fabricPoOrderOutList.stream().filter(e-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					oConvertUtils.getString(e.getCInvCode()).equals(oConvertUtils.getString(fabricPoOrder.getCInvCode())) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							oConvertUtils.getString(e.getCColor()).equals(oConvertUtils.getString(fabricPoOrder.getCColor()))).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置计划号,单价 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			for (FabricPoOrderOut item : findFabricPoOrderOutList){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				String cCode = item.getCCode(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				int index1 = cCode.indexOf("SY"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (index1 == -1) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					continue; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				int index2 = cCode.indexOf("-", index1); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (index2 == -1) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					index2 = cCode.length(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				item.setCPlanCode(cCode.substring(index1,index2)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (tmpFabricPoOrderInList.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					item.setIPrice(tmpFabricPoOrderInList.get(0).getIPrice()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					item.setIMoney(item.getIPrice()*item.getIQuantity()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置仓库库存 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			List<FabricPoOrderOut> findPoOrderStockList = poOrderStockList.stream().filter(e-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					fabricPoOrder.getCInvCode().equals(e.getCInvCode()) && 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							oConvertUtils.getString(fabricPoOrder.getCColor()).equals(e.getCColor())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			findFabricPoOrderOutList.addAll(findPoOrderStockList); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			fabricPoOrder.setFabricPoOrderOutList(findFabricPoOrderOutList); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		}*/ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	private final String[] CVCOrderKeyList = {"织","染","印"}; 
														 | 
														
														 | 
														
															 	private final String[] CVCOrderKeyList = {"织","染","印"}; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1373,9 +1192,6 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricOMOrder> omOrderListOrderAllList = fabricOMOrderListAll.stream().sorted(Comparator.comparing(FabricOMOrder::getOrder)).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 		List<FabricOMOrder> omOrderListOrderAllList = fabricOMOrderListAll.stream().sorted(Comparator.comparing(FabricOMOrder::getOrder)).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 设置详情及成本 
														 | 
														
														 | 
														
															 		// 设置详情及成本 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		/* 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		omOrderListOrderAllList = setFabricOMOrderOutDetail(omOrderListOrderAllList, code, editData); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		omOrderListOrderAllList = setFabricOMOrderInDetail(omOrderListOrderAllList, code);*/ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		setOmOrderDetail(code, omOrderListOrderAllList, ret.getFabricPoOrderList(), editData); 
														 | 
														
														 | 
														
															 		setOmOrderDetail(code, omOrderListOrderAllList, ret.getFabricPoOrderList(), editData); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 设置余料去向 
														 | 
														
														 | 
														
															 		// 设置余料去向 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		omOrderListOrderAllList = setFabricOMOrderLeftDetail(omOrderListOrderAllList, code); 
														 | 
														
														 | 
														
															 		omOrderListOrderAllList = setFabricOMOrderLeftDetail(omOrderListOrderAllList, code); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1453,9 +1269,13 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricOMOrder> omOrderList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 		List<FabricOMOrder> omOrderList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		omOrderList.addAll(ret.getFabricOMOrderList1()); 
														 | 
														
														 | 
														
															 		omOrderList.addAll(ret.getFabricOMOrderList1()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		omOrderList.addAll(ret.getFabricOMOrderList2()); 
														 | 
														
														 | 
														
															 		omOrderList.addAll(ret.getFabricOMOrderList2()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 采购订单所有 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<FabricPoOrder> poOrderList = ret.getFabricPoOrderList().stream().filter(e->!e.getCPOID().equals("来源余料") && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				!e.getCPOID().equals("其他入库")).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		/* 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 获取要计算成本的采购入库 
														 | 
														
														 | 
														
															 		// 获取要计算成本的采购入库 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList1 = fabricLossMapper.getPurchuseInPriceList(code); 
														 | 
														
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList1 = fabricLossMapper.getPurchuseInPriceList(code); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 根据类型、工厂、采购类型分组。根据委外出库,获取出库成本。 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 根据类型、工厂、采购类型分组。根据采购入库,计算成本 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		for (FabricCostInvoice fabricCostInvoice : fabricCostInvoiceList1){ 
														 | 
														
														 | 
														
															 		for (FabricCostInvoice fabricCostInvoice : fabricCostInvoiceList1){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			Optional<FabricCostInvoice> findItem = fabricCostInvoiceList.stream().filter(e-> 
														 | 
														
														 | 
														
															 			Optional<FabricCostInvoice> findItem = fabricCostInvoiceList.stream().filter(e-> 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1473,17 +1293,20 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			Double money = newItem.getIMoney(); 
														 | 
														
														 | 
														
															 			Double money = newItem.getIMoney(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			for (FabricOMOrder omOrder : omOrderList){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				List<FabricMoOrderCK> ckList = omOrder.getFabricMoOrderCKList(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (ckList != null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					List<FabricMoOrderCK> findList1 = ckList.stream().filter(e-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							e.getInvOutId().equalsIgnoreCase(fabricCostInvoice.getInvId())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					for (FabricMoOrderCK ckItem : findList1) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						money+=ckItem.getIMoney(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//			for (FabricOMOrder omOrder : omOrderList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//				List<FabricMoOrderCK> ckList = omOrder.getFabricMoOrderCKList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//				if (ckList != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//					List<FabricMoOrderCK> findList1 = ckList.stream().filter(e-> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//							e.getInvOutId().equalsIgnoreCase(fabricCostInvoice.getInvId())).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//					for (FabricMoOrderCK ckItem : findList1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//						money+=ckItem.getIMoney(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//					} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+// 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			BigDecimal bdValue = new BigDecimal(money); 
														 | 
														
														 | 
														
															 			BigDecimal bdValue = new BigDecimal(money); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			newItem.setIMoney(bdValue.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
														
														 | 
														
															 			newItem.setIMoney(bdValue.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1492,6 +1315,59 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		//获取委外订单发票金额 
														 | 
														
														 | 
														
															 		//获取委外订单发票金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList2 = fabricLossMapper.getOmInvoiceMoneyList(code); 
														 | 
														
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList2 = fabricLossMapper.getOmInvoiceMoneyList(code); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		fabricCostInvoiceList.addAll(fabricCostInvoiceList2); 
														 | 
														
														 | 
														
															 		fabricCostInvoiceList.addAll(fabricCostInvoiceList2); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		*/ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 根据采购入库和委外入库,计算成本发票 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<FabricCostInvoice> fabricCostInvoiceList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 计算采购入库 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		for (FabricPoOrder poOrder : poOrderList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Optional<FabricCostInvoice> findItem = fabricCostInvoiceList.stream().filter(e-> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					"普通采购".equalsIgnoreCase(e.getCBusType()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							poOrder.getCVCName().equalsIgnoreCase(e.getCVCName()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							poOrder.getCVenAbbName().equalsIgnoreCase(e.getCVenAbbName())).findFirst(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			FabricCostInvoice newItem = new FabricCostInvoice(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Double dMoney = 0.0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (oConvertUtils.listIsNotEmpty(poOrder.getFabricPoOrderInList())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				for (FabricPoOrderIn orderIn : poOrder.getFabricPoOrderInList()){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					dMoney = DoubleOperation.add(dMoney, DoubleOperation.mul(orderIn.getIPrice(),orderIn.getIQuantityInvoice(),2)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (findItem.isPresent()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem = findItem.get(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setIMoney(DoubleOperation.add(newItem.getIMoney(), dMoney)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			}else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCBusType("普通采购"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setIMoney(dMoney); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCVCName(poOrder.getCVCName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCVenName(poOrder.getCVenName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCVenAbbName(poOrder.getCVenAbbName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				fabricCostInvoiceList.add(newItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 计算委外入库的加工费 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		for (FabricOMOrder omOrder : omOrderList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Optional<FabricCostInvoice> findItem = fabricCostInvoiceList.stream().filter(e-> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					"委外加工".equalsIgnoreCase(e.getCBusType()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							omOrder.getCVCName().equalsIgnoreCase(e.getCVCName()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							omOrder.getCVenAbbName().equalsIgnoreCase(e.getCVenAbbName())).findFirst(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			FabricCostInvoice newItem = new FabricCostInvoice(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Double dMoney = 0.0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (oConvertUtils.listIsNotEmpty(omOrder.getFabricMoOrderRKList())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				for (FabricMoOrderRK orderIn : omOrder.getFabricMoOrderRKList()){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					dMoney = DoubleOperation.add(dMoney, orderIn.getIProcessFee()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (findItem.isPresent()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem = findItem.get(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setIMoney(DoubleOperation.add(newItem.getIMoney(), dMoney)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			}else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCBusType("委外加工"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setIMoney(dMoney); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCVCName(omOrder.getCVCName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCVenName(omOrder.getCVenName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				newItem.setCVenAbbName(omOrder.getCVenAbbName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				fabricCostInvoiceList.add(newItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		//获取委外订单运费发票金额 
														 | 
														
														 | 
														
															 		//获取委外订单运费发票金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList3 = fabricLossMapper.getOmInvoiceMoneyYfList(code); 
														 | 
														
														 | 
														
															 		List<FabricCostInvoice> fabricCostInvoiceList3 = fabricLossMapper.getOmInvoiceMoneyYfList(code); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		fabricCostInvoiceList.addAll(fabricCostInvoiceList3); 
														 | 
														
														 | 
														
															 		fabricCostInvoiceList.addAll(fabricCostInvoiceList3); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1512,7 +1388,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 转入成本 
														 | 
														
														 | 
														
															 		// 转入成本 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		fabricCostInvoiceList.addAll(getInCost(ret.getFabricPoOrderList(), omOrderList)); 
														 | 
														
														 | 
														
															 		fabricCostInvoiceList.addAll(getInCost(ret.getFabricPoOrderList(), omOrderList)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 转出成本 
														 | 
														
														 | 
														
															 		// 转出成本 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<FabricCostInvoice> outCostList = getOutCost(ret.getFabricPoOrderList(), ret.getFabricOMOrderList1(), ret.getFabricOMOrderList2()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<FabricCostInvoice> outCostList = getOutCost(ret.getCCode(), ret.getFabricPoOrderList(), ret.getFabricOMOrderList1(), ret.getFabricOMOrderList2()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 设置修改的工厂 
														 | 
														
														 | 
														
															 		// 设置修改的工厂 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (editData != null){ 
														 | 
														
														 | 
														
															 		if (editData != null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<FabricCostInvoice> editCostList = editData.getFabricCostInvoiceList(); 
														 | 
														
														 | 
														
															 			List<FabricCostInvoice> editCostList = editData.getFabricCostInvoiceList(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1561,6 +1437,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCInvCode(itemIn.getCInvCode()); 
														 | 
														
														 | 
														
															 						formatItem.setCInvCode(itemIn.getCInvCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCColor(itemIn.getCColor()); 
														 | 
														
														 | 
														
															 						formatItem.setCColor(itemIn.getCColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCBatch(itemIn.getCBatch()); 
														 | 
														
														 | 
														
															 						formatItem.setCBatch(itemIn.getCBatch()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						formatItem.setCInvName(itemIn.getCInvName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIQuantity(itemIn.getIQuantity()); 
														 | 
														
														 | 
														
															 						formatItem.setIQuantity(itemIn.getIQuantity()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
														
														 | 
														
															 						formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						allInList.add(formatItem); 
														 | 
														
														 | 
														
															 						allInList.add(formatItem); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1587,6 +1464,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCColor(item.getCColor()); 
														 | 
														
														 | 
														
															 						formatItem.setCColor(item.getCColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCBatch(itemIn.getCBatch()); 
														 | 
														
														 | 
														
															 						formatItem.setCBatch(itemIn.getCBatch()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIQuantity(itemIn.getIQuantityIn()); 
														 | 
														
														 | 
														
															 						formatItem.setIQuantity(itemIn.getIQuantityIn()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						formatItem.setCInvName(itemIn.getCInvName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
														
														 | 
														
															 						formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						allInList.add(formatItem); 
														 | 
														
														 | 
														
															 						allInList.add(formatItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					} 
														 | 
														
														 | 
														
															 					} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1607,6 +1485,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setCColorOut(omOut.getCColorOut()); 
														 | 
														
														 | 
														
															 					outCopy.setCColorOut(omOut.getCColorOut()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setIQuantity(omOut.getIQuantity()); 
														 | 
														
														 | 
														
															 					outCopy.setIQuantity(omOut.getIQuantity()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setIPrice(omOut.getIPrice()); 
														 | 
														
														 | 
														
															 					outCopy.setIPrice(omOut.getIPrice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					outCopy.setCInvNameOut(omOut.getCInvNameOut()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setCVCName(omOrder.getCVCName()); 
														 | 
														
														 | 
														
															 					outCopy.setCVCName(omOrder.getCVCName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setCVenAbbName(omOrder.getCVenAbbName()); 
														 | 
														
														 | 
														
															 					outCopy.setCVenAbbName(omOrder.getCVenAbbName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setCPlanCode(omOut.getCPlanCode()); 
														 | 
														
														 | 
														
															 					outCopy.setCPlanCode(omOut.getCPlanCode()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1640,7 +1519,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricCostInvoice> costInvoiceList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 		List<FabricCostInvoice> costInvoiceList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 计算总转入成本 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 计算总转入成本、设置详情 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<FabricCostInvoiceDetail> invoiceDetailList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		for (FabricMoOrderCK itemOut : omOutListAll){ 
														 | 
														
														 | 
														
															 		for (FabricMoOrderCK itemOut : omOutListAll){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if (itemOut.getIQuantity()>0){ 
														 | 
														
														 | 
														
															 			if (itemOut.getIQuantity()>0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				FabricCostInvoice fabricCostInvoice = new FabricCostInvoice(); 
														 | 
														
														 | 
														
															 				FabricCostInvoice fabricCostInvoice = new FabricCostInvoice(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1650,6 +1530,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				fabricCostInvoice.setIMoney(DoubleOperation.mul(itemOut.getIQuantity(),itemOut.getIPrice(), 2)); 
														 | 
														
														 | 
														
															 				fabricCostInvoice.setIMoney(DoubleOperation.mul(itemOut.getIQuantity(),itemOut.getIPrice(), 2)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				if (fabricCostInvoice.getIMoney()!=0) { 
														 | 
														
														 | 
														
															 				if (fabricCostInvoice.getIMoney()!=0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					costInvoiceList.add(fabricCostInvoice); 
														 | 
														
														 | 
														
															 					costInvoiceList.add(fabricCostInvoice); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					invoiceDetailList.add(FabricCostInvoiceDetail.get(fabricCostInvoice, itemOut)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1664,6 +1545,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				find.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
														
														 | 
														
															 				find.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			}else{ 
														 | 
														
														 | 
														
															 			}else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				costInvoiceListGroup.add(fabricCostInvoice); 
														 | 
														
														 | 
														
															 				costInvoiceListGroup.add(fabricCostInvoice); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				List<FabricCostInvoiceDetail> findList = invoiceDetailList.stream().filter(e->e.getCParentId().equalsIgnoreCase(fabricCostInvoice.getId())).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				fabricCostInvoice.setCostInvoiceDetailList(findList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return costInvoiceListGroup; 
														 | 
														
														 | 
														
															 		return costInvoiceListGroup; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1671,12 +1554,13 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	/** 
														 | 
														
														 | 
														
															 	/** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * 根据采购入库详情,委外订单详情,获取转出成本。(入库数量-出库数量) * 单价 
														 | 
														
														 | 
														
															 	 * 根据采购入库详情,委外订单详情,获取转出成本。(入库数量-出库数量) * 单价 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	 * @param code - 计划号 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @param poOrderList - 采购入库详情 
														 | 
														
														 | 
														
															 	 * @param poOrderList - 采购入库详情 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @param omOrderListGn - 委外订单国内 
														 | 
														
														 | 
														
															 	 * @param omOrderListGn - 委外订单国内 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @param omOrderListGw - 委外订单国外 
														 | 
														
														 | 
														
															 	 * @param omOrderListGw - 委外订单国外 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 * @return 
														 | 
														
														 | 
														
															 	 * @return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 */ 
														 | 
														
														 | 
														
															 	 */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	private List<FabricCostInvoice> getOutCost(List<FabricPoOrder> poOrderList, List<FabricOMOrder> omOrderListGn, List<FabricOMOrder> omOrderListGw){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	private List<FabricCostInvoice> getOutCost(String code, List<FabricPoOrder> poOrderList, List<FabricOMOrder> omOrderListGn, List<FabricOMOrder> omOrderListGw){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 采购出入库去掉末尾两行:来源余纱、其他入库纱 
														 | 
														
														 | 
														
															 		// 采购出入库去掉末尾两行:来源余纱、其他入库纱 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricPoOrder> poOrderListReal = poOrderList.stream().filter(e->!e.getCPOID().equals("来源余料") && 
														 | 
														
														 | 
														
															 		List<FabricPoOrder> poOrderListReal = poOrderList.stream().filter(e->!e.getCPOID().equals("来源余料") && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				!e.getCPOID().equals("其他入库")).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 				!e.getCPOID().equals("其他入库")).collect(Collectors.toList()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1691,7 +1575,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					if (findItemOpt.isPresent()){ 
														 | 
														
														 | 
														
															 					if (findItemOpt.isPresent()){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						FabricPoOrderIn formatItem = findItemOpt.get(); 
														 | 
														
														 | 
														
															 						FabricPoOrderIn formatItem = findItemOpt.get(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						Double dMoney = formatItem.getIPrice()*formatItem.getIQuantity()+itemIn.getIPrice()*itemIn.getIQuantity(); 
														 | 
														
														 | 
														
															 						Double dMoney = formatItem.getIPrice()*formatItem.getIQuantity()+itemIn.getIPrice()*itemIn.getIQuantity(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						Double dQuantity = formatItem.getIQuantity()+itemIn.getIQuantity(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						Double dQuantity = formatItem.getIQuantity()+itemIn.getIQuantityInvoice(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIPrice(dMoney/dQuantity); 
														 | 
														
														 | 
														
															 						formatItem.setIPrice(dMoney/dQuantity); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIQuantity(dQuantity); 
														 | 
														
														 | 
														
															 						formatItem.setIQuantity(dQuantity); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1700,9 +1584,10 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCInvCode(itemIn.getCInvCode()); 
														 | 
														
														 | 
														
															 						formatItem.setCInvCode(itemIn.getCInvCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCColor(itemIn.getCColor()); 
														 | 
														
														 | 
														
															 						formatItem.setCColor(itemIn.getCColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCBatch(itemIn.getCBatch()); 
														 | 
														
														 | 
														
															 						formatItem.setCBatch(itemIn.getCBatch()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						formatItem.setIQuantity(itemIn.getIQuantity()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						formatItem.setIQuantity(itemIn.getIQuantityInvoice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
														
														 | 
														
															 						formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						formatItem.setCInvName(itemIn.getCInvName()+" "+itemIn.getCColor()); 
														 | 
														
														 | 
														
															 						formatItem.setCInvName(itemIn.getCInvName()+" "+itemIn.getCColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						formatItem.setCPlanCode(itemIn.getCPlanCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						allInList.add(formatItem); 
														 | 
														
														 | 
														
															 						allInList.add(formatItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					} 
														 | 
														
														 | 
														
															 					} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1721,6 +1606,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
														
														 | 
														
															 					formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					formatItem.setCBusType("1");        // 国内 
														 | 
														
														 | 
														
															 					formatItem.setCBusType("1");        // 国内 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					formatItem.setCInvName(itemIn.getCInvName()+" "+itemIn.getCColor()); 
														 | 
														
														 | 
														
															 					formatItem.setCInvName(itemIn.getCInvName()+" "+itemIn.getCColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					formatItem.setCPlanCode(itemIn.getCPlanCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					allInList.add(formatItem); 
														 | 
														
														 | 
														
															 					allInList.add(formatItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1738,13 +1624,15 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
														
														 | 
														
															 					formatItem.setIPrice(itemIn.getIPrice()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					formatItem.setCBusType("2");        // 国外 
														 | 
														
														 | 
														
															 					formatItem.setCBusType("2");        // 国外 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					formatItem.setCInvName(itemIn.getCInvName()+" "+itemIn.getCColor()); 
														 | 
														
														 | 
														
															 					formatItem.setCInvName(itemIn.getCInvName()+" "+itemIn.getCColor()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					formatItem.setCPlanCode(itemIn.getCPlanCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					allInList.add(formatItem); 
														 | 
														
														 | 
														
															 					allInList.add(formatItem); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<String> invIdGnList = new ArrayList<>();// 国内入库物料编码 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		//List<String> invIdGnList = new ArrayList<>();// 国内入库物料编码 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<String> invIdGwList = new ArrayList<>();// 国外入库物料编码 
														 | 
														
														 | 
														
															 		List<String> invIdGwList = new ArrayList<>();// 国外入库物料编码 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		/* 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		for (FabricOMOrder omOrder : omOrderListGn){ 
														 | 
														
														 | 
														
															 		for (FabricOMOrder omOrder : omOrderListGn){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<FabricMoOrderRK> omRkList = omOrder.getFabricMoOrderRKList(); 
														 | 
														
														 | 
														
															 			List<FabricMoOrderRK> omRkList = omOrder.getFabricMoOrderRKList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if (oConvertUtils.listIsNotEmpty(omRkList)) { 
														 | 
														
														 | 
														
															 			if (oConvertUtils.listIsNotEmpty(omRkList)) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1752,7 +1640,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					invIdGnList.add(omOrder.getCInvCode() + omOrder.getCColor() + rkItem.getCBatch()); 
														 | 
														
														 | 
														
															 					invIdGnList.add(omOrder.getCInvCode() + omOrder.getCColor() + rkItem.getCBatch()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		}*/ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		for (FabricOMOrder omOrder : omOrderListGw){ 
														 | 
														
														 | 
														
															 		for (FabricOMOrder omOrder : omOrderListGw){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<FabricMoOrderRK> omRkList = omOrder.getFabricMoOrderRKList(); 
														 | 
														
														 | 
														
															 			List<FabricMoOrderRK> omRkList = omOrder.getFabricMoOrderRKList(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if (oConvertUtils.listIsNotEmpty(omRkList)) { 
														 | 
														
														 | 
														
															 			if (oConvertUtils.listIsNotEmpty(omRkList)) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1762,9 +1650,16 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricPoOrderOut> invOutGnList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 		List<FabricPoOrderOut> invOutGnList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if (invIdGnList.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			invOutGnList = fabricLossMapper.getOmInGnOutList(invIdGnList);   //国内出库数量 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<FabricMoOrderCK> moOrderCKList = fabricLossMapper.getOmOutList19(code); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		for (FabricMoOrderCK moOrderCK : moOrderCKList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			moOrderCK.setIPrice(0.0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			invOutGnList.add(FabricPoOrderOut.getByMoOut(moOrderCK)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		/* 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if (invIdGnList.size()>0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			invOutGnList = fabricLossMapper.getOmOutList19(code).stream().filter(e->invIdGnList.contains(e.getInvOutId())).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		}*/ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricPoOrderOut> invOutGwList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 		List<FabricPoOrderOut> invOutGwList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (invIdGwList.size()>0){ 
														 | 
														
														 | 
														
															 		if (invIdGwList.size()>0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			invOutGwList = fabricLossMapper.getOmInGwOutList(invIdGwList);   //国外出库数量 
														 | 
														
														 | 
														
															 			invOutGwList = fabricLossMapper.getOmInGwOutList(invIdGwList);   //国外出库数量 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1785,6 +1680,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setCInvCodeOut(omOut.getCInvCodeOut()); 
														 | 
														
														 | 
														
															 					outCopy.setCInvCodeOut(omOut.getCInvCodeOut()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setCColorOut(omOut.getCColorOut()); 
														 | 
														
														 | 
														
															 					outCopy.setCColorOut(omOut.getCColorOut()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					outCopy.setIQuantity(omOut.getIQuantity()); 
														 | 
														
														 | 
														
															 					outCopy.setIQuantity(omOut.getIQuantity()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					outCopy.setCSourceInvId(omOut.getCSourceInvId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					omOutListAll.add(outCopy); 
														 | 
														
														 | 
														
															 					omOutListAll.add(outCopy); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1795,7 +1691,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			double inLeft = itemIn.getIQuantity(); 
														 | 
														
														 | 
														
															 			double inLeft = itemIn.getIQuantity(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			for (FabricMoOrderCK outItem : omOutListAll){ 
														 | 
														
														 | 
														
															 			for (FabricMoOrderCK outItem : omOutListAll){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (outItem.getInvOutId().equalsIgnoreCase(itemIn.getInvId())){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if (outItem.getInvOutId().equalsIgnoreCase(itemIn.getInvId()) || 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				outItem.getCSourceInvId().equalsIgnoreCase(itemIn.getInvId())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					double outLeft = outItem.getIQuantity(); 
														 | 
														
														 | 
														
															 					double outLeft = outItem.getIQuantity(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					bOmFind = true; 
														 | 
														
														 | 
														
															 					bOmFind = true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					inLeft -= outLeft; 
														 | 
														
														 | 
														
															 					inLeft -= outLeft; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1845,7 +1742,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricCostInvoice> costInvoiceList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 		List<FabricCostInvoice> costInvoiceList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		// 计算总转入成本 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<FabricCostInvoiceDetail> costInvoiceDetailList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		// 计算总转入成本,设置详情 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		for (FabricPoOrderIn itemIn : allInList){ 
														 | 
														
														 | 
														
															 		for (FabricPoOrderIn itemIn : allInList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if (itemIn.getIQuantity()>0){ 
														 | 
														
														 | 
														
															 			if (itemIn.getIQuantity()>0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				FabricCostInvoice fabricCostInvoice = new FabricCostInvoice(); 
														 | 
														
														 | 
														
															 				FabricCostInvoice fabricCostInvoice = new FabricCostInvoice(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1856,6 +1754,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				fabricCostInvoice.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
														
														 | 
														
															 				fabricCostInvoice.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				if (fabricCostInvoice.getIMoney()!=0) { 
														 | 
														
														 | 
														
															 				if (fabricCostInvoice.getIMoney()!=0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					costInvoiceList.add(fabricCostInvoice); 
														 | 
														
														 | 
														
															 					costInvoiceList.add(fabricCostInvoice); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					costInvoiceDetailList.add(FabricCostInvoiceDetail.get(fabricCostInvoice, itemIn)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1871,6 +1770,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				find.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
														
														 | 
														
															 				find.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			}else{ 
														 | 
														
														 | 
														
															 			}else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				costInvoiceListGroup.add(fabricCostInvoice); 
														 | 
														
														 | 
														
															 				costInvoiceListGroup.add(fabricCostInvoice); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				List<FabricCostInvoiceDetail> findList = costInvoiceDetailList.stream().filter(e->e.getCParentId().equalsIgnoreCase(fabricCostInvoice.getId())).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				fabricCostInvoice.setCostInvoiceDetailList(findList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1908,6 +1809,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 获取材料出库 
														 | 
														
														 | 
														
															 		// 获取材料出库 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 获取委外订单行id,出库物料信息,出库数量 
														 | 
														
														 | 
														
															 		// 获取委外订单行id,出库物料信息,出库数量 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricMoOrderCK> rowOutList = fabricLossMapper.getOmRowOutList(code); 
														 | 
														
														 | 
														
															 		List<FabricMoOrderCK> rowOutList = fabricLossMapper.getOmRowOutList(code); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		rowOutList = rowOutList.stream().filter(e->e.getIQuantityOut()>0).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		rowOutList.forEach(e->e.setBCurPlan(false)); 
														 | 
														
														 | 
														
															 		rowOutList.forEach(e->e.setBCurPlan(false)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 委外入库 
														 | 
														
														 | 
														
															 		// 委外入库 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<FabricMoOrderRK> rowInList = fabricLossMapper.getOmInDetailList(code); 
														 | 
														
														 | 
														
															 		List<FabricMoOrderRK> rowInList = fabricLossMapper.getOmInDetailList(code); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1930,7 +1832,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			otherInList.forEach(e -> e.setITempUseSum(0.0)); 
														 | 
														
														 | 
														
															 			otherInList.forEach(e -> e.setITempUseSum(0.0)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			// 设置其他委外订单入库的材料成本,只计算一层 
														 | 
														
														 | 
														
															 			// 设置其他委外订单入库的材料成本,只计算一层 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			setOtherOmInPriceList(code, otherInList); 
														 | 
														
														 | 
														
															 			setOtherOmInPriceList(code, otherInList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置形态转换入库成本 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			// 设置形态转换入库成本,及源头物料 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			setAssemVouchInPriceList(otherInList); 
														 | 
														
														 | 
														
															 			setAssemVouchInPriceList(otherInList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		// 设置非本次委外加工出入库成本 
														 | 
														
														 | 
														
															 		// 设置非本次委外加工出入库成本 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2047,7 +1949,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<String> invIdList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 			List<String> invIdList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			outList.forEach(e->invIdList.add(e.getInvOutId())); 
														 | 
														
														 | 
														
															 			outList.forEach(e->invIdList.add(e.getInvOutId())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<FabricCommonIn> inList = fabricLossMapper.getInListByInvId(invIdList); 
														 | 
														
														 | 
														
															 			List<FabricCommonIn> inList = fabricLossMapper.getInListByInvId(invIdList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			// 设置形态转换的源头单价 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			// 设置形态转换的源头单价,及源头物料 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			setAssemVouchInPriceList(inList); 
														 | 
														
														 | 
														
															 			setAssemVouchInPriceList(inList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			// 每行设置金额 
														 | 
														
														 | 
														
															 			// 每行设置金额 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2144,15 +2046,27 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	 */ 
														 | 
														
														 | 
														
															 	 */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	private void setAssemVouchsInPrice(List<FabricCommonIn> commonInList, List<FabricAssemVouchsOrgIn> assemVouchsOrgInList, 
														 | 
														
														 | 
														
															 	private void setAssemVouchsInPrice(List<FabricCommonIn> commonInList, List<FabricAssemVouchsOrgIn> assemVouchsOrgInList, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	                                    List<FabricInPrice> priceList){ 
														 | 
														
														 | 
														
															 	                                    List<FabricInPrice> priceList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		priceList.forEach(e->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			commonInList.forEach(i->{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if (assemVouchsOrgInList.stream().filter(v-> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						v.getAutoId().equals(e.getAutoId())&& 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								i.getInvId().equalsIgnoreCase(v.getCInvIdFinal())).count()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					i.setIPrice(DoubleOperation.getScale(e.getIPrice(),4)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			}); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		}); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		for (FabricInPrice inPrice : priceList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			for (FabricCommonIn commonIn : commonInList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				Optional<FabricAssemVouchsOrgIn> findOpt = assemVouchsOrgInList.stream().filter(e-> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								e.getAutoId().equals(inPrice.getAutoId()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+										commonIn.getInvId().equalsIgnoreCase(e.getCInvIdFinal())).findFirst(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if (findOpt.isPresent()){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					commonIn.setIPrice(DoubleOperation.getScale(inPrice.getIPrice(),4)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					commonIn.setCSourceInvId(findOpt.get().getCInvIdAfter()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//		priceList.forEach(e->{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//			commonInList.forEach(i->{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//				if (assemVouchsOrgInList.stream().filter(v-> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//						v.getAutoId().equals(e.getAutoId())&& 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//								i.getInvId().equalsIgnoreCase(v.getCInvIdFinal())).count()>0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//					i.setIPrice(DoubleOperation.getScale(e.getIPrice(),4)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//					i.setCSourceInvId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//			}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//		}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	/** 
														 | 
														
														 | 
														
															 	/** 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2211,7 +2125,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				for (FabricPoOrderIn orderIn : poOrder.getFabricPoOrderInList()) { 
														 | 
														
														 | 
														
															 				for (FabricPoOrderIn orderIn : poOrder.getFabricPoOrderInList()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					Double dInLeft = orderIn.getIQuantity();    // 入库剩余数量 
														 | 
														
														 | 
														
															 					Double dInLeft = orderIn.getIQuantity();    // 入库剩余数量 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					for (FabricMoOrderCK ck : moOrderCKList){ 
														 | 
														
														 | 
														
															 					for (FabricMoOrderCK ck : moOrderCKList){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						if (!ck.getInvOutId().equalsIgnoreCase(orderIn.getInvId())){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						if (!ck.getInvOutId().equalsIgnoreCase(orderIn.getInvId()) && 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						!ck.getCSourceInvId().equalsIgnoreCase(orderIn.getInvId())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							continue; 
														 | 
														
														 | 
														
															 							continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						Double dCurOutSum = ck.getIQuantityOut();   // 出库单出库数量 
														 | 
														
														 | 
														
															 						Double dCurOutSum = ck.getIQuantityOut();   // 出库单出库数量 
														 |