Commit 5a4a8213 authored by solho's avatar solho

新增關帳設定相關

parent a8c9e0c7
...@@ -110,6 +110,36 @@ namespace WebAPI.Controllers ...@@ -110,6 +110,36 @@ namespace WebAPI.Controllers
result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json"); result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json");
return result; return result;
} }
public DataTable get_Esn_todos_SettleData( String gWadeID, bool is_enabled)
{
DataTable dt=null;
try
{
using (SqlConnection Conn = new SqlConnection(connString))
{
String sqlstr = @"select * from esn_todos_Settle_config a
left join evw_Employee b on a.user_id=b.user_id
where a.user_id=@user_id and a.is_enabled=@is_enabled";
SqlCommand cmd = new SqlCommand("", Conn)
{
CommandText = sqlstr
};
cmd.Parameters.AddWithValue("@user_id", gWadeID);
cmd.Parameters.AddWithValue("@is_enabled", is_enabled);
dt = SqlToDt(cmd);
return dt;
}
}
catch (Exception e)
{
response.Code = "0";
response.Msg = "Exception:" + e.StackTrace;
}
return dt;
}
[Route("UpdateEsntodosSettle")] [Route("UpdateEsntodosSettle")]
[CorsHandle] [CorsHandle]
[HttpPost] [HttpPost]
...@@ -123,19 +153,13 @@ namespace WebAPI.Controllers ...@@ -123,19 +153,13 @@ namespace WebAPI.Controllers
{ {
using (SqlConnection Conn = new SqlConnection(connString)) using (SqlConnection Conn = new SqlConnection(connString))
{ {
String sqlstr = @"select * from esn_todos_Settle_config a SqlCommand cmd = new SqlCommand("",Conn);
where a. user_id=@user_id and is_enabled=1;"; DataTable dtL1 = get_Esn_todos_SettleData(obj_input["gWadeID"].ToString(), true);
SqlCommand cmd = new SqlCommand("",Conn) String strsql="" ,wherecase ;
{
CommandText = sqlstr
};
cmd.Parameters.AddWithValue("@user_id", obj_input["gWadeID"].ToString());
DataTable dtL1 = SqlToDt(cmd);
//cmd.Parameters.Clear();
StringBuilder strsql = new StringBuilder();
String wherecase ;
DataRow drL1; DataRow drL1;
for(int i=0;i< dtL1.Rows.Count;i++) if (dtL1 != null)
{
for (int i = 0; i < dtL1.Rows.Count; i++)
{ {
drL1 = dtL1.Rows[i]; drL1 = dtL1.Rows[i];
wherecase = ""; wherecase = "";
...@@ -146,38 +170,34 @@ namespace WebAPI.Controllers ...@@ -146,38 +170,34 @@ namespace WebAPI.Controllers
cmd.Parameters.AddWithValue("@DeptNum" + i, drL1["DeptNum"].ToString()); cmd.Parameters.AddWithValue("@DeptNum" + i, drL1["DeptNum"].ToString());
wherecase += " and ItemNum = @ItemNum" + i; wherecase += " and ItemNum = @ItemNum" + i;
cmd.Parameters.AddWithValue("@ItemNum" + i, drL1["ItemNum"].ToString()); cmd.Parameters.AddWithValue("@ItemNum" + i, drL1["ItemNum"].ToString());
#region MERGE
//strsql.Append(String.Format(@"MERGE INTO esn_todos_Settle WITH(HOLDLOCK) as target
//USING(select DSNum, DeptNum, ItemNum, Settle_Date from esn_todos_Settle where Settle_Date
//between @Settle_Date and @Settle_Date " + wherecase + @" ) as source(DSNum, DeptNum, ItemNum, Settle_Date)
//on(target.DSNum = source.DSNum and target.DeptNum = source.DeptNum and target.ItemNum = source.ItemNum and target.Settle_Date = source.Settle_Date)
//WHEN MATCHED THEN UPDATE SET isClosed = 1, update_time = getdate(), update_user_id = @user_id, Create_user_id = @user_id, Create_time = getdate()
//WHEN NOT MATCHED THEN INSERT(DSNum,DeptNum,ItemNum,isClosed, update_time, update_user_id, Create_user_id, Create_time)
//VALUES(@DSNum{0},@DeptNum{0},@ItemNum{0},1,@user_id,getdate(),@user_id,getdate())", i));
#endregion
#region MERGE #region MERGE
strsql.Append(String.Format(@"MERGE INTO esn_todos_Settle WITH(HOLDLOCK) as target strsql += String.Format(@"MERGE INTO esn_todos_Settle WITH(HOLDLOCK) as target
USING(select @DSNum{0}, @DeptNum{0}, @ItemNum{0} ,@Settle_Date as Settle_Date ) as source(DSNum, DeptNum, ItemNum, Settle_Date) USING(select @DSNum{0}, @DeptNum{0}, @ItemNum{0} ,@Settle_Date as Settle_Date ) as source(DSNum, DeptNum, ItemNum, Settle_Date)
on(target.DSNum = source.DSNum and target.DeptNum = source.DeptNum and target.ItemNum = source.ItemNum and target.Settle_Date = source.Settle_Date) on(target.DSNum = source.DSNum and target.DeptNum = source.DeptNum and target.ItemNum = source.ItemNum and target.Settle_Date = source.Settle_Date)
WHEN MATCHED THEN UPDATE SET isClosed = 1, update_time = getdate(), update_user_id = @user_id, Create_user_id = @user_id, Create_time = getdate() WHEN MATCHED THEN UPDATE SET isClosed = 1, update_time = getdate(), update_user_id = @user_id, Create_user_id = @user_id, Create_time = getdate()
WHEN NOT MATCHED THEN INSERT(Settle_Date,DSNum,DeptNum,ItemNum,isClosed, update_user_id, update_time, Create_user_id, Create_time) WHEN NOT MATCHED THEN INSERT(Settle_Date,DSNum,DeptNum,ItemNum,isClosed, update_user_id, update_time, Create_user_id, Create_time)
VALUES(@Settle_Date,@DSNum{0},@DeptNum{0},@ItemNum{0},1,@user_id,getdate(),@user_id,getdate()) VALUES(@Settle_Date,@DSNum{0},@DeptNum{0},@ItemNum{0},1,@user_id,getdate(),@user_id,getdate())
OUTPUT $action ", i)); OUTPUT $action; ", i);
#endregion #endregion
//strsql.Append(@"update esn_todos_Settle set isClosed=0,update_time=getdate(),update_user_id=@user_id //strsql.Append(@"update esn_todos_Settle set isClosed=0,update_time=getdate(),update_user_id=@user_id
// where Settle_Date between @Settle_Date and @Settle_Date "); // where Settle_Date between @Settle_Date and @Settle_Date ");
strsql.Append(";"); strsql += ";";
} }
cmd.Parameters.AddWithValue("@Settle_Date", Convert.ToDateTime(obj_input["Settle_Date"].ToString())); cmd.Parameters.AddWithValue("@Settle_Date", Convert.ToDateTime(obj_input["Settle_Date"].ToString()));
cmd.CommandText = strsql.ToString(); cmd.Parameters.AddWithValue("@user_id", obj_input["gWadeID"].ToString());
cmd.CommandText = strsql;
DataTable dt = SqlToDt(cmd); DataTable dt = SqlToDt(cmd);
response.Msg = "已關帳";
}
else
{
response.Msg = "請設定有效啟用關帳權限";
}
response.Code = "1"; response.Code = "1";
response.Msg = "已關帳";
} }
} }
catch (Exception e) catch (Exception e)
...@@ -194,5 +214,96 @@ namespace WebAPI.Controllers ...@@ -194,5 +214,96 @@ namespace WebAPI.Controllers
result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json"); result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json");
return result; return result;
} }
[Route("getCloseSettleConfigDS")]
[CorsHandle]
[HttpPost]
public HttpResponseMessage get_CloseSettle_ConfigDS(ParamModel param)
{
if (param != null && param.Input != null && !string.IsNullOrWhiteSpace((param.Input.ToString())))
{
string input = param.Input.ToString();
JObject obj_input = JObject.Parse(input.ToString());
try
{
using (SqlConnection Conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand("", Conn);
String strsql = @"select top 1 a.*,b.cn_name from esn_todos_Settle_config a
left join evw_Employee b on a.user_id=b.user_id
where a.user_id=@user_id ";
cmd.Parameters.AddWithValue("@user_id", obj_input["gWadeID"].ToString());
cmd.CommandText = strsql;
DataTable dt = SqlToDt(cmd);
response.Code = "1";
response.Msg = JsonConvert.SerializeObject(dt);
}
}
catch (Exception e)
{
response.Code = "0";
response.Msg = "Exception:" + e.StackTrace;
}
}
else
{
response.Code = "0";
response.Msg = "no input or format error";
}
result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json");
return result;
}
[Route("updateCloseSettleConfigDS")]
[CorsHandle]
[HttpPost]
public HttpResponseMessage update_CloseSettle_ConfigDS(ParamModel param)
{
if (param != null && param.Input != null && !string.IsNullOrWhiteSpace((param.Input.ToString())))
{
string input = param.Input.ToString();
JObject obj_input = JObject.Parse(input.ToString());
try
{
using (SqlConnection Conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand("", Conn);
String strsql = @"MERGE INTO esn_todos_Settle_config WITH(HOLDLOCK) as target USING(select @user_id as user_id ,@DSNum as DSNum,@DeptNum as DeptNum,@ItemNum as ItemNum) as source(user_id,DSNum,DeptNum,ItemNum)
on(target.user_id = source.user_id )
WHEN MATCHED THEN UPDATE SET is_enabled = @is_enabled,DSNum=@DSNum,DeptNum=@DeptNum,ItemNum=@ItemNum, update_time = getdate(), update_user_id = @user_id, Create_user_id = @user_id, Create_time = getdate()
WHEN NOT MATCHED THEN INSERT(user_id,DSNum,DeptNum,ItemNum,is_enabled, update_user_id, update_time, Create_user_id, Create_time)
VALUES(@user_id,@DSNum,@DeptNum,@ItemNum,1,@user_id,getdate(),@user_id,getdate())
OUTPUT $action ;";
cmd.Parameters.AddWithValue("@ItemNum", obj_input["ItemNum"].ToString());
cmd.Parameters.AddWithValue("@is_enabled", obj_input["is_enabled"].ToString());
cmd.Parameters.AddWithValue("@DSNum", obj_input["DSNum"].ToString());
cmd.Parameters.AddWithValue("@DeptNum", obj_input["DeptNum"].ToString());
cmd.Parameters.AddWithValue("@user_id", obj_input["gWadeID"].ToString());
cmd.CommandText = strsql;
DataTable dt = SqlToDt(cmd);
response.Code = "1";
response.Msg = "已更新";
}
}
catch (Exception e)
{
response.Code = "0";
response.Msg = "Exception:" + e.StackTrace;
}
}
else
{
response.Code = "0";
response.Msg = "no input or format error";
}
result.Content = new StringContent(JsonConvert.SerializeObject(response), System.Text.Encoding.UTF8, "application/json");
return result;
}
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment