WebAPI/DLL/ClsGy_Material_Ctl.cs
@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Reflection;
using System.Linq;
namespace WebAPI.DLL
{
@@ -246,6 +248,60 @@
                throw (e);
            }
        }
        /// <summary>
        /// 根据字段值动态更新数据库
        /// </summary>
        /// <param name="sItemID"></param>
        /// <returns></returns>
        public bool ModifyByIDDynamic(Int64 sItemID)
        {
            var sql = "Update " + MvarItemKey + " set ";
            string[] excludeNames = { "HErpclsID", "HEntryID", "HInterID", "HReadonly", "HItemID", "HModifyEmp"};
            foreach (var fInfo in oModel.GetType().GetFields()
                .Where(field => !excludeNames.Contains(field.Name))
                .ToArray())
            {
                string fieldName = fInfo.Name;
                var fieldValue = fInfo.GetValue(oModel);
                if (fieldValue != null)
                {
                    sql += (fieldName + "='" + fieldValue.ToString() + "',");
                }
            }
            sql = sql.Substring(0, sql.Length - 1);
            sql+= (" Where HItemID = " + sItemID);
            LogService.Write(sql);
            oCn.BeginTran();
            oCn.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
            //修改子项目代码
            oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
            //将上级 为非末级
            oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
            //
            oCn.Commit();
            return true;
        }
        public bool ModifyByIDListDynamic(string HItemID_List, string paramStr)
        {
            var sql = "Update " + MvarItemKey + " set ";
            sql += paramStr;
            sql += (" Where HItemID in " + HItemID_List);
            oCn.BeginTran();
            oCn.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
            //修改子项目代码
            oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
            //将上级 为非末级
            oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
            //
            oCn.Commit();
            return true;
        }
        //根据代码判断信息
        public override bool HavParentCode(string sCode, Int64 sItemID)
        {