|
@@ -225,84 +225,10 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
|
|
|
List<SyCostAllocationIngredient> list4 = syCostAllocationIngredientMapper.queryByCostIngredient(plannum);
|
|
|
for (int i=0;i<list4.size();i++) {
|
|
|
SyCostAllocationIngredient Ingredient = list4.get(i);
|
|
|
- /*余下*/
|
|
|
- String sqlRemaining =" select b.cInvName as goodsName,b.cPOID as planCode,b.cfree1 as color,max(b.yi ) as number " +
|
|
|
- " FROM ( " +
|
|
|
- " select cBatch,cInvCode,iOMoDID from rdrecords11 where cBatch is not null " +
|
|
|
- " group by cBatch,cInvCode,iOMoDID " +
|
|
|
- " ) r " +
|
|
|
- " JOIN ( " +
|
|
|
- " SELECT v.cVenName as cVenName,c.cInvName,rs1.cPOID,rs1.cfree1,rs1.cInvCode,rs1.cBatch, " +
|
|
|
- " sum(isnull(od.iSendQTY,0)+isnull(p.iQuantity,0)) as yi " +
|
|
|
- " FROM rdrecords01 rs1 " +
|
|
|
- " left join rdrecord01 r1 on r1.id=rs1.id " +
|
|
|
- " left join PO_Podetails p on p.ID=rs1.iPOsID " +
|
|
|
- " left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID " +
|
|
|
- " left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID " +
|
|
|
- " LEFT JOIN Inventory c on c.cInvCode=rs1.cInvCode " +
|
|
|
- " LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode " +
|
|
|
- " where rs1.cPOID like '"+plannum+"%'"+// and v.cVenName='"+Ingredient.getProcessUnit()+
|
|
|
- " and c.cInvName='"+Ingredient.getGoodsName()+"' " +
|
|
|
- " group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1,rs1.cInvCode,rs1.cBatch " +
|
|
|
- " ) b on r.cBatch = b.cBatch and b.cInvCode=r.cInvCode " +
|
|
|
- " JOIN ( " +
|
|
|
- " SELECT od.MODetailsID " +
|
|
|
- " FROM OM_MOMain om LEFT JOIN OM_MODetails od ON om.MOID = od.MOID " +
|
|
|
- " WHERE om.iVerifyStateNew = 2 and om.cCode not like '"+plannum+"%' " +
|
|
|
- " group by MODetailsID " +
|
|
|
- " ) o ON r.iOMoDID = o.MODetailsID " +
|
|
|
- " group by b.cVenName,b.cInvName,b.cPOID,b.cfree1";
|
|
|
- /*转入*/
|
|
|
- String sqlTransfer = " select b.cInvName as goodsName,b.cPOID as planCode,b.cfree1 as color,max(b.yi ) as number " +
|
|
|
- " FROM ( " +
|
|
|
- " select cBatch,cInvCode,iOMoDID from rdrecords11 where cBatch is not null " +
|
|
|
- " group by cBatch,cInvCode,iOMoDID " +
|
|
|
- " ) r " +
|
|
|
- " JOIN ( " +
|
|
|
- " SELECT od.MODetailsID " +
|
|
|
- " FROM OM_MOMain om LEFT JOIN OM_MODetails od ON om.MOID = od.MOID " +
|
|
|
- " WHERE om.iVerifyStateNew = 2 and om.cCode like '"+plannum+"%' " +
|
|
|
- " group by MODetailsID " +
|
|
|
- " ) o ON r.iOMoDID = o.MODetailsID " +
|
|
|
- " JOIN ( " +
|
|
|
- " SELECT v.cVenName as cVenName,c.cInvName,rs1.cPOID,rs1.cfree1,rs1.cInvCode,rs1.cBatch, " +
|
|
|
- " sum(isnull(od.iSendQTY,0)+isnull(p.iQuantity,0)) as yi " +
|
|
|
- " FROM rdrecords01 rs1 " +
|
|
|
- " left join rdrecord01 r1 on r1.id=rs1.id " +
|
|
|
- " left join PO_Podetails p on p.ID=rs1.iPOsID " +
|
|
|
- " left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID " +
|
|
|
- " left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID " +
|
|
|
- " LEFT JOIN Inventory c on c.cInvCode=rs1.cInvCode " +
|
|
|
- " LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode " +
|
|
|
- " where rs1.cPOID not like '"+plannum+"%'"+// and v.cVenName='"+Ingredient.getProcessUnit()+
|
|
|
- " and c.cInvName='"+Ingredient.getGoodsName()+"' " +
|
|
|
- " group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1,rs1.cInvCode,rs1.cBatch " +
|
|
|
- " ) b on r.cBatch = b.cBatch and b.cInvCode=r.cInvCode " +
|
|
|
- " group by b.cVenName,b.cInvName,b.cPOID,b.cfree1";
|
|
|
- List<Map<String, Object>> remainingList = senYuDataSourceOne.queryForList(sqlRemaining);
|
|
|
- if(remainingList.size()>0){
|
|
|
- List<JSONObject> remainingJson = JsonChangeUtils.toJSONObject(remainingList);
|
|
|
- List<SyRemaining> syRemainingList = new ArrayList<>();
|
|
|
- for (int j=0;j<remainingJson.size();j++){
|
|
|
- SyRemaining syRemaining = JSONObject.toJavaObject(remainingJson.get(j), SyRemaining.class);
|
|
|
- syRemainingList.add(syRemaining);
|
|
|
- }
|
|
|
- Ingredient.setSyRemaining(syRemainingList);
|
|
|
- }else{
|
|
|
- Ingredient.setIngredientsRemainingQuantity(BigDecimal.ZERO);
|
|
|
- }
|
|
|
- List<Map<String, Object>> transferlist = senYuDataSourceOne.queryForList(sqlTransfer);
|
|
|
- if(transferlist.size()>0){
|
|
|
- List<JSONObject> transferJson = JsonChangeUtils.toJSONObject(transferlist);
|
|
|
- List<SyTransfer> syTransferList = new ArrayList<>();
|
|
|
- for (int j=0;j<transferJson.size();j++){
|
|
|
- SyTransfer transfer = JSONObject.toJavaObject(transferJson.get(j), SyTransfer.class);
|
|
|
- syTransferList.add(transfer);
|
|
|
- }
|
|
|
- Ingredient.setSyTransfers(syTransferList);
|
|
|
- }else{
|
|
|
- Ingredient.setIngredientsTransferQuantity(BigDecimal.ZERO);
|
|
|
- Ingredient.setTransferCost(BigDecimal.ZERO);
|
|
|
+ //若转入数量不为0则给转入数据对象赋值
|
|
|
+ if(0!=Ingredient.getIngredientsTransferQuantity().compareTo(BigDecimal.ZERO)){
|
|
|
+ List<SyTransfer> transferlist = syCostAllocationIngredientMapper.queryTransferByIngredient(plannum,Ingredient.getGoodsName());
|
|
|
+ Ingredient.setSyTransfers(transferlist);
|
|
|
}
|
|
|
//辅料含税成本 美元
|
|
|
if(Ingredient.getUsdAmount()!=null){
|