using Newtonsoft.Json; 
 | 
using Newtonsoft.Json.Linq; 
 | 
using Pub_Class; 
 | 
using System; 
 | 
using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using System.Data; 
 | 
using System.Data.SqlClient; 
 | 
using System.Web.Http; 
 | 
using WebAPI.Models; 
 | 
namespace WebAPI.Controllers 
 | 
{ 
 | 
    public class Gy_CustomerController : ApiController 
 | 
    { 
 | 
        //获取系统参数 
 | 
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); 
 | 
        public DBUtility.ClsPub.Enum_BillStatus BillStatus; 
 | 
  
 | 
        private json objJsonResult = new json(); 
 | 
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); 
 | 
        DataSet ds; 
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 返回客户列表 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/list")] 
 | 
        [HttpGet] 
 | 
        public object list(string sWhere, string user, string Organization) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                List<object> columnNameList = new List<object>(); 
 | 
                //编辑权限 
 | 
                if (!DBUtility.ClsPub.Security_Log_second("Crm_CustomerFileList", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无查看权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                string sql1 = string.Format(@"select * from h_v_Gy_CustomerList where 组织名称='" + Organization + "'"); 
 | 
                if (sWhere == null || sWhere.Equals("")) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn(sql1 + sWhere + " order by 客户代码 ", "h_v_Gy_CustomerList"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    string sql = sql1 + sWhere + " order by 客户代码 "; 
 | 
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_CustomerList"); 
 | 
                } 
 | 
  
 | 
                //添加列名 
 | 
                foreach (DataColumn col in ds.Tables[0].Columns) 
 | 
                { 
 | 
                    Type dataType = col.DataType; 
 | 
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; 
 | 
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 
 | 
                } 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                objJsonResult.list = columnNameList; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 客户列表修改按钮方法 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/xg")] 
 | 
        [HttpGet] 
 | 
        public object xg(long HInterID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string sql = string.Format(@"select  c.HItemID,c.HNumber 客户代码,c.HName 客户名称,c.HHelpCode  助记码,c.HShortName 简称,c.HAddress 地址,c.HLinkMan 联系人,c.HLinkPhone 联系电话 
 | 
                                            ,c.HMobilePhone 手机,c.HFax 传真,c.HPostalCode 邮编,c.HEmail 电子邮件,c.HCorMan 法人代表,c.HBank 开户银行,c.HBankAccount 银行账号, 
 | 
                                            c.HTaxNum 税务登记号,c.HTaxRate 增值税率,c.HEnglishName 英文名称,c.HEngLishAddress 英文地址,c.HCountry 国家,c.HCusStatus 客户状态 
 | 
                                            ,c.HStopflag 禁用标志,c.HRemark 备注,c.HAreaID 地区ID,a.HName 地区名称,c.HCurID 默认货币ID,r.HName 默认货币, 
 | 
                                            c.HSSID 结算方式ID,s.HName 结算方式,c.HCusTypeID 客户分类ID,t.HName 客户分类 from Gy_Customer c 
 | 
                                            left join Gy_AreaSet a on c.HAreaID=a.HItemID 
 | 
                                            left join Gy_Currency r on c.HCurID=r.HItemID  
 | 
                                            left  join Gy_SettleStyle s on c.HSSID=s.HItemID 
 | 
                                            left  join Gy_CusType t on c.HCusTypeID=t.HItemID  
 | 
                                            where c.HItemID='" + HInterID + "'"); 
 | 
                ds = oCN.RunProcReturn(sql, "Gy_Customer"); 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = ""; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 获取最大基础资料ID 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/GetMAXBillID")] 
 | 
        [HttpGet] 
 | 
        public object GetMAXBillID() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = oCN.RunProcReturn("select max(hitemid)+1 hitemid from Gy_Customer", "Gy_Customer"); 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = ""; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 客户列表树形结构 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/LoadTree")] 
 | 
        [HttpGet] 
 | 
        public object LoadTree_Json(string sWhere) 
 | 
        { 
 | 
            SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); 
 | 
            //ds = oCN.RunProcReturn("select * from h_v_IF_GroupList " + sWhere, "h_v_IF_GroupList"); 
 | 
            ds = oCN.RunProcReturn("select * from h_v_CustomerLoadTree", "h_v_CustomerLoadTree"); 
 | 
            if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "false!"; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 新增单据-保存按钮 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/AddBill")] 
 | 
        [HttpPost] 
 | 
        public object AddBill([FromBody] JObject oMain) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                var _value = oMain["oMain"].ToString(); 
 | 
                string msg3 = _value.ToString(); 
 | 
                string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
                string msg1 = sArray[0].ToString(); 
 | 
                string msg2 = sArray[1].ToString(); 
 | 
                //反序列化 
 | 
                msg1 = "[" + msg1.ToString() + "]"; 
 | 
  
 | 
                DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl(); 
 | 
                DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View(); 
 | 
  
 | 
                //编辑权限 
 | 
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Edit", 1, false, msg2)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无保存权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                List<Customer> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(msg1); 
 | 
  
 | 
                long HItemID = list[0].HItemID; 
 | 
                string HNumber = list[0].HNumber; 
 | 
                string HName = list[0].HName; 
 | 
                string HShortNumber = list[0].HShortNumber; 
 | 
                long HLevel = list[0].HLevel; 
 | 
                string HEndFlag = list[0].HEndFlag; 
 | 
                long HParentID = list[0].HParentID; 
 | 
                string HRemark = list[0].HRemark; 
 | 
                string HStopflag = list[0].HStopFlag; 
 | 
                string HHelpCode = list[0].HHelpCode; 
 | 
                string HShortName = list[0].HShortName; 
 | 
                string HAddress = list[0].HAddress; 
 | 
                string HLinkMan = list[0].HLinkMan; 
 | 
                string HLinkPhone = list[0].HLinkPhone; 
 | 
                string HMobilePhone = list[0].HMobilePhone; 
 | 
                string HFax = list[0].HFax; 
 | 
                string HPostalCode = list[0].HPostalCode; 
 | 
                string HEmail = list[0].HEmail; 
 | 
                string HBank = list[0].HBank; 
 | 
                string HBankAccount = list[0].HBankAccount; 
 | 
                string HTaxNum = list[0].HTaxNum; 
 | 
                double HTaxRate = list[0].HTaxRate; 
 | 
                string HCountry = list[0].HCountry; 
 | 
                string HCorMan = list[0].HCorMan; 
 | 
                string HEnglishName = list[0].HEnglishName; 
 | 
                string HEnglishAddress = list[0].HEnglishAddress; 
 | 
                long HCurID = list[0].HCurID; 
 | 
                long HSSID = list[0].HSSID; 
 | 
                long HAreaID = list[0].HAreaID; 
 | 
                string HCusStatus = list[0].HCusStatus; 
 | 
                long HCusTypeID = list[0].HCusTypeID; 
 | 
                string HUseFlag = list[0].HUseFlag; 
 | 
                long HCreditDate = list[0].HCreditDate; 
 | 
                long HCreditRatingDate = list[0].HCreditRatingDate; 
 | 
                long HMaxCredRatingDate = list[0].HMaxCreditRatingDate; 
 | 
                double HMonthUseQty = list[0].HMonthUseQty; 
 | 
                double HForecastCreditRating = list[0].HForecastCreditRating; 
 | 
                long HCreditLevelID = list[0].HCreditLevelID; 
 | 
                double HCountAccrualRating = list[0].HCountAccrualRating; 
 | 
                double HSubsidyAccrualRating = list[0].HSubsidyAccrualRating; 
 | 
                double HCreditRating = list[0].HCreditRating; 
 | 
                double HMaxCreditRating = list[0].HMaxCreditRating; 
 | 
                long HEmpID = list[0].HEmpID; 
 | 
                long HERPItemID = list[0].HERPItemID; 
 | 
                DateTime HMakeTime = list[0].HMakeTime; 
 | 
                long HCreateOrgID = list[0].HCREATEORGID; 
 | 
                long HUseOrgID = list[0].HUSEORGID; 
 | 
  
 | 
                //DateTime HDeleteDate = list[0].HDeleteDate; 
 | 
  
 | 
  
 | 
                if (!DBUtility.ClsPub.AllowNumber(HNumber)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
  
 | 
  
 | 
                //若MAINDI重复则重新获取 
 | 
                oCN.BeginTran(); 
 | 
                //主表 
 | 
                oCN.RunProc("Insert into Gy_Customer " + 
 | 
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" + 
 | 
                    ",HLevel,HEndFlag,HStopflag,HRemark" + 
 | 
                    ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" + 
 | 
                    ",HFax,HPostalCode,HEmail,HBank,HBankAccount" + 
 | 
                    ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" + 
 | 
                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HCusStatus" + 
 | 
                    ",HEmpID,HCreditDate,HCreditRatingDate,HMaxCreditRatingDate" + 
 | 
                    ",HMonthUseQty,HForecastCreditRating,HCreditLevelID,HCountAccrualRating" + 
 | 
                    ",HSubsidyAccrualRating,HCreditRating,HMaxCreditRating" + 
 | 
                    ",HCusTypeID) " + 
 | 
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID + 
 | 
                    ", " + HLevel + ",0,'" + HStopflag + "','" + HRemark + "'" + 
 | 
                    ",'" + HShortName + "','" + HAddress + "','" + HLinkMan + "','" + HLinkPhone + "','" + HMobilePhone + "'" + 
 | 
                    ",'" + HFax + "','" + HPostalCode + "','" + HEmail + "','" + HBank + "','" + HBankAccount + "'" + 
 | 
                    ",'" + HTaxNum + "'," + HTaxRate + ",'" + HCountry + "','" + HCorMan + "','" + HEnglishName + "'" + 
 | 
                    ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID + ",'" + HCusStatus + "'" + 
 | 
                    "," + HEmpID + "," + HCreditDate + "," + HCreditRatingDate + "," + HMaxCredRatingDate + 
 | 
                    "," + HMonthUseQty + "," + HForecastCreditRating + "," + HCreditLevelID + "," + HCountAccrualRating + 
 | 
                    "," + HSubsidyAccrualRating + "," + HCreditRating + "," + HMaxCreditRating + 
 | 
                    ", " + HCusTypeID + ")"); 
 | 
                //修改上级为非末级代码 
 | 
                oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                oCN.Commit(); 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "新增单据成功!"; 
 | 
                //objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                oCN.RollBack(); 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.Message; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
        [Route("Gy_Customer/SaveGy_CustomerListApi")] 
 | 
        [HttpPost] 
 | 
        public object SaveGy_CustomerListApi([FromBody] JObject oMain) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                var model = oMain["model"].ToString(); 
 | 
                var custLocationModel = oMain["model"]["HCustLocationEntry"].ToString(); 
 | 
                var custContactModel = oMain["model"]["HCustContactEntry"].ToString(); 
 | 
                //反序列化 
 | 
                model = "[" + model + "]"; 
 | 
                List<Customer> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(model); 
 | 
                List<Model.ClsGy_CustLocation_Model> custLocationls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_CustLocation_Model>>(custLocationModel); 
 | 
                List<Model.ClsGy_COMMONCONTACT_Model> custContactls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_COMMONCONTACT_Model>>(custContactModel); 
 | 
                string sql = string.Empty; 
 | 
                oCN.BeginTran(); 
 | 
                sql = $"delete gy_Customer where HItemID = {lsmain[0].HItemID}"; 
 | 
                oCN.RunProc(sql); 
 | 
                sql = "set identity_insert gy_Customer on"; 
 | 
                oCN.RunProc(sql); 
 | 
                //主表_客户 
 | 
                oCN.RunProc("Insert into Gy_Customer " + 
 | 
                    " (HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" + 
 | 
                    ",HLevel,HEndFlag,HStopflag,HRemark" + 
 | 
                    ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" + 
 | 
                    ",HFax,HPostalCode,HEmail,HBank,HBankAccount" + 
 | 
                    ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" + 
 | 
                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HCusStatus" + 
 | 
                    ",HEmpID,HCreditDate,HCreditRatingDate,HMaxCreditRatingDate" + 
 | 
                    ",HMonthUseQty,HForecastCreditRating,HCreditLevelID,HCountAccrualRating" + 
 | 
                    ",HSubsidyAccrualRating,HCreditRating,HMaxCreditRating" + 
 | 
                    ",HCusTypeID) " + 
 | 
                    " Values('" + lsmain[0].HItemID + "','" + lsmain[0].HNumber + "','" + lsmain[0].HName + "','" + lsmain[0].HHelpCode + "','" + lsmain[0].HShortNumber + "'," + lsmain[0].HParentID + 
 | 
                    ", " + lsmain[0].HLevel + ",0,'" + lsmain[0].HStopFlag + "','" + lsmain[0].HRemark + "'" + 
 | 
                    ",'" + lsmain[0].HShortName + "','" + lsmain[0].HAddress + "','" + lsmain[0].HLinkMan + "','" + lsmain[0].HLinkPhone + "','" + lsmain[0].HMobilePhone + "'" + 
 | 
                    ",'" + lsmain[0].HFax + "','" + lsmain[0].HPostalCode + "','" + lsmain[0].HEmail + "','" + lsmain[0].HBank + "','" + lsmain[0].HBankAccount + "'" + 
 | 
                    ",'" + lsmain[0].HTaxNum + "'," + lsmain[0].HTaxRate + ",'" + lsmain[0].HCountry + "','" + lsmain[0].HCorMan + "','" + lsmain[0].HEnglishName + "'" + 
 | 
                    ",'" + lsmain[0].HEnglishAddress + "'," + lsmain[0].HCurID + "," + lsmain[0].HSSID + "," + lsmain[0].HAreaID + ",'" + lsmain[0].HCusStatus + "'" + 
 | 
                    "," + lsmain[0].HEmpID + "," + lsmain[0].HCreditDate + "," + lsmain[0].HCreditRatingDate + "," + lsmain[0].HMaxCreditRatingDate + 
 | 
                    "," + lsmain[0].HMonthUseQty + "," + lsmain[0].HForecastCreditRating + "," + lsmain[0].HCreditLevelID + "," + lsmain[0].HCountAccrualRating + 
 | 
                    "," + lsmain[0].HSubsidyAccrualRating + "," + lsmain[0].HCreditRating + "," + lsmain[0].HMaxCreditRating + 
 | 
                    ", " + lsmain[0].HCusTypeID + ")"); 
 | 
                sql = "set identity_insert gy_Customer off"; 
 | 
                oCN.RunProc(sql); 
 | 
                //客户_交货地点 
 | 
                sql = $"delete Gy_CustLocation where HItemID = {lsmain[0].HItemID}"; 
 | 
                oCN.RunProc(sql); 
 | 
                sql = "set identity_insert Gy_CustLocation on"; 
 | 
                oCN.RunProc(sql); 
 | 
                foreach (var item in custLocationls) 
 | 
                { 
 | 
                    sql = $@"insert into Gy_CustLocation(HItemID,HEntryID,HNumber,HName ,HShortNumber,HParentID ,HLevel  
 | 
                                ,HEndFlag,HStopflag,HRemark ,HHelpCode ,HUseFlag 
 | 
                                 ,HMakeTime ,HMakeEmp ,HCheckEmp ,HCheckTime ,HModifyEmp  
 | 
                                 ,HModifyTime ,HStopEmp ,HStopTime ,HUSEORGID,HCREATEORGID) 
 | 
                  values({item.HItemID},{item.HENTRYID},'{item.HNumber}','{item.HName}','{item.HShortNumber}',{item.HParentID},{item.HLevel} 
 | 
           ,{Convert.ToString(item.HEndFlag ? 1 : 0)},{Convert.ToString(item.HStopflag ? 1 : 0) },'{item.HRemark}','{item.HHelpCode}','{item.HUseFlag}' 
 | 
            ,'{item.HMakeTime}','{item.HMakeEmp}','{item.HCheckEmp}','{item.HCheckTime}','{item.HModifyEmp}' 
 | 
            ,'{item.HModifyTime}','{item.HStopEmp}',null,{item.HUSEORGID},{item.HCREATEORGID})"; 
 | 
                    oCN.RunProc(sql); 
 | 
                } 
 | 
                sql = "set identity_insert Gy_CustLocation off"; 
 | 
                oCN.RunProc(sql); 
 | 
  
 | 
                //客户_收货方联系人 
 | 
                sql = $"delete Gy_COMMONCONTACT where HCUSTID = {lsmain[0].HItemID}"; 
 | 
                oCN.RunProc(sql); 
 | 
                sql = "set identity_insert Gy_COMMONCONTACT on"; 
 | 
                oCN.RunProc(sql); 
 | 
                foreach (var item in custContactls) 
 | 
                { 
 | 
                    sql = $@"insert into Gy_COMMONCONTACT(HItemID,HCUSTID,HNumber,HName,HShortNumber,HParentID,HLevel,HEndFlag,HStopflag, 
 | 
                    HRemark,HHelpCode,HUseFlag,HMakeTime,HMakeEmp,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime, 
 | 
                    HUSEORGID,HCREATEORGID) 
 | 
                  values({item.HItemID},{item.HCUSTID},'{item.HNumber}','{item.HName}','{item.HShortNumber}',{item.HParentID},{item.HLevel} 
 | 
           ,{Convert.ToString(item.HEndFlag ? 1 : 0)},{Convert.ToString(item.HStopflag ? 1 : 0) },'{item.HRemark}','{item.HHelpCode}','{item.HUseFlag}' 
 | 
            ,'{item.HMakeTime}','{item.HMakeEmp}','{item.HCheckEmp}','{item.HCheckTime}','{item.HModifyEmp}' 
 | 
            ,'{item.HModifyTime}','{item.HStopEmp}','{item.HStopTime}',{item.HUSEORGID},{item.HCREATEORGID})"; 
 | 
                    oCN.RunProc(sql); 
 | 
                } 
 | 
                sql = "set identity_insert Gy_COMMONCONTACT off"; 
 | 
                oCN.RunProc(sql); 
 | 
  
 | 
                oCN.Commit(); 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "新增基础资料成功!"; 
 | 
                //objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                oCN.RollBack(); 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.Message; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 修改单据-保存按钮 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/AddBill1")] 
 | 
        [HttpPost] 
 | 
        public object AddBill1([FromBody] JObject oMain) 
 | 
        { 
 | 
  
 | 
            try 
 | 
            { 
 | 
  
 | 
                DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl(); 
 | 
                DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View(); 
 | 
  
 | 
                var _value = oMain["oMain"].ToString(); 
 | 
                string msg1 = _value.ToString(); 
 | 
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
                string msg2 = sArray[0].ToString();//表单 
 | 
                string msg3 = sArray[1].ToString();//id 
 | 
                string msg4 = sArray[2].ToString();//当前用户 
 | 
                string msg5 = sArray[3].ToString();//权限模块代码 
 | 
                //反序列化 
 | 
                msg2 = "[" + msg2.ToString() + "]"; 
 | 
                List<Customer> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Customer>>(msg2); 
 | 
  
 | 
                long HItemID = int.Parse(msg3); 
 | 
                string HNumber = list[0].HNumber; 
 | 
                string HName = list[0].HName; 
 | 
                string HShortNumber = list[0].HShortNumber; 
 | 
                long HLevel = list[0].HLevel; 
 | 
                string HEndFlag = list[0].HEndFlag; 
 | 
                long HParentID = list[0].HParentID; 
 | 
                string HRemark = list[0].HRemark; 
 | 
                string HStopflag = list[0].HStopFlag; 
 | 
                string HHelpCode = list[0].HHelpCode; 
 | 
                string HShortName = list[0].HShortName; 
 | 
                string HAddress = list[0].HAddress; 
 | 
                string HLinkMan = list[0].HLinkMan; 
 | 
                string HLinkPhone = list[0].HLinkPhone; 
 | 
                string HMobilePhone = list[0].HMobilePhone; 
 | 
                string HFax = list[0].HFax; 
 | 
                string HPostalCode = list[0].HPostalCode; 
 | 
                string HEmail = list[0].HEmail; 
 | 
                string HBank = list[0].HBank; 
 | 
                string HBankAccount = list[0].HBankAccount; 
 | 
                string HTaxNum = list[0].HTaxNum; 
 | 
                double HTaxRate = list[0].HTaxRate; 
 | 
                string HCountry = list[0].HCountry; 
 | 
                string HCorMan = list[0].HCorMan; 
 | 
                string HEnglishName = list[0].HEnglishName; 
 | 
                string HEnglishAddress = list[0].HEnglishAddress; 
 | 
                long HCurID = list[0].HCurID; 
 | 
                long HSSID = list[0].HSSID; 
 | 
                long HAreaID = list[0].HAreaID; 
 | 
                string HCusStatus = list[0].HCusStatus; 
 | 
                long HCusTypeID = list[0].HCusTypeID; 
 | 
                string HUseFlag = list[0].HUseFlag; 
 | 
                long HCreditDate = list[0].HCreditDate; 
 | 
                long HCreditRatingDate = list[0].HCreditRatingDate; 
 | 
                long HMaxCredRatingDate = list[0].HMaxCreditRatingDate; 
 | 
                double HMonthUseQty = list[0].HMonthUseQty; 
 | 
                double HForecastCreditRating = list[0].HForecastCreditRating; 
 | 
                long HCreditLevelID = list[0].HCreditLevelID; 
 | 
                double HCountAccrualRating = list[0].HCountAccrualRating; 
 | 
                double HSubsidyAccrualRating = list[0].HSubsidyAccrualRating; 
 | 
                double HCreditRating = list[0].HCreditRating; 
 | 
                double HMaxCreditRating = list[0].HMaxCreditRating; 
 | 
                long HEmpID = list[0].HEmpID; 
 | 
                long HERPItemID = list[0].HERPItemID; 
 | 
                DateTime HMakeTime = list[0].HMakeTime; 
 | 
                long HCreateOrgID = list[0].HCREATEORGID; 
 | 
                long HUseOrgID = list[0].HUSEORGID; 
 | 
  
 | 
  
 | 
                //判断权限 
 | 
                if (!ClsPub.Security_Log(msg5, 1, false, msg4)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "没有找到该功能模块!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
  
 | 
                if (!DBUtility.ClsPub.AllowNumber(HNumber)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
  
 | 
  
 | 
                //若MAINDI重复则重新获取 
 | 
                oCN.BeginTran(); 
 | 
                //主表 
 | 
                oCN.RunProc("Update Gy_Customer set " + 
 | 
                    " HNumber='" + HNumber + "'" + 
 | 
                    ",HName='" + HName + "'" + 
 | 
                    ",HShortNumber='" + HShortNumber + "'" + 
 | 
                    ",HLevel ='" + HLevel + "'" + 
 | 
                    ",HEndFlag  ='" + HEndFlag + "'" + 
 | 
                    ",HParentID='" + HParentID + "'" + 
 | 
                    ",HStopflag ='" + HStopflag + "'" + 
 | 
                    ",HHelpCode ='" + HHelpCode + "'" + 
 | 
                    ",HShortName ='" + HShortName + "'" + 
 | 
                    ",HAddress ='" + HAddress + "'" + 
 | 
                    ",HLinkMan ='" + HLinkMan + "'" + 
 | 
                    ",HLinkPhone ='" + HLinkPhone + "'" + 
 | 
                    ",HMobilePhone ='" + HMobilePhone + "'" + 
 | 
                    ",HFax ='" + HFax + "'" + 
 | 
                    ",HPostalCode ='" + HPostalCode + "'" + 
 | 
                    ",HEmail ='" + HEmail + "'" + 
 | 
                    ",HBank ='" + HBank + "'" + 
 | 
                    ",HBankAccount ='" + HBankAccount + "'" + 
 | 
                    ",HTaxNum ='" + HTaxNum + "'" + 
 | 
                    ",HTaxRate ='" + HTaxRate + "'" + 
 | 
                    ",HCountry ='" + HCountry + "'" + 
 | 
                    ",HEnglishName ='" + HEnglishName + "'" + 
 | 
                    ",HCorMan ='" + HCorMan + "'" + 
 | 
                    ",HEnglishAddress ='" + HEnglishAddress + "'" + 
 | 
                    ",HCurID  ='" + HCurID + "'" + 
 | 
                    ",HSSID  ='" + HSSID + "'" + 
 | 
                    ",HAreaID  ='" + HAreaID + "'" + 
 | 
                    ",HCusStatus  ='" + HCusStatus + "'" + 
 | 
                    ",HCusTypeID  ='" + HCusTypeID + "'" + 
 | 
                    ",HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                //修改子项目代码 
 | 
                //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                //将上级 为非末级 
 | 
                oCN.RunProc("Update Gy_Customer set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                // 
 | 
                oCN.Commit(); 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "修改单据成功!"; 
 | 
                //objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                oCN.RollBack(); 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.Message; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 客户列表删除按钮 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Gy_Customer/Delete_Json")] 
 | 
        [HttpGet] 
 | 
        public object Delete_Json(long HItemID, string User, string ModRightNameDelete) 
 | 
        { 
 | 
            DAL.ClsGy_Customer_Ctl oDept = new DAL.ClsGy_Customer_Ctl(); 
 | 
            DAL.ClsGy_Customer_View oDeptHlp = new DAL.ClsGy_Customer_View(); 
 | 
            try 
 | 
            { 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "没有删除权限"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (oDeptHlp.GetInfoByID(HItemID)) 
 | 
                { 
 | 
                    if (oDept.HavChildCodes(HItemID)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "此项目存在子项目,不能删除!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    //删除前判断是否 已使用 20141020 
 | 
                    if (oDeptHlp.omodel.HUseFlag != "未使用") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "此项目已使用或者未检测,不能删除!请重新检测再删除!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    // 
 | 
                    if (oDept.DeleteByID(HItemID)) 
 | 
                    { 
 | 
                        //写入日志 
 | 
                        ClsPub.Add_Log("", "删除项目,代码:" + oDeptHlp.omodel.HNumber + ",名称:" + oDeptHlp.omodel.HName, ClsPub.CurUserName); 
 | 
                        //更新上级为 末级 
 | 
                        objJsonResult.code = "1"; 
 | 
                        objJsonResult.count = 1; 
 | 
                        objJsonResult.Message = "删除成功"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "删除失败"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                //ds = oCN.RunProcReturn("delete from Gy_Department where HItemID =  " + HItemID, "Gy_Department"); 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "删除成功"; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        #region [同步基础资料] 
 | 
        [Route("Gy_Customer/Gy_CustomerViewApi")] 
 | 
        [HttpGet] 
 | 
        public json Gy_CustomerViewApi(string Number, string Type) 
 | 
        { 
 | 
            string sql = string.Empty; 
 | 
            string sReturn = ""; 
 | 
            if (oSystemParameter.ShowBill(ref sReturn) == true) 
 | 
            { 
 | 
                //系统参数是否为私有云模式,N为公有云模式,Y为私有云模式 
 | 
                if (oSystemParameter.omodel.WMS_CloudMode == "Y") 
 | 
                { 
 | 
                    #region [私有云模式,直接调用数据库存储过程更新] 
 | 
                    try 
 | 
                    { 
 | 
                        oCN.BeginTran(); 
 | 
                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
 | 
                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal"); 
 | 
                        if (DS == null) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "基础资料同步失败"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2") 
 | 
                            { 
 | 
                                objJsonResult.code = "0"; 
 | 
                                objJsonResult.count = 0; 
 | 
                                objJsonResult.Message = "ERP中不存在该代码"; 
 | 
                                objJsonResult.data = null; 
 | 
                                return objJsonResult; 
 | 
                            } 
 | 
                            else 
 | 
                            { 
 | 
                                objJsonResult.code = "1"; 
 | 
                                objJsonResult.count = 1; 
 | 
                                objJsonResult.Message = "基础资料同步成功"; 
 | 
                                objJsonResult.data = null; 
 | 
                                return objJsonResult; 
 | 
                            } 
 | 
                        } 
 | 
  
 | 
                    } 
 | 
                    catch (Exception e) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    #endregion 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    #region [公有云模式,调用WEBAPI的方式进行更新] 
 | 
                    var json = new 
 | 
                    { 
 | 
                        CreateOrgId = 0, 
 | 
                        Number = Number, 
 | 
                        Id = "" 
 | 
                    }; 
 | 
                    #region [金蝶部分] 
 | 
                    //登录金蝶 
 | 
                    var loginRet = InvokeHelper.Login(); 
 | 
                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); 
 | 
                    //判断是否登录成功 
 | 
                    if (isSuccess < 0) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = loginRet; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    //查看 获取数据                     
 | 
                    var _result = InvokeHelper.View("BD_Customer", JsonConvert.SerializeObject(json)); 
 | 
                    var _saveObj = JObject.Parse(_result); 
 | 
                    //判断数据是否获取成功 
 | 
                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "金蝶客户同步失败jsonRoot:" + _result; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    #endregion 
 | 
                    //获取数据 
 | 
                    DataSet Ds; 
 | 
                    Ds = oCN.RunProcReturn("select * from Gy_Customer where HNumber = '" + Number + "'", "Gy_Customer"); 
 | 
                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0) 
 | 
                    { 
 | 
  
 | 
                    } 
 | 
  
 | 
                    #region [表数据赋值] 
 | 
                    var jsonData = new 
 | 
                    { 
 | 
                        HItemID = _saveObj["Result"]["Result"]["Id"], 
 | 
                        HERPItemID = _saveObj["Result"]["Result"]["Id"], 
 | 
                        HNumber = _saveObj["Result"]["Result"]["Number"], 
 | 
                        HName         = _saveObj["Result"]["Result"]["Name"][0]["Value"], 
 | 
                        HShortNumber  = _saveObj["Result"]["Result"]["Number"], 
 | 
                        HParentID     = 0, 
 | 
                        HLevel        = 1, 
 | 
                        HEndFlag      = 1, 
 | 
                        HStopflag     = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1, 
 | 
                        HRemark       = "CLD-ERP导入", 
 | 
                        HUseFlag      = "已使用", 
 | 
                        HMakeTime     = _saveObj["Result"]["Result"]["CreateDate"], 
 | 
                        HCREATEORGID  = _saveObj["Result"]["Result"]["CreateOrgId_Id"], 
 | 
                        HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"], 
 | 
                    }; 
 | 
                    #endregion 
 | 
                    // 删除主表对应数据 
 | 
                    sql = $"delete from Gy_Customer where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'"; 
 | 
                    oCN.RunProc(sql); 
 | 
  
 | 
                    sql = "set identity_insert Gy_Customer on"; 
 | 
                    oCN.RunProc(sql); 
 | 
  
 | 
                    //插入表 
 | 
                    sql = $@" 
 | 
                insert into Gy_Customer 
 | 
                (HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID 
 | 
                ,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID 
 | 
                 ) 
 | 
                values 
 | 
                ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}', 
 | 
                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID})"; 
 | 
  
 | 
                    oCN.RunProc(sql); 
 | 
  
 | 
                    sql = "set identity_insert Gy_Customer off"; 
 | 
                    oCN.RunProc(sql); 
 | 
  
 | 
                    objJsonResult.code = "1"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "客户同步成功!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
  
 | 
                    #endregion 
 | 
                } 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "基础资料读取失败!"; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
    } 
 | 
} 
 |