Example #1
0
        private Dictionary <string, object> LoadBizStructure(BizStructure bizStructure)
        {
            if (bizStructure == null)
            {
                return(null);
            }

            Dictionary <string, object> structure = new Dictionary <string, object>();

            foreach (ItemSchema item in bizStructure.Schema.Items)
            {
                structure.Add(item.Name, bizStructure[item.Name]);
            }
            return(structure);
        }
        /// <summary>
        /// 后台调用业务服务
        /// </summary>
        /// <param name="serviceCode">业务服务编码</param>
        /// <param name="serviceMethod">方法名称</param>
        /// <param name="dicParams">参数字典</param>
        public static Dictionary <string, object> ExecuteBizBus(string serviceCode, string serviceMethod, Dictionary <string, object> dicParams)
        {
            try
            {
                // 获得业务方法
                MethodSchema method = AppUtility.Engine.BizBus.GetMethod(serviceCode, serviceMethod);
                // 获得参数列表
                BizStructure param = null;
                if (dicParams != null)
                {
                    // 填充业务方法需要的参数
                    param = BizStructureUtility.Create(method.ParamSchema);
                    foreach (var item in dicParams)
                    {
                        param[item.Key] = item.Value;
                    }
                }
                // 调用方法返回结果
                BizStructure ret = null;

                // 调用方法,获得返回结果
                ret = AppUtility.Engine.BizBus.Invoke(
                    new BizServiceInvokingContext(
                        OThinker.Organization.User.AdministratorID,
                        serviceCode,
                        method.ServiceVersion,
                        method.MethodName,
                        param));
                Dictionary <string, object> result = new Dictionary <string, object>();
                if (ret != null && ret.Schema != null)
                {
                    foreach (ItemSchema item in ret.Schema.Items)
                    {
                        result.Add(item.Name, ret[item.Name]);
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                // 调用错误日志记录
                AppUtility.Engine.LogWriter.Write("业务服务调用错误:" + ex);
                return(null);
            }
        }
Example #3
0
        public string Invoke(string userCode, string schemaCode, string methodName, string param)
        {
            string returnResult = null;

            if (schemaCode == "HR_ChangeClass_Edit")
            {
                switch (methodName)
                {
                case "DeleteData":
                {
                    string        errorMessage = string.Empty;
                    SqlConnection cn           = new SqlConnection(DataBase.PatData);
                    cn.Open();
                    SqlTransaction tran      = cn.BeginTransaction();
                    string         isSuccess = "True";
                    string         msg       = "处理成功";

                    try
                    {
                        H3.BizBus.BizStructureSchema stockschema = new H3.BizBus.BizStructureSchema();
                        stockschema.Add(new H3.BizBus.ItemSchema("Parent_ObjectId", "父对象编号", BizDataType.String, 200, null));
                        BizStructure billBizStructure = new BizStructure(stockschema);
                        BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                        SqlCommand Parent_CM = cn.CreateCommand();
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.Transaction    = tran;
                        Parent_CM.CommandType    = CommandType.StoredProcedure;
                        Parent_CM.CommandText    = string.Format(@"Proc_Attendance_ChangeClass_Del_Web_FromH3OA");
                        Parent_CM.Parameters.AddWithValue("@RefDocumentsHeaderKey", billBizStructure["Parent_ObjectId"].ToString());
                        Parent_CM.ExecuteNonQuery();
                        tran.Commit();
                    }
                    catch (System.Exception ex)
                    {
                        isSuccess = "False";
                        msg       = "处理失败:" + MyErrorMesage.GetError(ex.Message, false);
                        tran.Rollback();

                        SqlConnection cn11 = new SqlConnection(DataBase.PatData);
                        cn11.Open();
                        SqlCommand cm11 = cn11.CreateCommand();
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandType    = CommandType.Text;
                        cm11.CommandText    = string.Format(@"INSERT INTO [Jj_CY_CYDebug]
           ([CYDebugName]
           ,[CYDebugDateTime])
     VALUES
           (@CYDebugName
           ,GETDATE()) 
      ");
                        cm11.Parameters.AddWithValue("@CYDebugName", MyErrorMesage.GetError(ex.Message, false));
                        cm11.ExecuteNonQuery();
                        cn11.Close();
                        //throw ex;
                    }
                    finally
                    {
                        cn.Close();
                    }

                    string returnData = "{\"isSuccess\":\"" + isSuccess + "\",\"msg\":\"" + JsonMgr.StringToJson(msg) + "\"}";        //, isSuccess, "黎中一");

                    BizStructureSchema returnSchema = new H3.BizBus.BizStructureSchema();
                    returnSchema.Code = DateTime.Now.ToShortDateString();
                    returnSchema.Add(new H3.BizBus.ItemSchema("isSuccess", "是否成功", BizDataType.ShortString, 200, "True1"));
                    returnSchema.Add(new H3.BizBus.ItemSchema("msg", "返回信息", BizDataType.ShortString, 200, "True1"));

                    BizStructure returnBizStructure = new BizStructure(returnSchema);
                    BizStructureUtility.JsonToStructure(returnData, returnBizStructure, out errorMessage);
                    InvokeResult result = new H3.BizBus.InvokeResult(0, "服务器返回成功", returnBizStructure);
                    returnResult = BizStructureUtility.InvokeResultToJson(result);
                }
                break;

                case "InsertData":
                {
                    //int ddd = int.Parse("dfd");
                    string errorMessage = string.Empty;

                    //BizStructureSchema billSchema = new BizStructureSchema();
                    //BizStructureUtility.JsonToSchema(GetSchema(schemaCode), out billSchema, out errorMessage);
                    //BizStructure billBizStructure = new BizStructure(billSchema);
                    //BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                    SqlConnection cn = new SqlConnection(DataBase.PatData);
                    cn.Open();
                    SqlTransaction tran      = cn.BeginTransaction();
                    string         isSuccess = "True";
                    string         msg       = "处理成功";

                    try
                    {
                        H3.BizBus.BizStructureSchema stockschema = new H3.BizBus.BizStructureSchema();
                        stockschema.Add(new H3.BizBus.ItemSchema("Parent_ObjectId", "父对象编号", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("SeqNo", "转班单号", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("Remark", "备注", BizDataType.String, 1000, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("IsConstrain", "受7天内填写限制", BizDataType.Bool, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("CreatedBy", "新增人", BizDataType.String, 1000, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("CreatedTime", "新增时间", BizDataType.DateTime, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ModifiedTime", "修改时间", BizDataType.DateTime, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ConfirmedFlag", "确认状态", BizDataType.String, 200, null));


                        H3.BizBus.BizStructureSchema detailsSchema = new H3.BizBus.BizStructureSchema();
                        detailsSchema.Add(new H3.BizBus.ItemSchema("ObjectId", "子对象编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EmpNo", "员工编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("BeginDate", "开始日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EndDate", "结束日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DutyClassID", "目标班次编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DetailRemark", "明细备注", BizDataType.String, 1000, null));



                        stockschema.Add(new H3.BizBus.ItemSchema("details", "明细", BizDataType.BizStructureArray, detailsSchema));        //子表添加到主表

                        BizStructure billBizStructure = new BizStructure(stockschema);
                        BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                        // string billsCustomer = billBizStructure["BillsCustomer"] + string.Empty;


                        SqlCommand Parent_CM = cn.CreateCommand();
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.Transaction    = tran;
                        Parent_CM.CommandType    = CommandType.StoredProcedure;
                        Parent_CM.CommandText    = string.Format(@"Proc_Attendance_ChangeClass_Del_Web_FromH3OA");
                        Parent_CM.Parameters.AddWithValue("@RefDocumentsHeaderKey", billBizStructure["Parent_ObjectId"].ToString());
                        Parent_CM.ExecuteNonQuery();


                        BizStructure[] detailsDatas      = (BizStructure[])billBizStructure["details"];
                        int            detailsDatasCount = detailsDatas.Length;
                        for (int i = 0; i < detailsDatasCount; i++)
                        {
                            SqlCommand cm = cn.CreateCommand();
                            cm.CommandTimeout = 9999999;
                            cm.CommandTimeout = 9999999;
                            cm.Transaction    = tran;
                            cm.CommandType    = CommandType.StoredProcedure;
                            cm.CommandText    = string.Format(@"Proc_Attendance_ChangeClass_New_Web_FromH3OA");
                            cm.Parameters.AddWithValue("@id", detailsDatas[i]["ObjectId"].ToString());
                            cm.Parameters.AddWithValue("@mainid", billBizStructure["Parent_ObjectId"].ToString());
                            cm.Parameters.AddWithValue("@ChangeClassID", Guid.NewGuid().ToString());
                            cm.Parameters.AddWithValue("@ChangeClassHeaderKey", DBNull.Value);
                            cm.Parameters.AddWithValue("@EmpNo", detailsDatas[i]["EmpNo"]);
                            cm.Parameters.AddWithValue("@BeinDateTime", detailsDatas[i]["BeginDate"]);
                            cm.Parameters.AddWithValue("@EndDateTime", detailsDatas[i]["EndDate"]);
                            cm.Parameters.AddWithValue("@AimDutyAutoID", detailsDatas[i]["DutyClassID"]);
                            cm.Parameters.AddWithValue("@JobClassInstallDetailJobAutoID", 0);
                            cm.Parameters.AddWithValue("@ProjectManageResponsibleBy", DBNull.Value);
                            cm.Parameters.AddWithValue("@Remark", detailsDatas[i]["DetailRemark"].ToString() + "来自新H3转班单");
                            cm.Parameters.AddWithValue("@InsertedBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@InsertedDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@UpdatedBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@UpdatedDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@ConfirmedFlag", billBizStructure["ConfirmedFlag"]);
                            cm.ExecuteNonQuery();
                        }
                        tran.Commit();
                    }
                    catch (System.Exception ex)
                    {
                        isSuccess = "False";
                        msg       = "处理失败:" + MyErrorMesage.GetError(ex.Message, false);
                        tran.Rollback();

                        SqlConnection cn11 = new SqlConnection(DataBase.PatData);
                        cn11.Open();
                        SqlCommand cm11 = cn11.CreateCommand();
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandType    = CommandType.Text;
                        cm11.CommandText    = string.Format(@"INSERT INTO [Jj_CY_CYDebug]
           ([CYDebugName]
           ,[CYDebugDateTime])
     VALUES
           (@CYDebugName
           ,GETDATE()) 
      ");
                        cm11.Parameters.AddWithValue("@CYDebugName", MyErrorMesage.GetError(ex.Message, false));
                        cm11.ExecuteNonQuery();
                        cn11.Close();
                        //throw ex;
                    }
                    finally
                    {
                        cn.Close();
                    }

                    string returnData = "{\"isSuccess\":\"" + isSuccess + "\",\"msg\":\"" + JsonMgr.StringToJson(msg) + "\"}";        //, isSuccess, "黎中一");

                    BizStructureSchema returnSchema = new H3.BizBus.BizStructureSchema();
                    returnSchema.Code = DateTime.Now.ToShortDateString();
                    returnSchema.Add(new H3.BizBus.ItemSchema("isSuccess", "是否成功", BizDataType.ShortString, 200, "True1"));
                    returnSchema.Add(new H3.BizBus.ItemSchema("msg", "返回信息", BizDataType.ShortString, 200, "True1"));

                    BizStructure returnBizStructure = new BizStructure(returnSchema);
                    BizStructureUtility.JsonToStructure(returnData, returnBizStructure, out errorMessage);
                    InvokeResult result = new H3.BizBus.InvokeResult(0, "服务器返回成功", returnBizStructure);
                    returnResult = BizStructureUtility.InvokeResultToJson(result);
                }
                break;

                default:
                    break;
                }
            }


            return(returnResult);
        }
        public string Invoke(string userCode, string schemaCode, string methodName, string param)
        {
            string returnResult = null;

            if (schemaCode == "HR_BusinessReport_Edit")
            {
                switch (methodName)
                {
                case "DeleteData":
                {
                    string        errorMessage = string.Empty;
                    SqlConnection cn           = new SqlConnection(DataBase.PatData);
                    cn.Open();
                    SqlTransaction tran      = cn.BeginTransaction();
                    string         isSuccess = "True";
                    string         msg       = "处理成功";

                    try
                    {
                        H3.BizBus.BizStructureSchema stockschema = new H3.BizBus.BizStructureSchema();
                        stockschema.Add(new H3.BizBus.ItemSchema("Parent_ObjectId", "父对象编号", BizDataType.String, 200, null));
                        BizStructure billBizStructure = new BizStructure(stockschema);
                        BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                        SqlCommand Parent_CM = cn.CreateCommand();
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.Transaction    = tran;
                        Parent_CM.CommandType    = CommandType.StoredProcedure;
                        Parent_CM.CommandText    = string.Format(@"Proc_OA_WorkDailyAndTravelAttendanceDetail_Del_FromH3OA");
                        Parent_CM.Parameters.AddWithValue("@WorkDailyAndTravelAttendanceHeaderKey", billBizStructure["Parent_ObjectId"].ToString());
                        Parent_CM.ExecuteNonQuery();
                        tran.Commit();
                    }
                    catch (System.Exception ex)
                    {
                        isSuccess = "False";
                        msg       = "处理失败:" + MyErrorMesage.GetError(ex.Message, false);
                        tran.Rollback();

                        SqlConnection cn11 = new SqlConnection(DataBase.PatData);
                        cn11.Open();
                        SqlCommand cm11 = cn11.CreateCommand();
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandType    = CommandType.Text;
                        cm11.CommandText    = string.Format(@"INSERT INTO [Jj_CY_CYDebug]
           ([CYDebugName]
           ,[CYDebugDateTime])
     VALUES
           (@CYDebugName
           ,GETDATE()) 
      ");
                        cm11.Parameters.AddWithValue("@CYDebugName", MyErrorMesage.GetError(ex.Message, false));
                        cm11.ExecuteNonQuery();
                        cn11.Close();
                        //throw ex;
                    }
                    finally
                    {
                        cn.Close();
                    }

                    string returnData = "{\"isSuccess\":\"" + isSuccess + "\",\"msg\":\"" + JsonMgr.StringToJson(msg) + "\"}";        //, isSuccess, "黎中一");

                    BizStructureSchema returnSchema = new H3.BizBus.BizStructureSchema();
                    returnSchema.Code = DateTime.Now.ToShortDateString();
                    returnSchema.Add(new H3.BizBus.ItemSchema("isSuccess", "是否成功", BizDataType.ShortString, 200, "True1"));
                    returnSchema.Add(new H3.BizBus.ItemSchema("msg", "返回信息", BizDataType.ShortString, 200, "True1"));

                    BizStructure returnBizStructure = new BizStructure(returnSchema);
                    BizStructureUtility.JsonToStructure(returnData, returnBizStructure, out errorMessage);
                    InvokeResult result = new H3.BizBus.InvokeResult(0, "服务器返回成功", returnBizStructure);
                    returnResult = BizStructureUtility.InvokeResultToJson(result);
                }
                break;

                case "InsertData":
                {
                    //int ddd = int.Parse("dfd");
                    string errorMessage = string.Empty;

                    //BizStructureSchema billSchema = new BizStructureSchema();
                    //BizStructureUtility.JsonToSchema(GetSchema(schemaCode), out billSchema, out errorMessage);
                    //BizStructure billBizStructure = new BizStructure(billSchema);
                    //BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                    SqlConnection cn = new SqlConnection(DataBase.PatData);
                    cn.Open();
                    SqlTransaction tran      = cn.BeginTransaction();
                    string         isSuccess = "True";
                    string         msg       = "处理成功";

                    try
                    {
                        DateTime dt1 = DateTime.Now;
                        DateTime dt2 = DateTime.Now;

                        H3.BizBus.BizStructureSchema stockschema = new H3.BizBus.BizStructureSchema();
                        stockschema.Add(new H3.BizBus.ItemSchema("Parent_ObjectId", "父对象编号", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("SeqNo", "加班单号", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("Remark", "备注", BizDataType.String, 1000, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("IsConstrain", "受7天内填写限制", BizDataType.Bool, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("CreatedBy", "新增人", BizDataType.String, 1000, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("CreatedTime", "新增时间", BizDataType.DateTime, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ModifiedTime", "修改时间", BizDataType.DateTime, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ConfirmedFlag", "确认状态", BizDataType.String, 200, null));

                        H3.BizBus.BizStructureSchema detailsSchema = new H3.BizBus.BizStructureSchema();
                        detailsSchema.Add(new H3.BizBus.ItemSchema("ObjectId", "子对象编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EmpNo", "员工编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("WorkDailyDate", "日报日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateType", "日期类型", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateTime1", "上班1日期", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateTime2", "下班1日期", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("AddtionalHoursTime23", "中午连班加班小时", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateTime3", "上班2日期", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateTime4", "下班2日期", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateTime5", "上加班1日期", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("DateTime6", "下加班1日期", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("WorkHours", "上班小时", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("AddtionalHours", "加班小時", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("AddtionalHoursFact", "加班小时调整后", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("ProcessRecord", "加班小时调整后", BizDataType.String, 2000, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("IsAttendanceData", "生成打卡", BizDataType.Bool, 2000, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("IsRegOvertime", "生成加班", BizDataType.Bool, 2000, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("IsWorkDaily", "生成日报", BizDataType.Bool, 2000, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("RealitySetOutDateTime", "出厂时间", BizDataType.String, 2000, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("RealityBackFactoryDateTime", "回厂时间", BizDataType.String, 2000, null));

                        stockschema.Add(new H3.BizBus.ItemSchema("details", "明细", BizDataType.BizStructureArray, detailsSchema));        //子表添加到主表

                        BizStructure billBizStructure = new BizStructure(stockschema);
                        BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                        // string billsCustomer = billBizStructure["BillsCustomer"] + string.Empty;


                        SqlCommand Parent_CM = cn.CreateCommand();
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.Transaction    = tran;
                        Parent_CM.CommandType    = CommandType.StoredProcedure;
                        Parent_CM.CommandText    = string.Format(@"Proc_OA_WorkDailyAndTravelAttendanceDetail_Del_FromH3OA");
                        Parent_CM.Parameters.AddWithValue("@WorkDailyAndTravelAttendanceHeaderKey", billBizStructure["Parent_ObjectId"].ToString());
                        Parent_CM.ExecuteNonQuery();


                        BizStructure[] detailsDatas      = (BizStructure[])billBizStructure["details"];
                        int            detailsDatasCount = detailsDatas.Length;
                        for (int i = 0; i < detailsDatasCount; i++)
                        {
                            SqlCommand cm = cn.CreateCommand();
                            cm.CommandTimeout = 9999999;
                            cm.CommandTimeout = 9999999;
                            cm.Transaction    = tran;
                            cm.CommandType    = CommandType.StoredProcedure;
                            cm.CommandText    = string.Format(@"Proc_OA_WorkDailyAndTravelAttendanceDetail_Upd_FromH3OA");
                            cm.Parameters.AddWithValue("@WorkDailyAndTravelAttendanceDetailKey", detailsDatas[i]["ObjectId"].ToString());
                            cm.Parameters.AddWithValue("@WorkDailyAndTravelAttendanceHeaderKey", billBizStructure["Parent_ObjectId"].ToString());
                            cm.Parameters.AddWithValue("@EmpNo", detailsDatas[i]["EmpNo"]);
                            cm.Parameters.AddWithValue("@WorkDailyDate", detailsDatas[i]["WorkDailyDate"]);
                            cm.Parameters.AddWithValue("@DateType", detailsDatas[i]["DateType"]);

                            if (detailsDatas[i]["DateTime1"] != null && detailsDatas[i]["DateTime1"].ToString().Trim() != "")
                            {
                                cm.Parameters.AddWithValue("@Time1", detailsDatas[i]["DateTime1"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@Time1", DBNull.Value);        //
                            }

                            if (detailsDatas[i]["DateTime2"] != null && detailsDatas[i]["DateTime2"].ToString().Trim() != "")
                            {
                                cm.Parameters.AddWithValue("@Time2", detailsDatas[i]["DateTime2"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@Time2", DBNull.Value);        //
                            }

                            cm.Parameters.AddWithValue("@AddtionalHoursTime23", detailsDatas[i]["AddtionalHoursTime23"]);


                            if (detailsDatas[i]["DateTime3"] != null && detailsDatas[i]["DateTime3"].ToString().Trim() != "")
                            {
                                cm.Parameters.AddWithValue("@Time3", detailsDatas[i]["DateTime3"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@Time3", DBNull.Value);        //
                            }

                            if (detailsDatas[i]["DateTime4"] != null && detailsDatas[i]["DateTime4"].ToString().Trim() != "")
                            {
                                cm.Parameters.AddWithValue("@Time4", detailsDatas[i]["DateTime4"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@Time4", DBNull.Value);        //
                            }

                            if (detailsDatas[i]["DateTime5"] != null && detailsDatas[i]["DateTime5"].ToString().Trim() != "")
                            {
                                cm.Parameters.AddWithValue("@Time5", detailsDatas[i]["DateTime5"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@Time5", DBNull.Value);        //
                            }

                            if (detailsDatas[i]["DateTime6"] != null && detailsDatas[i]["DateTime6"].ToString().Trim() != "")
                            {
                                cm.Parameters.AddWithValue("@Time6", detailsDatas[i]["DateTime6"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@Time6", DBNull.Value);        //
                            }



                            cm.Parameters.AddWithValue("@WorkHours", detailsDatas[i]["WorkHours"]);
                            cm.Parameters.AddWithValue("@AddtionalHours", detailsDatas[i]["AddtionalHours"]);
                            cm.Parameters.AddWithValue("@AddtionalHoursFact", detailsDatas[i]["AddtionalHoursFact"]);
                            cm.Parameters.AddWithValue("@ProcessRecord", detailsDatas[i]["ProcessRecord"]);


                            cm.Parameters.AddWithValue("@IsAttendanceData", detailsDatas[i]["IsAttendanceData"]);
                            cm.Parameters.AddWithValue("@IsRegOvertime", detailsDatas[i]["IsRegOvertime"]);
                            cm.Parameters.AddWithValue("@IsWorkDaily", detailsDatas[i]["IsWorkDaily"]);


                            cm.Parameters.AddWithValue("@RealitySetOutDateTime", DBNull.Value);
                            cm.Parameters.AddWithValue("@RealityBackFactoryDateTime", DBNull.Value);
                            cm.Parameters.AddWithValue("@Remark", detailsDatas[i]["ProcessRecord"].ToString() + "来自新H3出差报告单");


                            cm.Parameters.AddWithValue("@InsertedBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@InsertedDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@UpdatedBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@UpdatedDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@ConfirmedFlag", billBizStructure["ConfirmedFlag"]);
                            cm.ExecuteNonQuery();
                        }
                        tran.Commit();
                    }
                    catch (System.Exception ex)
                    {
                        isSuccess = "False";
                        msg       = "处理失败:" + MyErrorMesage.GetError(ex.Message, false);
                        tran.Rollback();

                        SqlConnection cn11 = new SqlConnection(DataBase.PatData);
                        cn11.Open();
                        SqlCommand cm11 = cn11.CreateCommand();
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandType    = CommandType.Text;
                        cm11.CommandText    = string.Format(@"INSERT INTO [Jj_CY_CYDebug]
           ([CYDebugName]
           ,[CYDebugDateTime])
     VALUES
           (@CYDebugName
           ,GETDATE()) 
      ");
                        cm11.Parameters.AddWithValue("@CYDebugName", MyErrorMesage.GetError(ex.Message, false));
                        cm11.ExecuteNonQuery();
                        cn11.Close();
                        //throw ex;
                    }
                    finally
                    {
                        cn.Close();
                    }

                    string returnData = "{\"isSuccess\":\"" + isSuccess + "\",\"msg\":\"" + JsonMgr.StringToJson(msg) + "\"}";        //, isSuccess, "黎中一");

                    BizStructureSchema returnSchema = new H3.BizBus.BizStructureSchema();
                    returnSchema.Code = DateTime.Now.ToShortDateString();
                    returnSchema.Add(new H3.BizBus.ItemSchema("isSuccess", "是否成功", BizDataType.ShortString, 200, "True1"));
                    returnSchema.Add(new H3.BizBus.ItemSchema("msg", "返回信息", BizDataType.ShortString, 200, "True1"));

                    BizStructure returnBizStructure = new BizStructure(returnSchema);
                    BizStructureUtility.JsonToStructure(returnData, returnBizStructure, out errorMessage);
                    InvokeResult result = new H3.BizBus.InvokeResult(0, "服务器返回成功", returnBizStructure);
                    returnResult = BizStructureUtility.InvokeResultToJson(result);
                }
                break;

                default:
                    break;
                }
            }


            return(returnResult);
        }
Example #5
0
        public string Invoke(string userCode, string schemaCode, string methodName, string param)
        {
            string returnResult = null;

            if (schemaCode == "HR_Leave_Edit")
            {
                switch (methodName)
                {
                case "DeleteData":
                {
                    string        errorMessage = string.Empty;
                    SqlConnection cn           = new SqlConnection(DataBase.PatData);
                    cn.Open();
                    SqlTransaction tran      = cn.BeginTransaction();
                    string         isSuccess = "True";
                    string         msg       = "处理成功";

                    try
                    {
                        H3.BizBus.BizStructureSchema stockschema = new H3.BizBus.BizStructureSchema();
                        stockschema.Add(new H3.BizBus.ItemSchema("Parent_ObjectId", "父对象编号", BizDataType.String, 200, null));
                        BizStructure billBizStructure = new BizStructure(stockschema);
                        BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                        SqlCommand Parent_CM = cn.CreateCommand();
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.Transaction    = tran;
                        Parent_CM.CommandType    = CommandType.StoredProcedure;
                        Parent_CM.CommandText    = string.Format(@"Proc_Attendance_Leave_Del_Web_FromH3OA");
                        Parent_CM.Parameters.AddWithValue("@mainid", billBizStructure["Parent_ObjectId"].ToString());
                        Parent_CM.ExecuteNonQuery();
                        tran.Commit();
                    }
                    catch (System.Exception ex)
                    {
                        isSuccess = "False";
                        msg       = "处理失败:" + MyErrorMesage.GetError(ex.Message, false);
                        tran.Rollback();

                        SqlConnection cn11 = new SqlConnection(DataBase.PatData);
                        cn11.Open();
                        SqlCommand cm11 = cn11.CreateCommand();
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandType    = CommandType.Text;
                        cm11.CommandText    = string.Format(@"INSERT INTO [Jj_CY_CYDebug]
           ([CYDebugName]
           ,[CYDebugDateTime])
     VALUES
           (@CYDebugName
           ,GETDATE()) 
      ");
                        cm11.Parameters.AddWithValue("@CYDebugName", MyErrorMesage.GetError(ex.Message, false));
                        cm11.ExecuteNonQuery();
                        cn11.Close();
                        //throw ex;
                    }
                    finally
                    {
                        cn.Close();
                    }

                    string returnData = "{\"isSuccess\":\"" + isSuccess + "\",\"msg\":\"" + JsonMgr.StringToJson(msg) + "\"}";        //, isSuccess, "黎中一");

                    BizStructureSchema returnSchema = new H3.BizBus.BizStructureSchema();
                    returnSchema.Code = DateTime.Now.ToShortDateString();
                    returnSchema.Add(new H3.BizBus.ItemSchema("isSuccess", "是否成功", BizDataType.ShortString, 200, "True1"));
                    returnSchema.Add(new H3.BizBus.ItemSchema("msg", "返回信息", BizDataType.ShortString, 200, "True1"));

                    BizStructure returnBizStructure = new BizStructure(returnSchema);
                    BizStructureUtility.JsonToStructure(returnData, returnBizStructure, out errorMessage);
                    InvokeResult result = new H3.BizBus.InvokeResult(0, "服务器返回成功", returnBizStructure);
                    returnResult = BizStructureUtility.InvokeResultToJson(result);
                }
                break;

                case "InsertData":
                {
                    //int ddd = int.Parse("dfd");
                    string errorMessage = string.Empty;

                    //BizStructureSchema billSchema = new BizStructureSchema();
                    //BizStructureUtility.JsonToSchema(GetSchema(schemaCode), out billSchema, out errorMessage);
                    //BizStructure billBizStructure = new BizStructure(billSchema);
                    //BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                    SqlConnection cn = new SqlConnection(DataBase.PatData);
                    cn.Open();
                    SqlTransaction tran      = cn.BeginTransaction();
                    string         isSuccess = "True";
                    string         msg       = "处理成功";

                    try
                    {
                        H3.BizBus.BizStructureSchema stockschema = new H3.BizBus.BizStructureSchema();
                        stockschema.Add(new H3.BizBus.ItemSchema("Parent_ObjectId", "父对象编号", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("SeqNo", "请假单号", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ProxyBy", "代理人", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("UrgentTelephone", "紧急联系电话", BizDataType.String, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("LeaveHour", "请假总小时数", BizDataType.Double, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("Remark", "请假调休原因", BizDataType.String, 1000, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("IsConstrain", "受7天内填写限制", BizDataType.Bool, 200, null));

                        stockschema.Add(new H3.BizBus.ItemSchema("CreatedBy", "新增人", BizDataType.String, 1000, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("CreatedTime", "新增时间", BizDataType.DateTime, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ModifiedTime", "修改时间", BizDataType.DateTime, 200, null));
                        stockschema.Add(new H3.BizBus.ItemSchema("ConfirmedFlag", "确认状态", BizDataType.String, 200, null));


                        H3.BizBus.BizStructureSchema detailsSchema = new H3.BizBus.BizStructureSchema();
                        detailsSchema.Add(new H3.BizBus.ItemSchema("ObjectId", "子对象编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EmpNo", "员工编号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("LeaveTypeAutokey", "请假类型", BizDataType.Int, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("BeginDateTime", "开始日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EndDateTime", "结束日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("LeaveHour", "请假小时", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("BecomeDueDateTime", "超期邮件提醒日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("BeginDateTimeHour", "开始日期所在年占小时", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EndDateTimeHour", "结束日期所在年占小时", BizDataType.Double, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EnsureSafetyPassDate", "保安放行日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EnsureSafetyPassTime", "保安放行时间", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EnsureSafetyBy", "保安工号", BizDataType.String, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EnsureSafetyBackFactorDate", "保安回厂日期", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EnsureSafetyBackFactorTime", "保安回厂时间", BizDataType.DateTime, 200, null));
                        detailsSchema.Add(new H3.BizBus.ItemSchema("EnsureSafetyBackFactorBy", "保安回厂工号", BizDataType.String, 200, null));

                        stockschema.Add(new H3.BizBus.ItemSchema("details", "明细", BizDataType.BizStructureArray, detailsSchema));        //子表添加到主表

                        BizStructure billBizStructure = new BizStructure(stockschema);
                        BizStructureUtility.JsonToStructure(param, billBizStructure, out errorMessage);

                        // string billsCustomer = billBizStructure["BillsCustomer"] + string.Empty;


                        SqlCommand Parent_CM = cn.CreateCommand();
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.CommandTimeout = 9999999;
                        Parent_CM.Transaction    = tran;
                        Parent_CM.CommandType    = CommandType.StoredProcedure;
                        Parent_CM.CommandText    = string.Format(@"Proc_Attendance_Leave_Del_Web_FromH3OA");
                        Parent_CM.Parameters.AddWithValue("@mainid", billBizStructure["Parent_ObjectId"].ToString());
                        Parent_CM.ExecuteNonQuery();


                        BizStructure[] detailsDatas      = (BizStructure[])billBizStructure["details"];
                        int            detailsDatasCount = detailsDatas.Length;
                        for (int i = 0; i < detailsDatasCount; i++)
                        {
                            SqlCommand cm = cn.CreateCommand();
                            cm.CommandTimeout = 9999999;
                            cm.CommandTimeout = 9999999;
                            cm.Transaction    = tran;
                            cm.CommandType    = CommandType.StoredProcedure;
                            cm.CommandText    = string.Format(@"Proc_Attendance_Leave_New_Web_FromH3OA");
                            cm.Parameters.AddWithValue("@id", detailsDatas[i]["ObjectId"].ToString());
                            cm.Parameters.AddWithValue("@mainid", billBizStructure["Parent_ObjectId"].ToString());
                            string LeaveID = Guid.NewGuid().ToString();
                            cm.Parameters.AddWithValue("@LeaveID", LeaveID);
                            cm.Parameters.AddWithValue("@LeaveKey", DBNull.Value);
                            cm.Parameters.AddWithValue("@LeaveNo", DBNull.Value);
                            cm.Parameters.AddWithValue("@LeaveDepartmentCode", DBNull.Value);
                            cm.Parameters.AddWithValue("@EmpNo", detailsDatas[i]["EmpNo"]);

                            cm.Parameters.AddWithValue("@BeginDateTime", detailsDatas[i]["BeginDateTime"]);
                            cm.Parameters.AddWithValue("@EndDateTime", detailsDatas[i]["EndDateTime"]);
                            cm.Parameters.AddWithValue("@LeaveTypeAutokey", detailsDatas[i]["LeaveTypeAutokey"]);
                            cm.Parameters.AddWithValue("@LeaveHour", detailsDatas[i]["LeaveHour"]);


                            if (detailsDatas[i]["BecomeDueDateTime"] != null)
                            {
                                cm.Parameters.AddWithValue("@BecomeDueDateTime", detailsDatas[i]["BecomeDueDateTime"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@BecomeDueDateTime", DBNull.Value);        //
                            }



                            if (detailsDatas[i]["BeginDateTimeHour"] != null)
                            {
                                cm.Parameters.AddWithValue("@BeginDateTimeHour", detailsDatas[i]["BeginDateTimeHour"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@BeginDateTimeHour", 0);        //
                            }

                            if (detailsDatas[i]["EndDateTimeHour"] != null)
                            {
                                cm.Parameters.AddWithValue("@EndDateTimeHour", detailsDatas[i]["EndDateTimeHour"]);        //
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@EndDateTimeHour", 0);        //
                            }



                            if (detailsDatas[i]["EnsureSafetyPassDate"] != null)
                            {
                                string EnsureSafetyPassDate = "";
                                EnsureSafetyPassDate = detailsDatas[i]["EnsureSafetyPassDate"].ToString().Trim().Split(' ')[0];
                                if (detailsDatas[i]["EnsureSafetyPassTime"] != null)
                                {
                                    DateTime EnsureSafetyPassTime = DateTime.Parse(detailsDatas[i]["EnsureSafetyPassTime"].ToString().Trim());
                                    EnsureSafetyPassDate = EnsureSafetyPassDate + " " + EnsureSafetyPassTime.Hour.ToString() + ":" + EnsureSafetyPassTime.Minute.ToString();
                                }
                                cm.Parameters.AddWithValue("@EnsureSafetyPassDate", EnsureSafetyPassDate);
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@EnsureSafetyPassDate", DBNull.Value);        //
                            }

                            cm.Parameters.AddWithValue("@EnsureSafetyBy", detailsDatas[i]["EnsureSafetyBy"]);

                            if (detailsDatas[i]["EnsureSafetyBackFactorDate"] != null)
                            {
                                string EnsureSafetyBackFactorDate = "";
                                EnsureSafetyBackFactorDate = detailsDatas[i]["EnsureSafetyBackFactorDate"].ToString().Trim().Split(' ')[0];

                                if (detailsDatas[i]["EnsureSafetyBackFactorTime"] != null)
                                {
                                    DateTime EnsureSafetyBackFactorTime = DateTime.Parse(detailsDatas[i]["EnsureSafetyBackFactorTime"].ToString().Trim());
                                    EnsureSafetyBackFactorDate = EnsureSafetyBackFactorDate + " " + EnsureSafetyBackFactorTime.Hour.ToString() + ":" + EnsureSafetyBackFactorTime.Minute.ToString();
                                }

                                cm.Parameters.AddWithValue("@EnsureSafetyBackFactorDate", EnsureSafetyBackFactorDate);
                            }
                            else
                            {
                                cm.Parameters.AddWithValue("@EnsureSafetyBackFactorDate", DBNull.Value);        //
                            }

                            cm.Parameters.AddWithValue("@EnsureSafetyBackFactorBy", detailsDatas[i]["EnsureSafetyBackFactorBy"]);
                            cm.Parameters.AddWithValue("@ProxyBy", billBizStructure["ProxyBy"]);
                            cm.Parameters.AddWithValue("@UrgentTelephone", billBizStructure["UrgentTelephone"]);
                            cm.Parameters.AddWithValue("@RequestBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@RequestDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@Remark", billBizStructure["Remark"]);
                            cm.Parameters.AddWithValue("@InsertedBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@InsertedDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@UpdatedBy", billBizStructure["CreatedBy"]);
                            cm.Parameters.AddWithValue("@UpdatedDate", billBizStructure["CreatedTime"]);
                            cm.Parameters.AddWithValue("@ConfirmedFlag", billBizStructure["ConfirmedFlag"]);
                            cm.ExecuteNonQuery();
                        }
                        tran.Commit();
                    }
                    catch (System.Exception ex)
                    {
                        isSuccess = "False";
                        msg       = "处理失败:" + MyErrorMesage.GetError(ex.Message, false);
                        tran.Rollback();

                        SqlConnection cn11 = new SqlConnection(DataBase.PatData);
                        cn11.Open();
                        SqlCommand cm11 = cn11.CreateCommand();
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandTimeout = 9999999;
                        cm11.CommandType    = CommandType.Text;
                        cm11.CommandText    = string.Format(@"INSERT INTO [Jj_CY_CYDebug]
           ([CYDebugName]
           ,[CYDebugDateTime])
     VALUES
           (@CYDebugName
           ,GETDATE()) 
      ");
                        cm11.Parameters.AddWithValue("@CYDebugName", MyErrorMesage.GetError(ex.Message, false));
                        cm11.ExecuteNonQuery();
                        cn11.Close();
                        //throw ex;
                    }
                    finally
                    {
                        cn.Close();
                    }

                    string returnData = "{\"isSuccess\":\"" + isSuccess + "\",\"msg\":\"" + JsonMgr.StringToJson(msg) + "\"}";        //, isSuccess, "黎中一");

                    BizStructureSchema returnSchema = new H3.BizBus.BizStructureSchema();
                    returnSchema.Code = DateTime.Now.ToShortDateString();
                    returnSchema.Add(new H3.BizBus.ItemSchema("isSuccess", "是否成功", BizDataType.ShortString, 200, "True1"));
                    returnSchema.Add(new H3.BizBus.ItemSchema("msg", "返回信息", BizDataType.ShortString, 200, "True1"));

                    BizStructure returnBizStructure = new BizStructure(returnSchema);
                    BizStructureUtility.JsonToStructure(returnData, returnBizStructure, out errorMessage);
                    InvokeResult result = new H3.BizBus.InvokeResult(0, "服务器返回成功", returnBizStructure);
                    returnResult = BizStructureUtility.InvokeResultToJson(result);
                }
                break;

                default:
                    break;
                }
            }


            return(returnResult);
        }