private void addSTXALLOCATION_RPT(string filename, string allocType) { using (SqlConnection conn = new SqlConnection(_connectionstring)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = string.Format(" Select * FROM [{1}].[STXALLOCATION] where STXAGRP = N'{0}'", filename, _warehouse); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adapter.Fill(ds); conn.Close(); foreach (DataRow dr in ds.Tables[0].Rows) { STXCalendar stxcalendar = null; stxcalendar = getSTXFYQW(dr["STARTDATE"].ToString(), dr["ENDDATE"].ToString()); int sumqty = sumLocationQty(dr["PRISKU"].ToString(), stxcalendar); //如果sumqty>0 不管 int exist = GetLocationRPT(stxcalendar, dr["PRISKU"].ToString(), dr["SKU"].ToString()); if (allocType == "Q") { } else { } } } }
private int sumLocationQty(string psku, STXCalendar calendar) { using (SqlConnection conn = new SqlConnection(_connectionstring)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = string.Format("select isnull(sum(WALLACTUALQTY),0) from [{3}].[STXALLOCATION_RPT] r where r.PRISKU='{0}' and r.FISCALYEAR='{1}' and r.QUARTER='{2}' ", psku, calendar.Year, calendar.Quarter, _warehouse); object result = cmd.ExecuteScalar(); conn.Close(); return(Convert.ToInt32(result)); } }
private int GetLocationRPT(STXCalendar calendar, string psku, string sku) { using (SqlConnection conn = new SqlConnection(_connectionstring)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = string.Format("select count(*) from [{4}].[STXALLOCATION_RPT] r where r.PRISKU='{0}' and r.sku='{1}' and r.FISCALYEAR='{2}' and r.QUARTER='{3}' ", psku, sku, calendar.Year, calendar.Quarter, _warehouse); object result = cmd.ExecuteScalar(); conn.Close(); return(Convert.ToInt32(result)); } }
private STXCalendar getSTXFYQW(string startdt, string enddt) { STXCalendar stxcalendar = new STXCalendar(); using (SqlConnection conn = new SqlConnection(_connectionstring)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = string.Format(" select Top 1 FISCALYEAR,QUARTER,WEEK from [{2}].[STXCALENDAR] where CONVERT(datetime,FROM_DATE) >= CONVERT(datetime,'{0}') and CONVERT(datetime,TO_DATE)<=CONVERT(datetime,'{1}')", startdt, enddt, _warehouse); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { stxcalendar.Year = Convert.ToInt32(reader.GetSqlString(0)); stxcalendar.Quarter = Convert.ToInt32(reader.GetSqlString(1)); stxcalendar.Week = Convert.ToInt32(reader.GetSqlString(2)); } conn.Close(); } if (stxcalendar.Quarter == 4 && isMaxWeek(stxcalendar.Year, stxcalendar.Quarter, stxcalendar.Week)) { stxcalendar.Week = 1; stxcalendar.Quarter = 1; stxcalendar.Year = stxcalendar.Year + 1; } else if (isMaxWeek(stxcalendar.Year, stxcalendar.Quarter, stxcalendar.Week)) { stxcalendar.Week = stxcalendar.Week + 1; stxcalendar.Quarter = stxcalendar.Quarter + 1; } stxcalendar.BeginWeek = getBeginWeek(stxcalendar.Year, stxcalendar.Quarter); return(stxcalendar); }
private void updateLocRPT(DataRow dr, STXCalendar calendar, string filename) { }
private void insertLocRPT(DataRow dr, STXCalendar calendar, string filename) { using (SqlConnection conn = new SqlConnection(_connectionstring)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); #region insert sql cmd.CommandText = string.Format(@"INSERT INTO [{14}].[STXALLOCATION_RPT] ([WHSEID] ,[STXAGRP] ,[STXAKEY] ,[FISCALYEAR] ,[QUARTER] ,[WEEK] ,[PRISKU] ,[PLANNERCODE] ,[SITE] ,[STORERKEY] ,[SKU] ,[QPERCENT] ,[ADDWHO] ,[begweek] ) VALUES ('{0}' ,'{1}' ,'{2}' ,'{3}' ,'{4}' ,'{5}' ,'{6}' ,'{7}' ,'{8}' ,'{9}' ,'{10}' ,'{11}' ,'{12}' ,'{13}' )" , _warehouse , filename , getmaxkey() , calendar.Year , calendar.Quarter , calendar.Week , dr["PRISKU"].ToString() , dr["PLANNERCODE"].ToString() , dr["SITE"].ToString() , dr["STORERKEY"].ToString() , dr["SKU"].ToString() , dr["QPERCENT"].ToString() , "importservice" , calendar.BeginWeek , _warehouse ); #endregion cmd.ExecuteNonQuery(); conn.Close(); } }