Commit 071ebf0f authored by solho's avatar solho

fix:比對重複SN,有重複不可執行

parent 1648c737
...@@ -28,7 +28,7 @@ namespace WebAPI.Controllers ...@@ -28,7 +28,7 @@ namespace WebAPI.Controllers
HttpResponseMessage result; HttpResponseMessage result;
CommonResponseMsg response; CommonResponseMsg response;
MessageList_ETF Outmsg; MessageList_ETF Outmsg;
String connString ; String connString;
public Esn_Todos_FlowController() public Esn_Todos_FlowController()
{ {
...@@ -137,7 +137,7 @@ namespace WebAPI.Controllers ...@@ -137,7 +137,7 @@ namespace WebAPI.Controllers
List<ExportEHR_hisModel> Hislist = new List<ExportEHR_hisModel>(); List<ExportEHR_hisModel> Hislist = new List<ExportEHR_hisModel>();
using (SqlConnection Conn = new SqlConnection(connString)) using (SqlConnection Conn = new SqlConnection(connString))
{ {
ExportEHR_hisModel hisT ; ExportEHR_hisModel hisT;
SqlCommand cmd = new SqlCommand("", Conn) SqlCommand cmd = new SqlCommand("", Conn)
{ {
CommandText = @"select b.cn_name, a.* from esn_todos_SettleLog a CommandText = @"select b.cn_name, a.* from esn_todos_SettleLog a
...@@ -152,7 +152,7 @@ namespace WebAPI.Controllers ...@@ -152,7 +152,7 @@ namespace WebAPI.Controllers
{ {
id = (int)dr["id"], id = (int)dr["id"],
SaveData = dr["SaveData"].ToString(), SaveData = dr["SaveData"].ToString(),
update_time =(DateTime?) dr["update_time"] , update_time = (DateTime?)dr["update_time"],
update_user_id = dr["update_user_id"].ToString(), update_user_id = dr["update_user_id"].ToString(),
Create_time = (DateTime?)dr["Create_time"], Create_time = (DateTime?)dr["Create_time"],
Create_user_id = dr["Create_user_id"].ToString(), Create_user_id = dr["Create_user_id"].ToString(),
...@@ -201,7 +201,7 @@ namespace WebAPI.Controllers ...@@ -201,7 +201,7 @@ namespace WebAPI.Controllers
try try
{ {
string JsonString = ""; string JsonString = "";
List <ExportEHR_hisModel> Hislist = new List<ExportEHR_hisModel>(); List<ExportEHR_hisModel> Hislist = new List<ExportEHR_hisModel>();
using (SqlConnection Conn = new SqlConnection(connString)) using (SqlConnection Conn = new SqlConnection(connString))
{ {
SqlCommand cmd = new SqlCommand("", Conn) SqlCommand cmd = new SqlCommand("", Conn)
...@@ -347,23 +347,37 @@ namespace WebAPI.Controllers ...@@ -347,23 +347,37 @@ namespace WebAPI.Controllers
#endregion #endregion
String Wade_User_ID = obj_input["Wade_User_ID"].ToString(), Reject_Description = obj_input["Reject_Description"].ToString(), String Wade_User_ID = obj_input["Wade_User_ID"].ToString(), Reject_Description = obj_input["Reject_Description"].ToString(),
date0 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Tsql = "",RJTOp=""; date0 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Tsql = "", RJTOp = "";
JToken JtSn;
//List<String> sql = new List<string>(); //List<String> sql = new List<string>();
int StepType_id_Previous, StepType_id, StepType_idHis; int StepType_id_Previous, StepType_id, StepType_idHis;
Boolean SettleisClosed = false; Boolean SettleisClosed = false;
DataRow dsr; DataRow dsr;
//foreach (DataRow dr in ds.Tables[0].Rows) //foreach (DataRow dr in ds.Tables[0].Rows)
if(ds.Tables[0].Rows.Count ==0)return_msg_error.Add("所有SN皆在 esn_todos無資料 ");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{ {
dsr = ds.Tables[0].Rows[i]; dsr = ds.Tables[0].Rows[i];
try
{
RJTOp = ""; RJTOp = "";
StepType_id_Previous = dsr["StepType_id_Previous"] == DBNull.Value ? 0 : Convert.ToInt32(dsr["StepType_id_Previous"]); StepType_id_Previous = dsr["StepType_id_Previous"] == DBNull.Value ? 0 : Convert.ToInt32(dsr["StepType_id_Previous"]);
//StepType_id_next = Convert.ToInt32(dsr["StepType_id_next"]); //StepType_id_next = Convert.ToInt32(dsr["StepType_id_next"]);
StepType_id = dsr["StepType_id"] == DBNull.Value ? 0 : Convert.ToInt32(dsr["StepType_id"]); StepType_id = dsr["StepType_id"] == DBNull.Value ? 0 : Convert.ToInt32(dsr["StepType_id"]);
Esn_Todos_Flow_StepTypeModel CStepTypeNext = new Esn_Todos_Flow_StepTypeModel(), CStepTypeCur = new Esn_Todos_Flow_StepTypeModel(); Esn_Todos_Flow_StepTypeModel CStepTypeNext = new Esn_Todos_Flow_StepTypeModel(), CStepTypeCur = new Esn_Todos_Flow_StepTypeModel();
JtSn = obj_input.SelectToken("$.Sns[?(@.todos_sn == '" + dsr["Sn"] + "')]");
var JtSns = obj_input.SelectTokens("$.Sns[?(@.todos_sn == '" + dsr["Sn"] + "')]");
JToken JtSn = JtSns.First<JToken>();
if (JtSns.Count() > 1)
{
return_msg_error.Add("有重複SN:" + dsr["Sn"] +" - "+ JtSns.Count()+"筆");
continue;
}
if (dsr["esn_todos_sn"] == DBNull.Value) //insert if (dsr["esn_todos_sn"] == DBNull.Value) //insert
{ {
...@@ -400,7 +414,7 @@ namespace WebAPI.Controllers ...@@ -400,7 +414,7 @@ namespace WebAPI.Controllers
//} //}
SettleisClosed = dsr["SettleisClosed"].ToString() == "1" ? true : false; SettleisClosed = dsr["SettleisClosed"].ToString() == "1" ? true : false;
if (SettleisClosed) if (SettleisClosed)
return_msg_error.Add(dsr["esn_todos_sn"] + ":該流程 "+ Convert.ToDateTime( dsr["Settle_Date"]).ToString(" yyyy年MM月 ") + "已關帳, 不可變更"); return_msg_error.Add(dsr["esn_todos_sn"] + ":該流程 " + Convert.ToDateTime(dsr["Settle_Date"]).ToString(" yyyy年MM月 ") + "已關帳, 不可變更");
#endregion #endregion
//String Step_Value_previous = dsr["Step_Value_previous"].ToString(), Step_Value_Next = dsr["Step_Value_Next"].ToString(); //String Step_Value_previous = dsr["Step_Value_previous"].ToString(), Step_Value_Next = dsr["Step_Value_Next"].ToString();
...@@ -441,7 +455,7 @@ namespace WebAPI.Controllers ...@@ -441,7 +455,7 @@ namespace WebAPI.Controllers
//CStepTypeCur.id = CStepTypeNext.id; //回復與下一步 同ID //CStepTypeCur.id = CStepTypeNext.id; //回復與下一步 同ID
//Tsql = Tsql + CStepTypeNext.Map_Class + "_IsConfirm =" + IsConfirm + ","; //Tsql = Tsql + CStepTypeNext.Map_Class + "_IsConfirm =" + IsConfirm + ",";
CStepTypeNext = AllStepType.Where(p => p.id == StepType_id_Previous).FirstOrDefault(); CStepTypeNext = AllStepType.Where(p => p.id == StepType_id_Previous).FirstOrDefault();
if (JtSn["validclass"].ToString()=="PG") if (JtSn["validclass"].ToString() == "PG")
{ {
RJTOp += String.Format(@"update esn_todos_points set date_points_settlement=null where sn=" + dsr["sn"] + ";"); RJTOp += String.Format(@"update esn_todos_points set date_points_settlement=null where sn=" + dsr["sn"] + ";");
RJTOp += String.Format(@"update esn_todos_Flow set Is_Settlement=0 where esn_todos_sn=" + dsr["sn"] + ";"); RJTOp += String.Format(@"update esn_todos_Flow set Is_Settlement=0 where esn_todos_sn=" + dsr["sn"] + ";");
...@@ -452,7 +466,7 @@ namespace WebAPI.Controllers ...@@ -452,7 +466,7 @@ namespace WebAPI.Controllers
//Tsql = Tsql + "PG_IsConfirm =" + IsConfirm + "," + "PE_IsConfirm =" + IsConfirm + "," + "Leader_IsConfirm =" + IsConfirm + ","; //退回後,改為更新所有Flow狀態確認 //Tsql = Tsql + "PG_IsConfirm =" + IsConfirm + "," + "PE_IsConfirm =" + IsConfirm + "," + "Leader_IsConfirm =" + IsConfirm + ","; //退回後,改為更新所有Flow狀態確認
//CStepTypeNext = AllStepType.Where(p => p.Step_Value == Step_Value_previous).FirstOrDefault(); //CStepTypeNext = AllStepType.Where(p => p.Step_Value == Step_Value_previous).FirstOrDefault();
RJTOp = String.Format(@"exec [dbo].esp_esn_Todos_V3_AssignStatus 'AS05' ," + dsr["sn"] + @",'',@todos_Reject_Desc_{0},'',@Wade_User_ID ;", i); RJTOp = String.Format(@"exec [dbo].esp_esn_Todos_V3_AssignStatus 'AS05' ," + dsr["sn"] + @",'',@todos_Reject_Desc_{0},'',@Wade_User_ID ;", i);
cmd.Parameters.AddWithValue(string.Format("@todos_Reject_Desc_{0}",i), "承辦人:" + JtSn["todos_Reject_Desc"].ToString() + "<br>主管:" + Reject_Description ); cmd.Parameters.AddWithValue(string.Format("@todos_Reject_Desc_{0}", i), "承辦人:" + JtSn["todos_Reject_Desc"].ToString() + "<br>主管:" + Reject_Description);
Reject_Description = "承辦人:" + JtSn["todos_Reject_Desc"].ToString() + "<br>主管:" + Reject_Description; //轉運營辦訊息改為與傳給SP同步 Reject_Description = "承辦人:" + JtSn["todos_Reject_Desc"].ToString() + "<br>主管:" + Reject_Description; //轉運營辦訊息改為與傳給SP同步
CStepTypeNext = AllStepType.Where(p => p.id == CStepTypeCur.Step_Id_previous).FirstOrDefault(); CStepTypeNext = AllStepType.Where(p => p.id == CStepTypeCur.Step_Id_previous).FirstOrDefault();
} }
...@@ -478,6 +492,12 @@ namespace WebAPI.Controllers ...@@ -478,6 +492,12 @@ namespace WebAPI.Controllers
insert into esn_todos_Flow_his (Flow_id,ConfirmTime,FromType_id,ToType_id,ConfirmUserId,ConfirmUserClass,ConfirmMethod,Description,Create_User_id,Create_time) " insert into esn_todos_Flow_his (Flow_id,ConfirmTime,FromType_id,ToType_id,ConfirmUserId,ConfirmUserClass,ConfirmMethod,Description,Create_User_id,Create_time) "
+ " values (@FlowId,'" + date0 + "','" + StepType_idHis + "','" + CStepTypeNext.id + "',@Wade_User_ID,'" + CStepTypeCur.Map_Class + "','" + Confirm_Method + "',@Reject_Description,@Wade_User_ID,'" + date0 + "'" + ") ;"; + " values (@FlowId,'" + date0 + "','" + StepType_idHis + "','" + CStepTypeNext.id + "',@Wade_User_ID,'" + CStepTypeCur.Map_Class + "','" + Confirm_Method + "',@Reject_Description,@Wade_User_ID,'" + date0 + "'" + ") ;";
Tsql += RJTOp; Tsql += RJTOp;
}
catch (Exception e)
{
return_msg_error.Add(dsr["esn_todos_sn"] + ":"+e.Message);
}
} }
cmd.Parameters.AddWithValue("@Reject_Description", Reject_Description); cmd.Parameters.AddWithValue("@Reject_Description", Reject_Description);
...@@ -528,7 +548,7 @@ namespace WebAPI.Controllers ...@@ -528,7 +548,7 @@ namespace WebAPI.Controllers
try try
{ {
JObject obj_input = JObject.Parse(input.ToString()); JObject obj_input = JObject.Parse(input.ToString());
JArray obj_input_data= JArray.Parse(obj_input["SaveData"].ToString()); JArray obj_input_data = JArray.Parse(obj_input["SaveData"].ToString());
using (SqlConnection Conn = new SqlConnection(connString)) using (SqlConnection Conn = new SqlConnection(connString))
{ {
......
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