package com.steerinfo.ems.ifmesemsswapfile.service;

import com.steerinfo.ems.ifmesemsswapfile.model.IfMesEmsSwapfile;
import com.steerinfo.framework.service.IBaseService;
import com.steerinfo.framework.service.pagehelper.PageList;

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public interface IIfMesEmsSwapfileService extends IBaseService<IfMesEmsSwapfile, String>{

    /**
	 * EMS获取MES投入产出数据
	 * @return
	 */
	String synchronousMesAnEmsData();

	/**
	 * 获取未读取的材料数据
	 * @return
	 */
	List<IfMesEmsSwapfile> selectNewMaterial(HashMap<String, Object> model);

	/**
	 * 更改Status
	 * @return
	 */
	int updateStatus(HashMap<String, Object> m);

	/**
	 * 根据产线编码与物料编码获取所有项的累计值
	 * @return
	 */
	BigDecimal getSUM(HashMap<String, Object> map);
	
	/**
	 * 从正式环境同步MES投入产出数据
	 * 
	 * @param d
	 * @return
	 */
	String synchronousMesFromProd(Date d);

	/**
	 * 获取生产数据
	 */
	public  void  getLgDateProd();

	/**
	 * 查询所有数据
	 *
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageList<Map<String, Object>> getQueryList(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);

	/**
	 * 查询投入产出数据
	 *
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageList<Map<String, Object>> queryProductAndMaterial(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);

	/**
	 * 修改投入产出数据
	 * @param parmas 参数
	 * @return
	 */
	int updateProductAndMaterial(HashMap<String, Object> parmas);

	/**
	 * 生成投入产出数据模板
	 * @return
	 */
	String generateProductAndMaterial();
}