|
@@ -194,6 +194,70 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
|
|
|
syCostAllocation.setProcessUnit(syCostAllocation.getProcessUnit()+","+objs.getProcessUnit());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ String sqlFabric = "SELECT cInvName as goodsName,sum(riQuantity) as usageQuantity,sum(biQuantity) as planQuantity,processUnit FROM (" +
|
|
|
+ "select c.cInvName ,sum(r.iQuantity) as riQuantity,r.cBatch ,b.cSource,b.cPOID,sum(b.iQuantity) as biQuantity,v.cVenName as processUnit" +
|
|
|
+ " FROM rdrecords11 r" +
|
|
|
+ " JOIN (" +
|
|
|
+ " SELECT od.MODetailsID,od.cInvCode,om.cVenCode " +
|
|
|
+ " FROM OM_MOMain om LEFT JOIN OM_MODetails od ON om.MOID = od.MOID " +
|
|
|
+ " WHERE om.cState = 1 and om.cCode like '"+plannum+"%'" +
|
|
|
+ " ) o ON r.iOMoDID = o.MODetailsID " +
|
|
|
+ " LEFT JOIN (SELECT * FROM Inventory where (cInvCCode like '03%' or cInvCCode like '04%' ) and cInvCCode != '0399' and cInvCCode != '0499') c on c.cInvCode=r.cInvCode" +
|
|
|
+ " LEFT JOIN Vendor v ON o.cVenCode= v.cVenCode "+
|
|
|
+ " LEFT JOIN (" +
|
|
|
+ " SELECT r1.cSource,rs1.cBatch,rs1.cInvCode ,rs1.cPOID,rs1.iQuantity" +
|
|
|
+ " FROM rdrecords01 rs1 join rdrecord01 r1 on r1.id=rs1.id" +
|
|
|
+ " ) b on r.cBatch = b.cBatch and b.cInvCode=r.cInvCode " +
|
|
|
+ " GROUP BY c.cInvName,r.cBatch,b.cSource,b.cPOID,v.cVenName ) as ta GROUP BY cInvName,processUnit";
|
|
|
+ List<Map<String, Object>> list1 = senYuDataSourceOne.queryForList(sqlFabric);
|
|
|
+ List<JSONObject> jianSon1 = JsonChangeUtils.toJSONObject(list1);
|
|
|
+ List<SyCostAllocationFabric> list3 = new ArrayList<>();
|
|
|
+ for (int i=0;i<jianSon1.size();i++) {
|
|
|
+ SyCostAllocationFabric Fabric = JSONObject.toJavaObject(jianSon1.get(i), SyCostAllocationFabric.class);
|
|
|
+ list3.add(Fabric);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ String sqlIngredient = "SELECT cInvName as goodsName,sum(riQuantity) as usageQuantity,sum(biQuantity) as planQuantity,processUnit FROM (" +
|
|
|
+ "select c.cInvName ,sum(r.iQuantity) as riQuantity,r.cBatch ,b.cSource,b.cPOID,sum(b.iQuantity) as biQuantity,v.cVenName as processUnit" +
|
|
|
+ " FROM rdrecords11 r" +
|
|
|
+ " JOIN (" +
|
|
|
+ " SELECT od.MODetailsID,od.cInvCode,om.cVenCode " +
|
|
|
+ " FROM OM_MOMain om LEFT JOIN OM_MODetails od ON om.MOID = od.MOID " +
|
|
|
+ " WHERE om.cState = 1 and om.cCode like '"+plannum+"%'" +
|
|
|
+ " ) o ON r.iOMoDID = o.MODetailsID " +
|
|
|
+ " LEFT JOIN (SELECT * FROM Inventory where (cInvCCode like '05%' or cInvCCode like '06%' or cInvCCode like '07%' ) ) c on c.cInvCode=r.cInvCode" +
|
|
|
+ " LEFT JOIN Vendor v ON o.cVenCode= v.cVenCode "+
|
|
|
+ " LEFT JOIN (" +
|
|
|
+ " SELECT r1.cSource,rs1.cBatch,rs1.cInvCode ,rs1.cPOID,rs1.iQuantity" +
|
|
|
+ " FROM rdrecords01 rs1 join rdrecord01 r1 on r1.id=rs1.id" +
|
|
|
+ " ) b on r.cBatch = b.cBatch and b.cInvCode=r.cInvCode " +
|
|
|
+ " GROUP BY c.cInvName,r.cBatch,b.cSource,b.cPOID,v.cVenName ) as ta GROUP BY cInvName,processUnit";
|
|
|
+ List<Map<String, Object>> list2 = senYuDataSourceOne.queryForList(sqlIngredient);
|
|
|
+ List<JSONObject> jianSon2 = JsonChangeUtils.toJSONObject(list2);
|
|
|
+ List<SyCostAllocationIngredient> list4 = new ArrayList<>();
|
|
|
+ for (int i=0;i<jianSon2.size();i++) {
|
|
|
+ SyCostAllocationIngredient Ingredient = JSONObject.toJavaObject(jianSon2.get(i), SyCostAllocationIngredient.class);
|
|
|
+ list4.add(Ingredient);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<JSONObject> processUnitList=new ArrayList<>();
|
|
|
+
|
|
|
+ String[] processUnit=syCostAllocation.getProcessUnit().split(",");
|
|
|
+ for(int i=0;i<processUnit.length;i++){
|
|
|
+ String unit=processUnit[i];
|
|
|
+ JSONObject jSONObject=new JSONObject();
|
|
|
+ List<SyCostAllocationFabric> list3b = list3.stream().filter(t -> t.getProcessUnit().equals(unit)).collect(Collectors.toList());
|
|
|
+ List<SyCostAllocationIngredient> list4b = list4.stream().filter(t -> t.getProcessUnit().equals(unit)).collect(Collectors.toList());
|
|
|
+ jSONObject.put("syCostAllocationFabricList", list3b);
|
|
|
+ jSONObject.put("syCostAllocationIngredientList",list4b);
|
|
|
+ processUnitList.add(jSONObject);
|
|
|
+ }
|
|
|
+ syCostAllocation.setProcessUnitList(processUnitList);
|
|
|
+
|
|
|
syCostAllocation.setPlanNum("");
|
|
|
return syCostAllocation;
|
|
|
}
|