|
@@ -295,7 +295,8 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
fabricPoOrderLyys.setIQuantityIn(bdVal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
}
|
|
|
*/
|
|
|
- fabricPoOrderList.addAll(getPoOrderLyys(code));
|
|
|
+ List<FabricPoOrder> lyysList = getPoOrderLyys(code);
|
|
|
+ fabricPoOrderList.addAll(lyysList);
|
|
|
|
|
|
|
|
|
fabricPoOrderTempList = fabricLossMapper.getPurchaseListOtherInList(code);
|
|
@@ -311,7 +312,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
BigDecimal bdVal = new BigDecimal(fabricPoOrderQtrk.getIQuantityIn());
|
|
|
fabricPoOrderQtrk.setIQuantityIn(bdVal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
}*/
|
|
|
- fabricPoOrderList.addAll(getPoOrderQtrk(code));
|
|
|
+ fabricPoOrderList.addAll(getPoOrderQtrk(code,lyysList));
|
|
|
ret.setFabricPoOrderList(fabricPoOrderList);
|
|
|
|
|
|
List<FabricOMOrder> fabricOMOrderListAll = fabricLossMapper.getOmOrderListAll(code);
|
|
@@ -573,6 +574,39 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
List<Map<String,Object>> rowInListWithAV = fabricLossMapper.getOmRowInListWithAV(code);
|
|
|
List<Map<String,Object>> rowInListWithAV2 = fabricLossMapper.getOmRowInListWithAV2(code);
|
|
|
rowInListWithAV.addAll(rowInListWithAV2);
|
|
|
+
|
|
|
+ do{
|
|
|
+ List<Map<String,Object>> findList = rowInListWithAV.stream().filter(e->"转换入库".equals(e.get("cBusType").toString())).collect(Collectors.toList());
|
|
|
+ if (findList.size()==0){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ List<String> cInvIdList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (Map<String,Object> item : findList){
|
|
|
+ cInvIdList.add(item.get("cInvCode").toString()+item.get("cColor").toString()+item.get("cBatch").toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Map<String,Object>> orgInList = fabricLossMapper.getOrgInList(cInvIdList);
|
|
|
+
|
|
|
+ int replaceSum = 0;
|
|
|
+ for (Map<String,Object> item : findList){
|
|
|
+ Optional<Map<String,Object>> findOrgInOpt = orgInList.stream().filter(e->e.get("cInvIdAfter").toString().equals(item.get("cInvCode").toString()+item.get("cColor").toString()+item.get("cBatch").toString())).findFirst();
|
|
|
+ if (findOrgInOpt.isPresent()){
|
|
|
+ replaceSum++;
|
|
|
+ Map<String,Object> findOrgIn = findOrgInOpt.get();
|
|
|
+ item.put("cBusType", findOrgIn.get("cBusType").toString());
|
|
|
+ Double d = DoubleOperation.div(oConvertUtils.getDouble(findOrgIn.get("iPurchuseMoney").toString(), 0),oConvertUtils.getDouble(findOrgIn.get("iQuantity").toString(),0),4);
|
|
|
+ d = DoubleOperation.mul(oConvertUtils.getDouble(item.get("iQuantity").toString(), 0),d);
|
|
|
+ item.put("iPurchuseMoney", d);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (replaceSum<findList.size()){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }while(true);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
List<FabricMoOrderCK> fabricMoOrderCKList = getFabricMoOrderCKList(rowInfoList, rowOutList, rowInList, rowInListWithAV);
|
|
|
|
|
@@ -634,11 +668,20 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
|
|
|
* 获取采购订单-其他入库的纱
|
|
|
* @param code
|
|
|
+ * @param lyysList - 来源余纱,去掉这部分物料
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<FabricPoOrder> getPoOrderQtrk(String code){
|
|
|
+ private List<FabricPoOrder> getPoOrderQtrk(String code,List<FabricPoOrder> lyysList){
|
|
|
+
|
|
|
+ List<FabricPoOrderOut> lyysOutList = new ArrayList<>();
|
|
|
+ for (FabricPoOrder lyys : lyysList){
|
|
|
+ lyysOutList.addAll(lyys.getFabricPoOrderOutList());
|
|
|
+ }
|
|
|
|
|
|
List<FabricPoOrderOut> fabricPoOrderTempList = fabricLossMapper.getPurchaseListOtherInList(code);
|
|
|
+ fabricPoOrderTempList = fabricPoOrderTempList.stream().filter(e->{
|
|
|
+ return lyysOutList.stream().filter(l->(l.getCInvCode()+l.getCColor()+l.getCBatch()).equals(e.getCInvCode()+e.getCColor()+e.getCBatch())).count()==0;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
List<FabricPoOrderOut> fabricPoOrderOutListGroup = new ArrayList<>();
|
|
|
|
|
|
|
|
@@ -999,7 +1042,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
retItem.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
bdVal = new BigDecimal(iPurchuseMoney/inSum);
|
|
|
retItem.setIPrice(bdVal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
-
|
|
|
+ retItem.setICalPrice(retItem.getIPrice());
|
|
|
if (outSum<=0){
|
|
|
break;
|
|
|
}
|
|
@@ -1039,7 +1082,7 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
retItem.setIMoney(bdVal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
bdVal = new BigDecimal(iPurchuseMoney/inSum);
|
|
|
retItem.setIPrice(bdVal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
-
|
|
|
+ retItem.setICalPrice(retItem.getIPrice());
|
|
|
if (outSum<=0){
|
|
|
break;
|
|
|
}
|
|
@@ -1469,4 +1512,5 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
|
|
|
return costInvoiceListGroup;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
}
|