package market.Mes.anneal.mapper;
import java.util.HashMap;
import java.util.List;

import market.Mes.Lengthwise.Performance.vo.MesCrSlittingWrkSum;
import market.Mes.Lengthwise.Performance.vo.MesPrdDetailReport;
import market.Mes.anneal.vo.MesCrAnnealM;
import market.Mes.anneal.vo.PlnAnnealView;
import market.Mes.anneal.vo.PrintLabelView;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.hnshituo.orm.GenericMapper;

public interface MesCrAnnealMMapper extends GenericMapper<MesCrAnnealM,Object> {

	List<PlnAnnealView> doQueryWeb(String memo1);

	List<MesCrSlittingWrkSum> doQueryWrkWeb(String memo1, String string, String string2, String string3);

	List<PlnAnnealView> doQueryWeb2(String memo1, String startTime, String endTime,
			String memo2, String memo3);

	List<MesCrAnnealM> doQueryWeb3(String memo1, String memo2, String memo3);

	Integer doQueryWeb4(String v_coil_no);

	void doDelete(String memo1, String an_plan_no, String object_no_vt,
			String object_no_vt2);


	void doUpdate2(String wrk_date, String wrk_ord, String wrk_grp,
			String vOprName, String memo1, String an_plan_no,
			String object_no_vt, String material_no);

	void doUpdate3(String vOprName, String memo1, String an_plan_no,
			String object_no_vt, String material_no);

	PrintLabelView doQueryPrint(String an_plan_no, String object_no_vt,
			String material_no);

	PrintLabelView doQueryPrintWT(String coil_no);
	
	PrintLabelView doQueryPrint2(String coil_no);

	List<MesCrAnnealM> doQueryWebM(MesCrAnnealM object, String string, String string2, String string3, String string4, String string5, String string6);

	List<MesCrAnnealM> doQueryWebM2(MesCrAnnealM object);

	String doQueryStock(String v_material_no);

	String doQueryLocation(String v_material_no);

	String doQueryMemo(String v_material_no);

	Integer doQueryWeb5(String v_coil_no, String v_plan_no, String v_material_no);

	Integer doQueryWeb6(String v_coil_no, String string, String string2);

	void doDelete2(String string, String string2);

	@Update(" update MES_CR_ANNEAL_M set material_no_vt = #{material_no_vt} where material_no = #{material_no}")
	void updatebymaterial_no(MesCrAnnealM mcd);

	List<MesCrAnnealM> doQueryDate(String start_prod_time);

	void doUpdate(MesCrAnnealM mcm);

	List<MesCrAnnealM> doQueryWeb7(String memo1, String memo2);

	List<PlnAnnealView> doQueryWeb2_DG(String memo1, String startTime,
			String endTime, String memo2, String memo3);

	List<PlnAnnealView> doQueryWeb_DG(String memo1);

	List<MesCrSlittingWrkSum> doQueryWrkWeb_DG(String memo1, String memo2, String memo3,
			String memo4);

	List<MesCrAnnealM> doQueryWebM_DG(MesCrAnnealM object, String startTime,
			String endTime, String memo3, String memo4, String memo2, String string);

	List<HashMap> doQueryMesCrWeb1_mat(int i, int j, String swhere);

	List<HashMap> doQueryMesCrWeb1(int i, int j, MesCrAnnealM object,
			String startTime, String endTime, String swhere, String memo2);

	List<HashMap> doQueryMesCrWeb2(int i, int j, MesCrAnnealM object,
			String startTime, String endTime, String swhere, String memo2);

	long doQueryMesCrWebCount1(MesCrAnnealM object, String startTime,
			String endTime, String memo2, String swhere);

	List<HashMap> doProductionSteelReport(MesCrAnnealM mesCrAnnealM);

	List<MesPrdDetailReport> doPrdDetailWeb_tuihuo(MesPrdDetailReport object, String memo1,
			String startTime, String endTime, String startTime2,
			String endTime2, String memo2, String memo3, String memo4,
			String memo5);

	List<HashMap> doQueryWeb_zhiliang(MesCrAnnealM mes, String startTime, String endTime, String string, String string2);

	Integer findMaxIns4mm(String schedule);

	Integer findMaxInstpm(String schedule);

	Integer findMaxIns3mm(String schedule);

	Integer findMaxInsrcm(String schedule);
	
	@Select("select t.MATERIAL_NO, t.COIL_NO, cbs.STEEL_NAME, t\n" +
		      "    .ANNEAL_TEMP_MIN, t.ANNEAL_TEMP_MAX, t.ANNEAL_TEMP_AVG, t\n" +
		      "        .discharge_date, t.ACT_THK,\n" +
		      "       decode(t.MACHINE_CODE, 'M0004', '退火炉宝信', 'M0005', '退火炉南方D', 'M0006',\n" +
		      "           '退火炉艾伯纳', 'M0009', '退火炉南方G') machine_name\n" +
		      "from MES_CR_ANNEAL_M t\n" +
		      "left join COM_BASE_STEEL cbs on t.STEEL_CODE = cbs.STEEL_CODE\n" +
		      "where\n" +
		      "t.discharge_date between '${startTime}'\n" +
		      "and '${endTime}'\n" +
		      "and t.HAND_OVER_STATUS = '1' order by t.DISCHARGE_DATE")
	List<HashMap> queryAnnealMonth(@Param("startTime")String startTime, @Param("endTime")String endTime);
	
	@Select("select m.material_no from mes_cr_anneal_m m where m.COIL_NO = #{coilNo}")
	String findM (@Param("coilNo") String coilNo);
	
	@Select("select * from MES_CR_ANNEAL_M where COIL_NO = #{coilNo}")
	MesCrAnnealM findD (@Param("coilNo") String coilNo);
	
}
