Commit 2a469cb9 authored by solho's avatar solho

轉運營辦相關調整

parent 497dd29f
......@@ -141,7 +141,8 @@ namespace WebAPI.Controllers
{
CommandText = @" select a.ConfirmTime
,Case When a.ConfirmUserClass='PG' Then '程序' When a.ConfirmUserClass='PE' Then '承辦人' When a.ConfirmUserClass='Leader' Then '主管' else '其他' End as ConfirmUserClass
,Case When a.ConfirmMethod='CF' Then '確認' When a.ConfirmMethod='RJ' Then '退回' When a.ConfirmMethod='RV' Then '撤回' else '其他' End as ConfirmMethod
,Case When a.ConfirmMethod='CF' Then '確認' When a.ConfirmMethod='RJ' Then '退回' When a.ConfirmMethod='RV' Then '撤回'
When a.ConfirmMethod='RJTOp' Then '轉運營辦' When a.ConfirmMethod='CFTLd' Then '轉運營辦確認' else '其他' End as ConfirmMethod
,a.Create_time,d.cn_name as Create_User_Name,b.Step_Text as ""From"",c.Step_Text as ""To"",a.Description
from esn_Todos_flow_his a
left join esn_todos_Flow_StepType b on a.FromType_id = b.id
......@@ -352,8 +353,10 @@ namespace WebAPI.Controllers
IsConfirm = 0; return_msg = ""; break;
case "RJ":
IsConfirm = 0; return_msg = "已退回"; break;
case "RJOp":
IsConfirm = 0; return_msg = "已退至運營辦"; break;
case "CFTLd":
IsConfirm = 0; return_msg = "提交成功"; break;
case "RJTOp":
IsConfirm = 0; return_msg = "已轉至運營辦"; break;
default:
IsConfirm = 0; return_msg = "已退回"; break;
}
......@@ -419,58 +422,61 @@ namespace WebAPI.Controllers
#endregion
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 = "",RJOp="";
date0 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Tsql = "",RJTOp="";
JToken JtSn;
//List<String> sql = new List<string>();
int StepType_id_Previous, StepType_id, StepType_idHis;
foreach (DataRow dr in ds.Tables[0].Rows)
{
RJOp = "";
StepType_id_Previous = dr["StepType_id_Previous"] == DBNull.Value ? 0 : Convert.ToInt32(dr["StepType_id_Previous"]);
//StepType_id_next = Convert.ToInt32(dr["StepType_id_next"]);
StepType_id = dr["StepType_id"] == DBNull.Value ? 0 : Convert.ToInt32(dr["StepType_id"]);
DataRow dsr;
//foreach (DataRow dr in ds.Tables[0].Rows)
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dsr = ds.Tables[0].Rows[i];
RJTOp = "";
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 = 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();
JtSn = obj_input.SelectToken("$.Sns[?(@.todos_sn == '" + dr["Sn"] + "')]");
if (dr["esn_todos_sn"] == DBNull.Value) //insert
JtSn = obj_input.SelectToken("$.Sns[?(@.todos_sn == '" + dsr["Sn"] + "')]");
if (dsr["esn_todos_sn"] == DBNull.Value) //insert
{
CStepTypeCur = AllStepType.Where(p => p.Map_Class.Contains(JtSn["validclass"].ToString())).FirstOrDefault();
StepType_idHis = CStepTypeCur.id;
CStepTypeNext = AllStepType.Where(p => p.Map_Class.Contains("PE")).FirstOrDefault();
CStepTypeNext = AllStepType.Where(p => p.Step_Value== CStepTypeCur.Step_Value_Next).FirstOrDefault();
//CStepTypeCur = CStepTypeNext;
Tsql = @"insert into esn_todos_Flow(esn_todos_sn,[StepType_id],[" + CStepTypeCur.Map_Class
+ @"_IsConfirm],StepType_id_Previous,Description,[create_user_id],[Create_time],update_user_id,update_time) "
+ " OUTPUT Inserted.id into @TempTable "
+ " values (" + dr["sn"] + ",'" + CStepTypeNext.id + "'," + IsConfirm + ",'" + 1
+ " values (" + dsr["sn"] + ",'" + CStepTypeNext.id + "'," + IsConfirm + ",'" + StepType_idHis
+ "',@Reject_Description,@Wade_User_ID,'" + date0 + "'" + ",@Wade_User_ID,'" + date0 + "'" + "); "
;
}
else //update
{
String Map_Class = dr["Map_Class"].ToString();
String Map_Class = dsr["Map_Class"].ToString();
#region 驗證
//if (Map_Class != JtSn["validclass"].ToString())
//{
// return_msg_error.Add(dr["esn_todos_sn"] + ":該流程已異動, 不可變更");
// return_msg_error.Add(dsr["esn_todos_sn"] + ":該流程已異動, 不可變更");
//}
#endregion
CStepTypeCur = AllStepType.Where(p => p.id == StepType_id).FirstOrDefault();
CStepTypeNext = AllStepType.Where(p => p.Step_Value == CStepTypeCur.Step_Value_Next).FirstOrDefault();
String Step_Value_previous = dr["Step_Value_previous"].ToString(), Step_Value_Next = dr["Step_Value_Next"].ToString();
String Step_Value_previous = dsr["Step_Value_previous"].ToString(), Step_Value_Next = dsr["Step_Value_Next"].ToString();
Tsql = Tsql + "update esn_todos_Flow set ";
//確認是否有審核資格
if (Confirm_Method == "CF")
if (Confirm_Method == "CF" || Confirm_Method == "CFTLd")
{
if (!Confirm_Class.Contains(Map_Class))
{
//return_msg_error.Add(dr["esn_todos_sn"] + ":無可審核該筆身分");
//return_msg_error.Add(dsr["esn_todos_sn"] + ":無可審核該筆身分");
}
if (int.Parse(CStepTypeCur.Step_Value) > 90)
{
return_msg_error.Add(dr["esn_todos_sn"] + ":審核流程已結束,不可確認");
return_msg_error.Add(dsr["esn_todos_sn"] + ":審核流程已結束,不可確認");
}
}
......@@ -487,13 +493,13 @@ namespace WebAPI.Controllers
CStepTypeCur.id = CStepTypeNext.id; //回復與下一步 同ID
Tsql = Tsql + CStepTypeNext.Map_Class + "_IsConfirm =" + IsConfirm + ",";
}
else if (Confirm_Method == "RJOp")
else if (Confirm_Method == "RJTOp")
{
Tsql = Tsql + "PG_IsConfirm =" + IsConfirm + "," + "PE_IsConfirm =" + IsConfirm + "," + "Leader_IsConfirm =" + IsConfirm + ","; //退回後,改為更新所有Flow狀態確認
CStepTypeNext = AllStepType.Where(p => p.Step_Value == Step_Value_previous).FirstOrDefault();
StepType_idHis = CStepTypeCur.id;
RJOp= @"exec [dbo].esp_esn_Todos_V3_AssignStatus 'AS05' ," + dr["sn"] + @",'',@Reject_Description,@Wade_User_ID
";
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 );
}
else
......@@ -503,14 +509,14 @@ namespace WebAPI.Controllers
}
Tsql = Tsql + " StepType_id = '" + CStepTypeNext.id + "',StepType_id_Previous = '" + CStepTypeCur.id +
"',Description = @Reject_Description,update_user_id=@Wade_User_ID,update_time='" + date0 + "' "
+ " output Inserted.id into @TempTable where id =" + dr["Flowid"] + ";"
+ " output Inserted.id into @TempTable where id =" + dsr["Flowid"] + ";"
;
}
Tsql += @"select @FlowId=id from @TempTable;
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 + "'" + ") ;";
Tsql += RJOp;
Tsql += RJTOp;
}
cmd.Parameters.AddWithValue("@Reject_Description", Reject_Description);
......
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