SZDF:股份HR同步相关的代码

2017-11-22 17:14:46  访问(2953) 赞(0) 踩(0)

  • // eKing.SzdfLib //
    // eKing.SzdfLib.Classes.HrCallls //
    // 构建类 //
    
    using System;
    
    namespace eKing.SzdfLib.Classes.HrCallls
    {
        /// <summary>
        /// 股份HR的合同类型表
        /// </summary>
        [Serializable]
        public class GfHrContract
        {
            /// <summary>
            /// 股份HR的合同类型表
            /// </summary>
            public GfHrContract()
            {
    
            }
    
            /// <summary>
            /// 合同的Model
            /// </summary>
            public eKing.SzdfLib.Model.HR.UTB_SZDF_HR_USER_CONTRACT Model = null;
    
    
            #region RecordCount ~ 记录数
    
            /// <summary>
            /// RecordCount ~ 记录数
            /// </summary>
            protected int m_RecordCount = 0;
    
            /// <summary>
            /// RecordCount ~ 记录数
            /// </summary>
            public int RecordCount
            {
                get
                {
                    return m_RecordCount;
                }
                set
                {
                    m_RecordCount = value;
                }
            }
    
            #endregion RecordCount ~ 记录数
    
    
            /// <summary>
            /// 合同名称
            /// </summary>
            public string GfHrTheName = null;
        }
    }
    
    
  • 
    
    using System;
    using System.Collections.Generic;
    using System.Data;
    using SlowX.DAL.Helpers;
    using eKing.SzdfLib.Classes.HrCallls;
    using System.Reflection;
    
    namespace eKing.SzdfLib.Helpers
    {
    
        public partial class eKingSzdfLibHelper
        {
            // 股份HR接口的合同类型 //
    
                /// <summary>
                /// 
                /// </summary>
                /// <returns></returns>
            private string FfHrHT_DebugXML()
            {
                return @"<NewDataSet>
      <SelectDataTable />
      <SelectDataTable>
        <ht />
      </SelectDataTable>
      <SelectDataTable>
        <ht>长期合同</ht>
      </SelectDataTable>
      <SelectDataTable>
        <ht>短期合同</ht>
      </SelectDataTable>
      <SelectDataTable>
        <ht>固定期限</ht>
      </SelectDataTable>
      <SelectDataTable>
        <ht>南深公司</ht>
      </SelectDataTable>
      <SelectDataTable>
        <ht>鹏劳公司</ht>
      </SelectDataTable>
      <SelectDataTable>
        <ht>深劳公司</ht>
      </SelectDataTable>
    </NewDataSet>";
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <returns></returns>
            public DataSet GfHrHT()
            {
                if(IsLocalDebug)
                {
                    string xml = FfHrHT_DebugXML();
    
                    return StringToDataSet(xml);
                }
    
                HrICallInfo hri = HrICallInfoGet();
    
                return AdmHrICallDcData("ht", hri);
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="xdbHelper"></param>
            /// <returns></returns>
            public List<GfHrContract> GfHrContractList(DBHelper xdbHelper)
            {
                DataSet xlDataSet = GfHrHT();
    
                if (xlDataSet == null || xlDataSet.Tables.Count == 0)
                {
                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "没有获得学历的数据集合"
                        );
                }
    
                DataTable dt = xlDataSet.Tables[0];
    
                List<GfHrContract> theResult = new List<GfHrContract>();
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                       =
                       SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    List<eKing.SzdfLib.Model.HR.UTB_SZDF_HR_USER_CONTRACT>
                        theList = HrUserContract_CurModelList(false, xdbHelper);
    
    
    
                    GfHrContract item = null;
                    string strTmp = null;
                    string theName = null;
                    string strLowerTmp = null;
                    eKing.Szdf_InfoName.DataColumnNameInfo.HR.UTB_SZDF_HR_USER_ITEM
                        ni
                        =
                        eKing.Szdf_InfoName.DataColumnNameInfo.HR.UTB_SZDF_HR_USER_ITEM.GetInstance();
    
                    foreach (eKing.SzdfLib.Model.HR.UTB_SZDF_HR_USER_CONTRACT
                        model in theList)
                    {
                        item = new GfHrContract();
                        item.Model = model;
                        item.GfHrTheName = "";
                        item.RecordCount = HrUserItem_CountByDataColumnName
                            (
                                ni.Contract_Id,
                                model.ID.ToString(),
                                xdbHelper
                            );
    
                        theResult.Add(item);
    
                        theName = model.TheName.Trim().ToLower();
    
                        foreach (DataRow dr in dt.Rows)
                        {
                            strTmp = dr[0].ToString();
    
                            if (strTmp == null || strTmp.Length == 0)
                            {
                                strTmp = "其它";
                            }
                            else
                            {
                                strTmp = strTmp.Trim();
    
                                if (strTmp.Length == 0)
                                    strTmp = "其它";
                            }
    
                            if (theName == strTmp.ToLower())
                            {
                                // 找到匹配关系 //
                                item.GfHrTheName = strTmp;
                                break;
                            }
                        }
                    }
    
                    bool isFind = false;
                    // 输出未找到的记录 //
                    foreach (DataRow dr in dt.Rows)
                    {
                        strTmp = dr[0].ToString();
    
    
                        if (strTmp == null || strTmp.Length == 0)
                        {
                            strTmp = "其它";
                        }
                        else
                        {
                            strTmp = strTmp.Trim();
    
                            if (strTmp.Length == 0)
                                strTmp = "其它";
                        }
    
                        strLowerTmp = strTmp.ToLower();
                        isFind = false;
    
                        foreach (eKing.SzdfLib.Model.HR.UTB_SZDF_HR_USER_CONTRACT model in theList)
                        {
                            if (model.TheName.Trim().ToLower() == strLowerTmp)
                            {
                                isFind = true;
                                break;
                            }
                        }
    
                        if (isFind)
                            continue;
    
                        // 没有匹配的数据 //
                        item = new GfHrContract();
                        item.Model = null;
                        item.GfHrTheName = strTmp;
                        theResult.Add(item);
                    }
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                return theResult;
    
            }
    
    
        }
    }
    
    
    
  • 
    using eKing.SzdfPage.WebCtrls;
    using eKing.EkPageCreate.CtrlNames;
    using System;
    
    
    /// <summary>
    /// 合同相关在同步
    /// </summary>
    namespace eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract
    {
    
        /// <summary>
        /// <para>表名:UTB_SZDF_HR_USER_EDUCATION</para>
        /// <para>逻辑类:eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_EDUCATION</para>
        /// </summary>
        [Serializable]
        public partial class EkSzdfTable4GfHr
            :
            EkxPageTable
        {
            
            /// <summary>
            /// <para>表名:UTB_SZDF_HR_USER_EDUCATION</para>
            /// <para>逻辑类:eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_EDUCATION</para>
            /// </summary>
            public EkSzdfTable4GfHr()
            {
                // UTB_SZDF_HR_USER_EDUCATION //
                // eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_EDUCATION //
                InitClass();
            }
    
            #region 列项属性 
    
    
            #region 模板列 - 行展开
    
            /// <summary>
            /// 模板列 - 行展开
            /// </summary>
            protected EkxPageTableColumn m__RowExpand
                =
                null;
    
            /// <summary>
            /// 模板列 - 行展开
            /// </summary>
            public EkxPageTableColumn __RowExpand
            {
                get
                {
                    return m__RowExpand;
                }
            }
    
            #endregion 模板列 - 行展开
    
    
            #region 模板列 - 行数
    
            /// <summary>
            /// 模板列 - 行数
            /// </summary>
            protected EkxPageTableColumn m__RowNumber
                =
                null;
    
            /// <summary>
            /// 模板列 - 行数
            /// </summary>
            public EkxPageTableColumn __RowNumber
            {
                get
                {
                    return m__RowNumber;
                }
            }
    
            #endregion 模板列 - 行数
    
            #region 模板列 - 行数后空白
    
            /// <summary>
            /// 模板列 - 行数后空白
            /// </summary>
            protected EkxPageTableColumn m__RnBlankTextOper
                =
                null;
    
            /// <summary>
            /// 模板列 - 行数后空白
            /// </summary>
            public EkxPageTableColumn __RnBlankTextOper
            {
                get
                {
                    return m__RnBlankTextOper;
                }
            }
    
            #endregion 模板列 - 行数后空白
    
            #region 模板列 - CheckBox
    
            /// <summary>
            /// 模板列 - CheckBox 
            /// </summary>
            protected EkxPageTableColumn m__CheckBox 
                = 
                null;
    
            /// <summary>
            /// 模板列 - CheckBox 
            /// </summary>
            public EkxPageTableColumn __CheckBox
            {
                get
                {
                    return m__CheckBox;
                }
            }
    
            #endregion 模板列 - CheckBox
     
            #region 模板列 - 空白
    
            /// <summary>
            /// 模板列 - 空白
            /// </summary>
            protected EkxPageTableColumn m__BlankTextOper
                =
                null;
    
            /// <summary>
            /// 模板列 - 空白
            /// </summary>
            public EkxPageTableColumn __BlankTextOper
            {
                get
                {
                    return m__BlankTextOper;
                }
            }
    
            #endregion 模板列 - 空白
    
    
            #region ID - 学历
    
            
            /// <summary>
            /// ID - 学历
            /// </summary>
            protected EkxPageTableColumn m_ID
                =
                null;
            
            
            /// <summary>
            /// ID - 学历
            /// </summary>
            public EkxPageTableColumn _ID
            {
                get
                {
                    return m_ID;
                }
            }
    
            #endregion ID - 学历
    
            #region TheName - 名称
    
            
            /// <summary>
            /// TheName - 名称
            /// </summary>
            protected EkxPageTableColumn m_TheName
                =
                null;
            
            
            /// <summary>
            /// TheName - 名称
            /// </summary>
            public EkxPageTableColumn _TheName
            {
                get
                {
                    return m_TheName;
                }
            }
    
            #endregion TheName - 名称
    
    
            #region RecordCount - 记录数
    
    
            /// <summary>
            /// RecordCount - 记录数
            /// </summary>
            protected EkxPageTableColumn m_RecordCount
                =
                null;
    
    
            /// <summary>
            /// RecordCount - 记录数
            /// </summary>
            public EkxPageTableColumn _RecordCount
            {
                get
                {
                    return m_RecordCount;
                }
            }
    
            #endregion RecordCount - 记录数
    
            #region GfHrTheName - HR接口名称
    
    
            /// <summary>
            /// GfHrTheName - HR接口名称
            /// </summary>
            protected EkxPageTableColumn m_GfHrTheName
                =
                null;
            
            
            /// <summary>
            /// GfHrTheName - HR接口名称
            /// </summary>
            public EkxPageTableColumn _GfHrTheName
            {
                get
                {
                    return m_GfHrTheName;
                }
            }
    
            #endregion GfHrTheName - HR接口名称
    
            #region IsCall - 是否同步
    
            
            /// <summary>
            /// IsCall - 是否同步
            /// </summary>
            protected EkxPageTableColumn m_IsCall
                =
                null;
            
            
            /// <summary>
            /// IsCall - 是否同步
            /// </summary>
            public EkxPageTableColumn _IsCall
            {
                get
                {
                    return m_IsCall;
                }
            }
    
            #endregion IsCall - 是否同步
     
             
    
            #endregion 列项属性 
    
            /// <summary>
            /// 添加控件
            /// </summary>
            public void ColumnAddCreate()
            { 
                // 设定单项的列索引 //
    
                string labelName = null;
                EkxPageTableColumn ekx = null;
    
    
                TableListOperName TBN = TableListOperName.instance;
    
                #region 模板列 _RowExpand - 行展开
    
                // 模板列 - 行展开 //
                ekx = new EkxPageTableColumn(this, TBN._RowExpand, "");
                ekx.EmTableColumnTypeV = EkPageCreate.Enums.TableColumnType.EmTableColumnType.模板列;
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.模板列_行展开;
                ekx.CtrlWidth = Unit20px;
                ekx.EmTableColumnStatusV = EkPageCreate.Enums.TableColumnStatus.EmTableColumnStatus.不启用;
                m__RowExpand = ekx;
                ColumnAdd(ekx);
    
                #endregion 模板列 _RowExpand - 行展开
    
                #region 模板列 _RowNumber - 行数
    
                // 模版列 - 行数 //
                ekx = new EkxPageTableColumn(this, TBN._RowNumber, "");
                ekx.EmTableColumnTypeV = EkPageCreate.Enums.TableColumnType.EmTableColumnType.模板列;
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.模板列_行数;
                ekx.CtrlCssClass = "ek-tablelist-rownumber";
                ekx.CtrlWidth = Unit10px;
                ekx.EmTableColumnStatusV = EmTableColumnStatusV4RowNumber;
                m__RowNumber = ekx;
                ColumnAdd(ekx);
    
                #endregion 模板列 _RowNumber - 行数
    
                #region 模版列 - __RnBlankTextOper 空白
    
                // 模版列 - __RnBlankTextOper 空白 //
                ekx = new EkxPageTableColumn(this, TBN._RnBlankTextOper, "");
                ekx.EmTableColumnTypeV = EkPageCreate.Enums.TableColumnType.EmTableColumnType.模板列;
                ekx.CtrlWidth = Unit2px;
                ekx.EmTableColumnStatusV = EkPageCreate.Enums.TableColumnStatus.EmTableColumnStatus.不启用;
                m__RnBlankTextOper = ekx;
                ColumnAdd(ekx);      
    
                #endregion 模版列 - __RnBlankTextOper 空白
    
                #region 模版列 - CheckBox
    
                // 模版列 - CheckBox //
                ekx = new EkxPageTableColumn(this, TBN._CheckBox, "");
                ekx.EmTableColumnTypeV = EkPageCreate.Enums.TableColumnType.EmTableColumnType.模板列;
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.模板列_CheckBox;
                ekx.CtrlWidth = Unit10px;
                ekx.EmTableColumnStatusV = EkPageCreate.Enums.TableColumnStatus.EmTableColumnStatus.显示;
                m__CheckBox = ekx;
                ColumnAdd(ekx);
    
                #endregion 模版列 - CheckBox
    
                
                #region ID - 学历
    
               
                labelName = TBN.PKID;
                ekx = new EkxPageTableColumn(this, "ID", labelName);
    
                ekx.CtrlWidth = Unit100px;
                ekx.EmTableColumnStatusV = EkPageCreate.Enums.TableColumnStatus.EmTableColumnStatus.隐藏;
    
                m_ID = ekx; 
                ColumnAdd(ekx);
                    
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.缺省;
    
                #endregion ID - 学历
    
                #region TheName - 名称
    
                labelName = "本地名称";
                ekx = new EkxPageTableColumn(this, "TheName", labelName);
    
                ekx.CtrlCssClass = "t_l";
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.主显查看;
                ekx.CtrlWidth = Unit100px;
                
                m_TheName = ekx; 
                ColumnAdd(ekx);
                    
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.缺省;
    
                #endregion TheName - 名称
    
    
                #region RecordCount - 记录数
    
                labelName = "记录数";
                ekx = new EkxPageTableColumn(this, "RecordCount", labelName);
     
                ekx.CtrlWidth = Unit100px;
    
                m_RecordCount = ekx;
                ColumnAdd(ekx);
    
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.缺省;
    
                #endregion TheName - 名称
    
    
                #region GfHrTheName - HR接口名称
    
                labelName = "HR接口名称";
                ekx = new EkxPageTableColumn(this, "GfHrTheName", labelName);
    
                ekx.CtrlWidth = Unit100px;
                
                m_GfHrTheName = ekx; 
                ColumnAdd(ekx);
                    
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.缺省;
    
                #endregion GfHrTheName - HR接口名称
    
                #region IsCall - 是否同步
    
    
                labelName = "是否同步";
                ekx = new EkxPageTableColumn(this, "IsCall", labelName);
    
                ekx.CtrlWidth = Unit100px;
                
                m_IsCall = ekx; 
                ColumnAdd(ekx);
                    
                ekx.EmShowLogicV = EkPageCreate.Enums.ShowLogic.EmShowLogic.缺省; 
                        
                #endregion IsCall - 是否同步
    
                #region 模版列 - _BlankTextOper 空白 
    
                // 模版列 - _BlankTextOper 空白 //
                ekx = new EkxPageTableColumn(this, TBN._BlankTextOper, "");
                ekx.EmTableColumnTypeV = EkPageCreate.Enums.TableColumnType.EmTableColumnType.模板列;
                ekx.CtrlWidth = Unit15px;
    
                m__BlankTextOper = ekx;
                ColumnAdd(ekx);    
    
                #endregion 模版列 - _BlankTextOper 空白     
            }
    
            /// <summary>
            /// 初始化控件
            /// </summary>
            public void InitClass()
            {
                // 创建元素 //
                ColumnAddCreate();
    
                // 初始化控件后的逻辑 //
                InitClassAfter();
    
                // 重设列索引 //
                TableIndexReset();
            }
    
    
        }
    }
    
    
    
  • 
            /// <summary>
            /// 股份HR接口同步的数据表
            /// </summary>
            protected EkSzdfTable4GfHr m_Table4GfHr = null;
    
            /// <summary>
            /// 股份HR接口同步的数据表
            /// </summary>
            public EkSzdfTable4GfHr Table4GfHr
            {
                get
                {
                    return m_Table4GfHr;
                }
            }
    
    
            /// <summary>
            /// 重写扩展逻辑
            /// </summary>
            public override void InitClassAfter()
            {
                base.InitClassAfter();
    
    
                m_Table4GfHr = new EkSzdfTable4GfHr();
                m_Table4GfHr.PkId = "Table4GfHr";
                m_TableList.Add(m_Table4GfHr);
            }
    
    
  •           
            function JsOnBtnHrCallClick()
            {
                // HR接口同步 //
                window.location.href = "HrCall";
            }
    
            @if (ZRP != null && ZRP.AllowAdd())
            {
                <button class="a_btn m_r10" id="btn_HrCall" title="" onclick="JsOnBtnHrCallClick()">接口同步</button>
            }
    
    
  •  
    @{
        // 接口同步的代码 //
        // TableName: UTB_SZDF_HR_USER_EDUCATION 
        // TableComment: 学历 
        // ClassName: eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_EDUCATION
        eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserEducation.EkSzdfPage eKp
            =
            eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserEducation.EkSzdfPage.instance;
    
        // 全局的命名 //
        eKing.SzdfPage.Names.GlobalName gN
           =
           eKing.SzdfPage.Names.GlobalName.instance;
    
        // 获得用户权限 //
        eKing.SzdfPage.Classes.Powers.ZnbmRolePower
            ZRP
            =
            ViewData[gN.EkRolePower] as eKing.SzdfPage.Classes.Powers.ZnbmRolePower;
    
    
        // 记忆功能 //
        eKing.SzdfLib.Classes.Items.ListPageCmMemoryItem LPCM
            =
            ViewData[gN.EkMemory] as eKing.SzdfLib.Classes.Items.ListPageCmMemoryItem;
    
        if (LPCM == null)
        {
            LPCM = eKing.SzdfLib.Classes.Items.ListPageCmMemoryItem.instance;
        }
    
        ViewBag.Title = eKp.GetPageTitle();
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    @section css{
        <!-- 职能部门的相关css -->
        <link href="~/Content/css/znbm.css" rel="stylesheet" />
        <!-- 职能部门的相关css END -->
     
        <!-- 多选效果 -->
        <link href="~/Content/js/sumoselect/sumoselect.css" rel="stylesheet" />
        <!-- 多选效果 END -->
    
        <!-- 自动完成 -->
        <link href="~/Content/css/ZNBM/jquery.autocompleter.css" rel="stylesheet" />
        <!-- 自动完成 END -->
    
        <!-- ZTree 效果 -->
        <link href="~/Content/js/Tree/zTreeStyle/select_menu.css" rel="stylesheet" />
        <link href="~/Content/js/Tree/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
        <!-- ZTree 效果 END -->
    
        @Html.Raw(eKp.PrintSectionCss())
    }
    
    @section Javascript{
     
        <!-- 多选效果的JS -->
        <script src="~/Content/js/sumoselect/jquery.sumoselect.js"></script>
        <!-- 多选效果的JS END -->
     
    
        <!-- 页面的逻辑属性 -->
        <script type="text/javascript" src="~/Content/js/ZNBM/znbm.pageinfo.js"></script>
        <!-- 我需要的公共方法 -->
        <script type="text/javascript" src="~/Content/js/ZNBM/znbm.ek.js"></script>
        <!-- JS 相关校验使用 -->
        <script type="text/javascript" src="~/Content/js/ZNBM/znbm.ekcheck.js"></script>
     
        <!-- 自动完成 -->
        <script type="text/javascript" src="~/Content/js/ZNBM/jquery.autocompleter.js"></script>
        <!-- 自动完成 END -->
     
        <!-- JS ZTree(树相关的JS) -->
        <script type="text/javascript" src="~/Content/js/Tree/jquery.ztree.core.min.js"></script>
        <script type="text/javascript" src="~/Content/js/Tree/jquery.ztree.excheck.min.js"></script>
        <!-- JS ZTree(树相关的JS) END -->
     
        @Html.Raw(eKp.PrintSectionJavaScript())
    
        <script type="text/javascript">
            GlobalPhyPath = "@Html.Raw(eKp.GetPhyPath())";
            // 路由根地址 //
            var SubWebDir = "ZnbmHr/HrUserContract/";
            // 默认构建EPI //
            var EPI = ZnbmPageInfoDefaultCreate(SubWebDir);
            // 网页标题 //
            EPI.PageTitle = "@Html.Raw(eKp.PageTitle)";
    
            EPI.IsLoadTableList = true;
            EPI.TableId = "Table4GfHr";
            EPI.TableListUrl = SubWebDir + "Table4GfHrList";
            EPI.IsOverrideAjaxSearchData = false;
            EPI.PageSize = 9999999;
    
            function BuildHTML(rData) {
                // 绘制HTML表格 //
                var html = "";
    
                var rowA = rData.rows;
    
                if(rowA == null || rowA == undefined)
                    return;
    
                var rowLen = rowA.length;
                var i = 0;
                var v = null;
    
                // 控件列显示的数组 //
                var styleDisplayArray = EkGetTableTdStyleDisplayArray(EPI.TableId);
                var styleDiplayV = null;
                var colIndex = -1;
    
                for(i = 0; i < rowLen; ++i)
                {
                    v = rowA[i];
                    colIndex = -1;
    
                    @Html.Raw(eKp.Table4GfHr.PrintJsByPower(ZRP))
                }
    
                return html;
            }
    
            seajs.use("@Html.Raw(eKp.GetPhyPath())/Content/js/ZNBM/index.sea");
    
            // 全部同步 //
            function JsOnHrCallAll() {
                var ajxData = [];
    
                var bFlag = confirm("确定要同步全部记录么?");
    
                if (!bFlag) {
                    return;
                }
    
                // 获得Ajax的Url地址 //
                var ajaxUrl = "HrCallSaveAll";
    
                $.ajax({
                    cache: false,
                    async: true,
                    url: ajaxUrl,
                    type: "post",
                    data: ajxData,
                    success: function (rData) {
    
                        if (rData == null)
                            return;
    
                        alert(rData.Msg);
    
    
                        // 删除成功 //
                        if (rData.IsSucc) {
                            window.location.href = window.location.href;
                        }
                    }
                });
            }
    
            // 同步选中的 //
            function JsOnHrCallSelected() {
                // 获得选中的 //
                var ajxData = EkGetCheckBoxSelectedValue(EPI.TableId);
    
                if (ajxData == null)
                    return;
    
                var iLen = ajxData.length;
                if (iLen == 0) {
                    alert("请选择要同步的记录");
                    return;
                }
    
                var bFlag = confirm("确定要同步选中的" + iLen + "条记录么?");
    
                if (!bFlag) {
                    return;
                }
    
                // 获得Ajax的Url地址 //
                var ajaxUrl = "HrCallSaveSelected";
    
                $.ajax({
                    cache: false,
                    async: true,
                    url: ajaxUrl,
                    type: "post",
                    data: ajxData,
                    success: function (rData) {
    
                        if (rData == null)
                            return;
    
                        alert(rData.Msg);
    
    
                        // 删除成功 //
                        if (rData.IsSucc) {
                            window.location.href = window.location.href;
                        }
                    }
                });
            }
    
            // 合并选中项 //
            function JsOnHrCallMerge() {
                // 获得选中的 //
                var ajxData = EkGetCheckBoxSelectedValue(EPI.TableId);
    
                if (ajxData == null)
                    return;
    
                var iLen = ajxData.length;
                if (iLen == 0) {
                    alert("请选择要合并的记录");
                    return;
                }
    
                var bFlag = confirm("确定要合并选中的" + iLen + "条记录么?");
    
                if (!bFlag) {
                    return;
                }
    
                // 获得Ajax的Url地址 //
                var ajaxUrl = "HrCallMerge";
    
                $.ajax({
                    cache: false,
                    async: true,
                    url: ajaxUrl,
                    type: "post",
                    data: ajxData,
                    success: function (rData) {
    
                        if (rData == null)
                            return;
    
                        alert(rData.Msg);
    
                        
                        // 删除成功 //
                        if (rData.IsSucc) {
                            window.location.href = window.location.href;
                        }
                    }
                });
            }
    
    
            // 清空多余的无效数据 //
            function JsOnHrCallClear() {
                 
                var ajxData = [];
    
      
                var bFlag = confirm("确定清空多余无效的数据么?");
    
                if (!bFlag) {
                    return;
                }
    
                // 获得Ajax的Url地址 //
                var ajaxUrl = "HrCallClear";
    
                $.ajax({
                    cache: false,
                    async: true,
                    url: ajaxUrl,
                    type: "post",
                    data: ajxData,
                    success: function (rData) {
    
                        if (rData == null)
                            return;
    
                        alert(rData.Msg);
    
    
                        // 删除成功 //
                        if (rData.IsSucc) {
                            window.location.href = window.location.href;
                        }
                    }
                });
            }
    
    
        </script>
    }
    
    <div class="p_bar">
        <span class="f_r">
            <button class="a_btn m_r10" id="btn_HrCallAll" title="" onclick="JsOnHrCallAll()">全部同步</button>
            <button class="a_btn m_r10" id="btn_HrCallSelected" title="" onclick="JsOnHrCallSelected()">同步选中的</button>
            <button class="a_btn m_r10" id="btn_HrCallMerge" title="" onclick="JsOnHrCallMerge()">合并选中项</button>
            <button class="ekdel_btn m_r10" id="btn_HrCallClear" title="" onclick="JsOnHrCallClear()">清空多余的无效数据</button>
            <button class="a_btn m_r10" id="back_btn" onclick="EkGoPage('Index');">返回列表</button>
            @Html.Raw(@eKp.PrintDevDebug())
        </span><span class="position_txt">
            <i></i>
            @Html.Raw(@eKp.PrintPageTitle("合同类别同步"))
        </span>
    </div>
    
    <!-- 搜索区域 -->
    
    <div class="select_search_box" id="div_search">
    	<table>
    	    <tr class="search_tr_class">
    	        <td>&nbsp;
                @Html.Raw(@eKp.SearchForm.v_TheName.PrintSearchLabel())
                @Html.Raw(@eKp.SearchForm.v_TheName.PrintHTML())&nbsp;
    	            <button class="a_btn" id="search_btn">搜索</button>
                </td>
    	    </tr>
    	</table>
    </div>	
    
    <!-- 搜索区域End -->
    
    <div class="clearfix">
        <!-- 绘制表头 -->
        <div class="thead_fix">
            @Html.Raw(@eKp.Table4GfHr.PrintHtmlByPower(ZRP))
        </div>
        <!-- 表格内容 -->
        <div class="table_box over_scroll" id="tb">
            <div class="tb_con" id="tb_con">
                <table class="table_list" id="tb_main">
                    <tbody></tbody>
                </table>
            </div>
        </div>
        <!-- 页码 -->
        <div class="p_paciton">
            <div class="f_l p_t5"><span id="page_tip"></span></div>
            <div class="page">数据加载中……</div>
        </div>
    </div>  
    
  • 
    using System;
    using System.Web.Mvc;
    using eKingWGSS.Entity.Constant;
    using System.Collections.Generic;
    using SlowX.DAL.Helpers;
    using eKing.EkPageCreate.WebCtrls;
    using eKing.EkPageCreate.Items;
    using SlowX.Core.ICoreClasses;
    using eKing.EkPageCreate.Infos.HttpActions;
    using System.Text;
    using eKing.SzdfLib.Classes.HrCallls;
    using Website.Management.Filter;
    using eKing.ZnbmSessionInfo.Classes;
    
    /// <summary>
    /// <para>表名:UTB_SZDF_HR_USER_CONTRACT</para>
    /// <para>注释:合同</para>
    /// <para>逻辑类:eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT</para>
    /// </summary>
    /// 提示:
    /// 1、由代码生成工具创建生成
    /// 2、系统升级不建议重新刷新该代码,自定义的扩展代码建议写在这里
    
    namespace eKingWGSS.Website.Management.Areas.ZnbmHr.Controllers
    {
    
        /// <summary>
        /// <para>表名:UTB_SZDF_HR_USER_CONTRACT</para>
        /// <para>注释:合同</para>
        /// <para>逻辑类:eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT</para>
        /// </summary>
        /// 提示:
        /// 1、由代码生成工具创建生成
        /// 2、系统升级不建议重新刷新该代码,自定义的扩展代码建议写在这里
    
        public partial class HrUserContractController 
        {
    
            #region 列表绑定
    
    
            /// <summary>
            /// 列表绑定
            /// </summary>
            /// <param name="hai"></param>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns>BootstrapTableDataContainer的Json格式数据</returns>
            protected string FnGridBindList4GfHr
                (
                    HttpActionInfo hai,
                    DBHelper xdbHelper
                )
            {
                BootstrapTableDataContainer pgc
                           =
                           null;
                try
                {
                    pgc =
                        BootstrapTableDataContainerCreate4GfHr
                        (
                            eKing.EkPageCreate.Enums.DataListAction.
                            EmDataListAction.列表,
                            hai,
                            xdbHelper
                        );
                }
                catch (Exception err)
                {
                    pgc = new BootstrapTableDataContainer();
                    pgc.ToError("系统异常:" + err.Message);
                }
    
                return pgc.ToJson();
    
            }
    
            /// <summary>
            /// 获得数据
            /// </summary>
            /// <param name="emCDSA">数据类型:列表/导出</param>
            /// <param name="hai">URL的参数</param>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected BootstrapTableDataContainer BootstrapTableDataContainerCreate4GfHr
                (
                    eKing.EkPageCreate.Enums.DataListAction.EmDataListAction emCDSA,
                    HttpActionInfo hai,
                    DBHelper xdbHelper
                )
            {
                // 获得页面的属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage eKp
                    =
                    eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage.instance;
    
                // 表格属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfTable4GfHr
                    eKt
                    =
                    eKp.Table4GfHr;
    
                // 搜索表单属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfSearchForm
                    eKs
                    =
                    eKp.SearchForm;
    
    
                // 获得搜索条件 //
                List<EkxInputCtrl> searchList
                    =
                    eKs.CtrlListGet();
    
                // 结果数据集合容器 //
                BootstrapTableDataContainer theResult = null;
    
                // 页索引 //
                int pageIndex = 0;
    
                // 逻辑方法 //
                eKing.SzdfPage.Helpers.eKingSzdfPageHelper
                    wh
                    =
                    eKing.SzdfPage.Helpers.eKingSzdfPageHelper.ekInstance;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    List<GfHrContract> theList 
                        =
                        wh.GfHrContractList(xdbHelper);
    
    
                    // 将结果装入二维数组 //
                    List<List<TableCellItem>>
                        dataList
                        =
                        new List<List<TableCellItem>>();
    
                    List<TableCellItem> dataItem = null;
                    TableCellItem tcItem = null;
    
                    List<EkxTableColumn> ekxList = eKt.ColumnListGet();
                    string strLowerName = null;
                    string tableId = eKt.PrintClientId();
    
                    int rowIdx = 0;
    
                    string strId = null;
    
                    foreach (GfHrContract item in theList)
                    {
                        ++rowIdx;
                        dataItem = new List<TableCellItem>();
                        dataList.Add(dataItem);
    
                        if (item.Model == null)
                            strId = "0#" + item.GfHrTheName;
                        else
                            strId = item.Model.ID.ToString() + "#" + item.GfHrTheName;
    
                        foreach (EkxTableColumn ekxc in ekxList)
                        {
                            if (ekxc.EmTableColumnStatusV
                                ==
                                eKing.EkPageCreate.Enums.TableColumnStatus.EmTableColumnStatus.不启用)
                                continue;
    
                            if (ekxc.Name == null)
                                continue;
    
    
    
                            strLowerName = ekxc.Name.Trim().ToLower();
    
                            tcItem = new TableCellItem();
                            tcItem.TheName = ekxc.Name;
    
                            dataItem.Add(tcItem);
    
                            if (ekxc == eKt._ID)
                            {
                                tcItem.TheText = strId;
                            }
                            else if (ekxc == eKt._IsCall)
                            {
                                if (item.GfHrTheName == null || item.GfHrTheName.Length == 0)
                                {
                                    tcItem.TheText = "本地多余";
                                    tcItem.ForeColor = System.Drawing.Color.Red;
                                }
                                else if (item.Model == null)
                                {
                                    tcItem.TheText = "未同步";
                                    tcItem.ForeColor = System.Drawing.Color.Red;
                                }
                                else
                                {
                                    tcItem.TheText = "已同步";
                                }
                            }
                            else if (ekxc == eKt._RecordCount)
                            {
                                tcItem.TheText = item.RecordCount.ToString();
                            }
                            else if (ekxc == eKt._TheName)
                            {
                                if (item.Model == null)
                                    tcItem.TheText = "";
                                else
                                    tcItem.TheText = item.Model.TheName;
                            }
                            else if (ekxc == eKt._GfHrTheName)
                            {
                                if (item.GfHrTheName == null)
                                    tcItem.TheText = "";
                                else
                                    tcItem.TheText = item.GfHrTheName;
                            }
                            else if (ekxc == eKt.__BlankTextOper)
                            {
                                tcItem.TheText = "&nbsp;";
                            }
                            else if (ekxc == eKt.__CheckBox)
                            {
                                tcItem.TheText = "<input id=\"" + tableId + "__" + rowIdx.ToString() + "\" name=\"" + tableId + "__" + rowIdx.ToString() + "\" type=\"checkbox\" value=\"" + wh.StringConvertQuot(strId) + "\" tablename=\"" + tableId + "\" />";
                            }
                        }
                    }
    
    
                    theResult = new BootstrapTableDataContainer();
    
                    // 设置页尾的提示 //
                    // theResult.PageTip = "测试";
                    theResult.Total = theList.Count;
                    theResult.PageIndex = pageIndex;
                    theResult.DataList = dataList;
    
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                return theResult;
            }
    
            /// <summary>
            /// 查询
            /// </summary>
            /// <returns>结果</returns>
            public ActionResult Table4GfHrList()
            {
                HttpActionInfo hai
                    =
                    HttpActionInfo.Create();
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
    
                // {"pageindex":1, "total":8, "pagetip":"", "rows":[--记录数--]} //
                theResult.Content = FnGridBindList4GfHr(hai, null);
    
                return theResult;
    
            }
    
            #endregion 列表绑定
    
            /// <summary>
            /// 加载
            /// </summary>
            /// <returns></returns>
            [EasyWorkActionFilter]
            public ActionResult HrCall()
            {
                // 设置权限/记忆功能的配置 //
                SetIndexActionResult(null);
    
                return View();
            }
    
    
            #region 合并选中的记录
    
    
    
            /// <summary>
            /// 删除选中的操作
            /// </summary>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected OperResult HrCallMergeOper(DBHelper xdbHelper)
    
            {
                // 用户权限 //
                SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName
                    emWgssPowerNameV
                    =
                    SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName.编辑;
    
                if (!ZnbmCheckPower(emWgssPowerNameV, xdbHelper))
                {
                    return OperResult.ToError("没有操作权限");
                }
    
    
                // 获得页面的属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage eKp
                    =
                    eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage.instance;
    
                // 表格属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfTable4GfHr
                    eKt
                    =
                    eKp.Table4GfHr;
    
    
                // 逻辑方法 //
                eKing.SzdfPage.Helpers.eKingSzdfPageHelper
                    wh
                    =
                    eKing.SzdfPage.Helpers.eKingSzdfPageHelper.ekInstance;
    
    
                // 获得关键字的拼串 //
                List<string> pkList
                    =
                    wh.ToPkList4Oper(Request, eKt.PkId);
    
                if (pkList == null || pkList.Count == 0)
                {
                    return OperResult.ToError("没有获得关键字");
                }
    
                int iCount = pkList.Count;
    
                if (iCount < 2)
                {
                    return OperResult.ToError("请选择要合并的2项");
                }
    
                if (iCount > 2)
                {
                    return OperResult.ToError("选项过多,请选择2项做合并");
                }
    
                string strOne = pkList[0];
                string strTwo = pkList[1];
    
                string updateId = null;
                string updateName = null;
    
                int idx = strOne.IndexOf('#');
    
                if (idx == -1)
                {
                    return OperResult.ToError("选择的数据有误");
                }
    
                string strOneLeft = strOne.Substring(0, idx);
                string strOneRight = strOne.Substring(idx + 1);
    
                if (strOneLeft == "0")
                {
                    if (strOneRight.Length == 0)
                    {
                        return OperResult.ToError("数据有误");
                    }
                }
                else
                {
                    if (strOneRight.Length > 0)
                    {
                        return OperResult.ToError("选中的记录已经是同步,不能做合并操作");
                    }
                }
    
                idx = strTwo.IndexOf('#');
    
                if (idx == -1)
                {
                    return OperResult.ToError("选择的数据有误");
                }
    
    
                string strTwoLeft = strTwo.Substring(0, idx);
                string strTwoRight = strTwo.Substring(idx + 1);
    
    
                if (strTwoLeft == "0")
                {
                    if (strTwoRight.Length == 0)
                    {
                        return OperResult.ToError("数据有误");
                    }
                }
                else
                {
                    if (strTwoRight.Length > 0)
                    {
                        return OperResult.ToError("选中的记录已经是同步,不能做合并操作");
                    }
                }
    
                if (strTwoLeft == "0" && strOneLeft == "0")
                {
                    return OperResult.ToError("选择的数据都是未同步的数据,不能做合并操作");
                }
    
                if (strTwoLeft != "0" && strOneLeft != "0")
                {
                    return OperResult.ToError("选择的数据都是已同步的数据,不能做合并操作");
                }
    
                if (strOneLeft == "0" && strTwoLeft != "0")
                {
                    updateId = strTwoLeft;
                    updateName = strOneRight;
                }
                else if (strTwoLeft == "0" && strOneLeft != "0")
                {
                    updateId = strOneLeft;
                    updateName = strTwoRight;
                }
                else
                {
                    return OperResult.ToError("选择的数据逻辑有误,不能做合并操作");
                }
    
                if (updateId == "0" || updateId == null || updateId.Length == 0)
                {
                    return OperResult.ToError("选择的数据逻辑有误,不能做合并操作");
                }
    
                if (updateName == null || updateName.Length == 0)
                {
                    return OperResult.ToError("选择的数据逻辑有误,不能做合并操作");
                }
    
                int updateResult = 0;
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT
                        bll
                        =
                        eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT.GetInstance();
    
                    eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT
                        entity
                        =
                        new eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT();
    
                    IQueryDriver iq = entity;
                    ISaveDriver isave = entity;
    
                    iq.WhereAddStr(entity._ID, updateId);
                    isave.AddISaveItem(entity._TheName, updateName);
    
                    updateResult = bll.Update(entity, xdbHelper);
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                if (updateResult == 1)
                {
                    return OperResult.OperSucc();
                }
                else
                {
                    return OperResult.ToError("没有有效的合并数据");
                }
            }
    
    
            /// <summary>
            /// 合并选中的记录
            /// </summary>
            /// <returns>OperResult[IsSucc:是否成功;Msg:结果提示]</returns>
            public ActionResult HrCallMerge()
            {
                OperResult op = null;
    
                try
                {
                    op = HrCallMergeOper(null);
                }
                catch (Exception err)
                {
                    op = OperResult.ToError("发生异常:" + err.Message);
                    BaseWriteException(err);
                }
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
                theResult.Content = op.ToJson();
    
                return theResult;
            }
    
            #endregion 合并选中的
    
            #region 同步选中的记录
    
    
    
            /// <summary>
            /// 同步选中的操作
            /// </summary>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected OperResult HrCallSaveSelectedOper(DBHelper xdbHelper)
    
            {
                // 用户权限 //
                SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName
                    emWgssPowerNameV
                    =
                    SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName.编辑;
    
                if (!ZnbmCheckPower(emWgssPowerNameV, xdbHelper))
                {
                    return OperResult.ToError("没有操作权限");
                }
    
    
                // 获得页面的属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage eKp
                    =
                    eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage.instance;
    
                // 表格属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfTable4GfHr
                    eKt
                    =
                    eKp.Table4GfHr;
    
    
                // 逻辑方法 //
                eKing.SzdfPage.Helpers.eKingSzdfPageHelper
                    wh
                    =
                    eKing.SzdfPage.Helpers.eKingSzdfPageHelper.ekInstance;
    
                // 获得关键字的拼串 //
                List<string> pkList
                    =
                    wh.ToPkList4Oper(Request, eKt.PkId);
    
                if (pkList == null || pkList.Count == 0)
                {
                    return OperResult.ToError("没有获得要同步的数据");
                }
    
                List<string> updateList = new List<string>();
    
                string strTmp = null;
    
                foreach (string s in pkList)
                {
                    if (s == null)
                        continue;
    
                    strTmp = s.Trim();
    
                    if (strTmp.Length == 0)
                        continue;
    
                    if (!strTmp.StartsWith("0#"))
                        continue;
    
                    strTmp = strTmp.Substring(2);
    
                    if (strTmp.Length == 0)
                        continue;
    
                    updateList.Add(strTmp);
                }
    
                int iCount = updateList.Count;
    
                if (iCount == 0)
                {
                    return OperResult.ToError("请选择有效的需要同步的记录");
                }
    
                int insertCount = 0;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT
                        bll
                        =
                        eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT.GetInstance();
    
                    eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT
                        entity
                        =
                        new eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT();
    
                    IQueryDriver iq = entity;
                    ISaveDriver isave = entity;
                    bool isExist = false;
                    long newId = 0;
                    PageUserSession pu = GetUserSession(xdbHelper);
    
                    string strUserId = "debug";
                    if (pu != null)
                        strUserId = pu.UserId;
    
                    if (strUserId == null || strUserId.Length == 0)
                        strUserId = "debug";
    
                    DateTime dtNow = bll.GetNow(xdbHelper);
    
                    foreach (string s in updateList)
                    {
                        if (s == null)
                            continue;
    
                        strTmp = s.Trim();
    
                        iq.ClearAllIQueryItem();
                        isave.ClearAllISaveItem();
    
                        iq.WhereAddStr(entity._TheName,
                            SlowX.DAL.Enums.SqlStrExprss.EmSqlStrExprss.Equal,
                            true,
                            strTmp.ToLower());
    
                        // 记录已存在 //
                        isExist = bll.IsExist(entity, xdbHelper);
    
                        if (isExist)
                            continue;
    
                        newId = bll.GetNewLongID(xdbHelper);
                        isave.AddISaveItem(entity._ID, newId);
                        isave.AddISaveItem(entity._TheName, strTmp);
                        isave.AddISaveItem(entity._TheCode, strTmp); 
                        isave.AddISaveItem(entity._ShowSeq, newId);
                        isave.AddISaveItem(entity._InputUserId, strUserId);
                        isave.AddISaveItem(entity._CreateTime, dtNow);
                        isave.AddISaveItem(entity._LastUpdateUserId, strUserId);
                        isave.AddISaveItem(entity._UpdateTime, dtNow);
    
                        bll.Insert(entity, xdbHelper);
    
                        ++insertCount;
                    }
    
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                if (insertCount > 0)
                {
                    return OperResult.OperSucc();
                }
                else
                {
                    return OperResult.ToError("没有有效的同步数据");
                }
            }
    
    
            /// <summary>
            /// 合并选中的记录
            /// </summary>
            /// <returns>OperResult[IsSucc:是否成功;Msg:结果提示]</returns>
            public ActionResult HrCallSaveSelected()
            {
                OperResult op = null;
    
                try
                {
                    op = HrCallSaveSelectedOper(null);
                }
                catch (Exception err)
                {
                    op = OperResult.ToError("发生异常:" + err.Message);
                    BaseWriteException(err);
                }
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
                theResult.Content = op.ToJson();
    
                return theResult;
            }
    
            #endregion 同步选中的记录
    
    
            #region 同步全部的操作
    
    
    
            /// <summary>
            /// 同步全部的操作
            /// </summary>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected OperResult HrCallSaveAllOper(DBHelper xdbHelper)
    
            {
                // 用户权限 //
                SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName
                    emWgssPowerNameV
                    =
                    SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName.编辑;
    
                if (!ZnbmCheckPower(emWgssPowerNameV, xdbHelper))
                {
                    return OperResult.ToError("没有操作权限");
                }
    
    
                // 获得页面的属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage eKp
                    =
                    eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage.instance;
    
                // 表格属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfTable4GfHr
                    eKt
                    =
                    eKp.Table4GfHr;
    
    
                // 逻辑方法 //
                eKing.SzdfPage.Helpers.eKingSzdfPageHelper
                    wh
                    =
                    eKing.SzdfPage.Helpers.eKingSzdfPageHelper.ekInstance;
    
    
                int insertCount = 0;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    List<GfHrContract> theList = wh.GfHrContractList(xdbHelper);
    
                    eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT
                        bll
                        =
                        eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT.GetInstance();
    
                    eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT
                        entity
                        =
                        new eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT();
    
                    IQueryDriver iq = entity;
                    ISaveDriver isave = entity;
                    bool isExist = false;
                    long newId = 0;
                    PageUserSession pu = GetUserSession(xdbHelper);
    
                    string strUserId = "debug";
                    if (pu != null)
                        strUserId = pu.UserId;
    
                    if (strUserId == null || strUserId.Length == 0)
                        strUserId = "debug";
    
                    string strTmp = null;
                    string theGuid = null;
                    DateTime dtNow = bll.GetNow(xdbHelper);
    
                    foreach (GfHrContract item in theList)
                    {
                        if (item.Model != null)
                            continue;
    
                        strTmp = item.GfHrTheName;
    
                        iq.ClearAllIQueryItem();
                        isave.ClearAllISaveItem();
    
                        iq.WhereAddStr(entity._TheName,
                            SlowX.DAL.Enums.SqlStrExprss.EmSqlStrExprss.Equal,
                            true,
                            strTmp.ToLower());
    
                        // 记录已存在 //
                        isExist = bll.IsExist(entity, xdbHelper);
    
                        if (isExist)
                            continue;
    
                        theGuid = System.Guid.NewGuid().ToString();
    
                        newId = bll.GetNewLongID(xdbHelper);
                        isave.AddISaveItem(entity._ID, newId);
                        isave.AddISaveItem(entity._TheName, strTmp);
                        isave.AddISaveItem(entity._TheCode, theGuid); 
                        isave.AddISaveItem(entity._ShowSeq, newId);
                        isave.AddISaveItem(entity._InputUserId, strUserId);
                        isave.AddISaveItem(entity._CreateTime, dtNow);
                        isave.AddISaveItem(entity._LastUpdateUserId, strUserId);
                        isave.AddISaveItem(entity._UpdateTime, dtNow);
    
                        bll.Insert(entity, xdbHelper);
    
                        ++insertCount;
                    }
    
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                if (insertCount > 0)
                {
                    return OperResult.OperSucc();
                }
                else
                {
                    return OperResult.ToError("没有有效的同步数据");
                }
            }
    
    
            /// <summary>
            /// 同步全部的操作
            /// </summary>
            /// <returns>OperResult[IsSucc:是否成功;Msg:结果提示]</returns>
            public ActionResult HrCallSaveAll()
            {
                OperResult op = null;
    
                try
                {
                    op = HrCallSaveAllOper(null);
                }
                catch (Exception err)
                {
                    op = OperResult.ToError("发生异常:" + err.Message);
                    BaseWriteException(err);
                }
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
                theResult.Content = op.ToJson();
    
                return theResult;
            }
    
            #endregion 同步全部的操作
    
    
            #region 同步全部的操作
    
    
    
            /// <summary>
            /// 同步全部的操作
            /// </summary>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected OperResult HrCallClearOper(DBHelper xdbHelper)
    
            {
                // 用户权限 //
                SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName
                    emWgssPowerNameV
                    =
                    SlowX.UserLib.Enums.WgssPowerName.EmWgssPowerName.删除;
    
                if (!ZnbmCheckPower(emWgssPowerNameV, xdbHelper))
                {
                    return OperResult.ToError("没有操作权限");
                }
    
    
                // 获得页面的属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage eKp
                    =
                    eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfPage.instance;
    
                // 表格属性 //
                eKing.SzdfPage.Areas.ZnbmHr.HR.HrUserContract.EkSzdfTable4GfHr
                    eKt
                    =
                    eKp.Table4GfHr;
    
    
                // 逻辑方法 //
                eKing.SzdfPage.Helpers.eKingSzdfPageHelper
                    wh
                    =
                    eKing.SzdfPage.Helpers.eKingSzdfPageHelper.ekInstance;
    
    
                int insertCount = 0;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    List<GfHrContract> theList = wh.GfHrContractList(xdbHelper);
    
                    eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT
                        bll
                        =
                        eKing.SzdfLib.Business.HR.UTB_SZDF_HR_USER_CONTRACT.GetInstance();
    
                    eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT
                        entity
                        =
                        new eKing.SzdfLib.Entity.HR.UTB_SZDF_HR_USER_CONTRACT();
    
                    IQueryDriver iq = entity;
    
                    foreach (GfHrContract item in theList)
                    {
                        // 有记录的数据 //
                        if (item.RecordCount > 0)
                            continue;
    
                        // 没有同步的数据 //
                        if (item.Model == null)
                            continue;
    
                        // 有同步的数据 //
                        if (item.GfHrTheName != null && item.GfHrTheName.Length > 0)
                            continue;
    
                        iq.ClearAllIQueryItem();
                        iq.WhereAddLong(entity._ID, item.Model.ID);
    
                        bll.Delete(entity, xdbHelper);
    
                        ++insertCount;
                    }
    
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                if (insertCount > 0)
                {
                    return OperResult.OperSucc();
                }
                else
                {
                    return OperResult.ToError("没有需要删除的数据");
                }
            }
    
    
            /// <summary>
            /// 同步全部的操作
            /// </summary>
            /// <returns>OperResult[IsSucc:是否成功;Msg:结果提示]</returns>
            public ActionResult HrCallClear()
            {
                OperResult op = null;
    
                try
                {
                    op = HrCallClearOper(null);
                }
                catch (Exception err)
                {
                    op = OperResult.ToError("发生异常:" + err.Message);
                    BaseWriteException(err);
                }
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
                theResult.Content = op.ToJson();
    
                return theResult;
            }
    
            #endregion 同步全部的操作
    
        }
    }
    
     
    
    
    

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)