package com.kingdee.eas.custom.guiliuzhuye.duckgrazing.app;

import java.sql.SQLException;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;

import org.apache.log4j.Logger;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.custom.zdyz.comm.VerLineUtil;
import com.kingdee.eas.framework.report.util.RptParams;
import com.kingdee.eas.mm.project.client.net.sf.mpxj.junit.SlackTest;

public class SfdczmxFacadeControllerBean extends AbstractSfdczmxFacadeControllerBean
{
    private static Logger logger =
        Logger.getLogger("com.kingdee.eas.custom.guiliuzhuye.duckgrazing.app.SfdczmxFacadeControllerBean");
  
    @Override
    protected RptParams _query(Context ctx, RptParams params)
    		throws BOSException, EASBizException {
    	// TODO Auto-generated method stub
    	  String storage = params.getObject("storage").toString();
    	  String rpmTargetStCUID="";
    	  String startCreateTime="";
    	  String endCreateTime="";
    	  String startReceiveDate="";
    	  String endReceiveDate="";
    	  String startfdrq="";
    	  String endfdrq="";
    	  if(params.getObject("rpmTargetStCUID")!=null){
    		  rpmTargetStCUID=params.getObject("rpmTargetStCUID").toString();
    	  }
    	  if(params.getObject("startCreateTime")!=null){
    		  String date = new SimpleDateFormat("yyyy-MM-dd").format(params.getObject("startCreateTime"));
    		  startCreateTime=date;
    	  }
    	  if(params.getObject("endCreateTime")!=null){
	    	  String date = new SimpleDateFormat("yyyy-MM-dd").format(params.getObject("endCreateTime"));
    		  endCreateTime=date;
    	  }
    	  if(params.getObject("startReceiveDate")!=null){
    		  String date = new SimpleDateFormat("yyyy-MM-dd").format(params.getObject("startReceiveDate"));
    		  startReceiveDate=date;
    	  }
    	  if(params.getObject("endReceiveDate")!=null){
    		  String date = new SimpleDateFormat("yyyy-MM-dd").format(params.getObject("endReceiveDate"));
    		  endReceiveDate=date;
    	  }
    	  if(params.getObject("startfdrq")!=null){
    		  String date = new SimpleDateFormat("yyyy-MM-dd").format(params.getObject("startfdrq"));
    		  startfdrq=date;
    	  }
    	  if(params.getObject("endfdrq")!=null){
    		  String date = new SimpleDateFormat("yyyy-MM-dd").format(params.getObject("endfdrq"));
    		  endfdrq=date;
    	  }
    	ResultSet rs =null ;
    	List list=null;
    	   try {
    		   																								
			//库存 //孵化 --受精日期 --送蛋日期 --发蛋日期
    		   rs = (ResultSet) VerLineUtil.execProcObject(ctx, "{CALL LYY_GL_ZY_SFDCZMX (?,?,?,?,?,?,?,?,?)}", new Object[]{storage,rpmTargetStCUID,startCreateTime,endCreateTime,startReceiveDate,endReceiveDate,startfdrq,endfdrq},new String[]{"CURSOR"});
  
    		   list=setListValue(rs);
    	   } catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
    	   params.setObject("queryList", list);
    	   return  params;
    }

	private List setListValue(ResultSet rs) throws SQLException {
		// TODO Auto-generated method stub
		List list=new ArrayList<Map>();
		while (rs.next()  ){
			Map<String, String> map = new HashMap<String, String>();
			map.put("fid", rs.getString("fid")); //id
			map.put("Storage",rs.getString("Storage") );//种鸭公司
			map.put("ContractNumber", rs.getString("ContractNumber")); //合同编码
			map.put("ContractId", rs.getString("ContractId")); //合同id
			map.put("Customer", rs.getString("Customer")); //养户
			map.put("Batch", rs.getString("Batch")); //批次
			map.put("EggNumber", rs.getString("EggNumber")); //实际蛋号
			map.put("FertilizedDate", rs.getString("FertilizedDate")); //做受精率日期
			map.put("ReceiveDate", rs.getString("ReceiveDate")); //送蛋日期
			map.put("remarks", rs.getString("remarks")); //摘要
			map.put("Material", rs.getString("Material")); //物料项目
			map.put("Amount", rs.getString("Amount")); //成珠数量
			map.put("Price", rs.getString("Price")); //蛋价
			map.put("Money", rs.getString("Money")); //金额
			map.put("fdrq", rs.getString("fdrq")); //发蛋日期
			map.put("HatchDate", rs.getString("HatchDate")); //入孵日期
			map.put("TargetStCUID", rs.getString("TargetStCUID")); //孵化公司
			map.put("BtPrice", rs.getString("BtPrice"));//蛋价补贴
			map.put("BtMoney", rs.getString("BtMoney")); //补贴金额
			map.put("ZdMaterial", rs.getString("ZdMaterial"));//照蛋
			map.put("ZdAmount", rs.getString("ZdAmount"));//照蛋数量
			map.put("ZdPrice", rs.getString("ZdPrice")); //照蛋单价
			map.put("ZdMoney", rs.getString("ZdMoney"));//照蛋金额
			map.put("SjlAmount", rs.getString("SjlAmount"));//受精率
			map.put("MaterialId", rs.getString("MaterialId"));//物料
			map.put("ZdMaterialId", rs.getString("ZdMaterialId"));//照蛋id
			list.add(map);
		}

		return list;
	}
    
}