|  | @@ -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){
 |