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_SupplierController : ApiController 
 | 
    { 
 | 
        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_Supplier/list")] 
 | 
        [HttpGet] 
 | 
        public object list(string sWhere,string user,string Organization) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //编辑权限 
 | 
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier", 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_SupplierList where 组织名称='" + Organization + "'"); 
 | 
                if (sWhere == null || sWhere.Equals("")) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn(sql1 + sWhere + " order by 供应商代码", "h_v_Gy_SupplierList"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    string sql = sql1 + sWhere + " order by 供应商代码 "; 
 | 
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_SupplierList"); 
 | 
                } 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                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_Supplier/GetMAXBillID")] 
 | 
        [HttpGet] 
 | 
        public object GetMAXBillID() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = oCN.RunProcReturn("select max(hitemid)+1 hitemid from Gy_Supplier", "Gy_Supplier"); 
 | 
  
 | 
                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_Supplier/xg")] 
 | 
        [HttpGet] 
 | 
        public object xg(long HInterID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string sql = string.Format(@"select  s.HItemID,s.HNumber 编码,s.HName 名称,s.HHelpCode  助记码,s.HShortName 简称,s.HAddress 地址,s.HLinkMan 联系人,s.HLinkPhone 联系电话 
 | 
                                            ,s.HMobilePhone 手机,s.HFax 传真,s.HPostalCode 邮编,s.HEmail 电子邮件,s.HCorMan 法人代表,s.HBank 开户银行,s.HBankAccount 银行账号, 
 | 
                                           s.HTaxNum 税务登记号,s.HEnglishName 英文名称,s.HEngLishAddress 英文地址,s.HCountry 国家,s.HStopflag 禁用标志 
 | 
                                           ,s.HRemark 备注,s.HAreaID 地区ID,a.HName 地区名称,s.HTaxRate 增值税率,s.HCurID 默认货币ID,r.HName 默认货币, 
 | 
                                           s.HSSID 结算方式ID,e.HName 结算方式 from Gy_Supplier s 
 | 
                                           left join Gy_AreaSet a on s.HAreaID=a.HItemID 
 | 
                                           left join Gy_Currency r on s.HCurID=r.HItemID  
 | 
                                           left  join Gy_SettleStyle e on s.HSSID=e.HItemID 
 | 
                                           where s.HItemID='" + HInterID + "'"); 
 | 
                ds = oCN.RunProcReturn(sql, "Gy_Supplier"); 
 | 
  
 | 
                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_Supplier/AddBill")] 
 | 
        [HttpPost] 
 | 
        public object AddBill([FromBody] JObject oMain) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                var _value = oMain["oMain"].ToString(); 
 | 
                string msg1 = _value.ToString(); 
 | 
                //反序列化 
 | 
                msg1 = "[" + msg1.ToString() + "]"; 
 | 
  
 | 
                DAL.ClsGy_Supplier_Ctl oDept = new DAL.ClsGy_Supplier_Ctl(); 
 | 
                DAL.ClsGy_Supplier_View oDeptHlp = new DAL.ClsGy_Supplier_View(); 
 | 
  
 | 
  
 | 
  
 | 
                List<Supplier> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Supplier>>(msg1); 
 | 
  
 | 
                long HItemID = list[0].HInterID; 
 | 
                string HNumber = list[0].HNumber; 
 | 
                string HShortNumber = list[0].HShortNumber; 
 | 
                string HName = list[0].HName; 
 | 
                long HParentID = list[0].HParentID; 
 | 
                long HLevel = list[0].HLevel; 
 | 
                string HEndFlag = list[0].HEnfFlag; 
 | 
                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 HBankAccount = list[0].HMobilePhone; 
 | 
                string HFax = list[0].HFax; 
 | 
                string HPostalCode = list[0].HPostalCode; 
 | 
                string HEmail = list[0].HEmail; 
 | 
                string HBank = list[0].HBank; 
 | 
                string HMobilePhone = list[0].HMobilePhone; 
 | 
                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 HUseFlag = list[0].HUseFlag; 
 | 
                long HERPItemID = list[0].HERPItemID; 
 | 
                DateTime HMakeTime = list[0].HMakeTime; 
 | 
                long HCreateOrgID = list[0].HCreateOrgID; 
 | 
                long HUseOrgID = list[0].HUseOrgID; 
 | 
                string HRemark = list[0].HRemark; 
 | 
  
 | 
  
 | 
                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_Supplier " + 
 | 
                "(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) " + 
 | 
                " 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 +  
 | 
              ") "); 
 | 
                //修改上级为非末级代码 
 | 
                oCN.RunProc("Update Gy_Supplier 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_Supplier/AddBill1")] 
 | 
        [HttpPost] 
 | 
        public object AddBill1([FromBody] JObject oMain) 
 | 
        { 
 | 
  
 | 
            try 
 | 
            { 
 | 
                DAL.ClsGy_Supplier_Ctl oDept = new DAL.ClsGy_Supplier_Ctl(); 
 | 
                DAL.ClsGy_Supplier_View oDeptHlp = new DAL.ClsGy_Supplier_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<Supplier> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Supplier>>(msg2); 
 | 
  
 | 
                long HItemID = list[0].HInterID; 
 | 
                string HNumber = list[0].HNumber; 
 | 
                string HShortNumber = list[0].HShortNumber; 
 | 
                string HName = list[0].HName; 
 | 
                long HParentID = list[0].HParentID; 
 | 
                long HLevel = list[0].HLevel; 
 | 
                string HEndFlag = list[0].HEnfFlag; 
 | 
                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 HBankAccount = list[0].HMobilePhone; 
 | 
                string HFax = list[0].HFax; 
 | 
                string HPostalCode = list[0].HPostalCode; 
 | 
                string HEmail = list[0].HEmail; 
 | 
                string HBank = list[0].HBank; 
 | 
                string HMobilePhone = list[0].HMobilePhone; 
 | 
                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 HUseFlag = list[0].HUseFlag; 
 | 
                long HERPItemID = list[0].HERPItemID; 
 | 
                DateTime HMakeTime = list[0].HMakeTime; 
 | 
                long HCreateOrgID = list[0].HCreateOrgID; 
 | 
                long HUseOrgID = list[0].HUseOrgID; 
 | 
                string HRemark = list[0].HRemark; 
 | 
  
 | 
  
 | 
                //判断权限 
 | 
                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_Supplier set " + 
 | 
                   " HNumber='" + HNumber + "'" + 
 | 
                   ",HName='" + HName + "'" + 
 | 
                   ",HShortNumber='" + HShortNumber + "'" + 
 | 
                   ",HParentID=" + HParentID.ToString() + 
 | 
                   ",HLevel=" + HLevel.ToString() + 
 | 
                   ",HStopflag ='" + HStopflag + "'" + 
 | 
                   ",HRemark= '" + HRemark + "'" + 
 | 
                   ",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.ToString() + 
 | 
                   ",HCountry='" + HCountry + "'" + 
 | 
                   ",HCorMan='" +HCorMan + "'" + 
 | 
                   ",HEnglishName='" + HEnglishName + "'" + 
 | 
                   ",HEnglishAddress='" + HEnglishAddress + "'" + 
 | 
                   ",HCurID=" + HCurID.ToString() + 
 | 
                   ",HSSID=" + HSSID.ToString() + 
 | 
                   ",HAreaID=" + HAreaID.ToString() + "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_Supplier 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> 
 | 
        /// 供应商列表删除 
 | 
        /// </summary> 
 | 
        /// <param name="HItemID">删除列的ID</param> 
 | 
        /// <param name="User">当前登录用户</param> 
 | 
        /// <param name="ModRightNameDelete"></param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Gy_Supplier/Delete_Json")] 
 | 
        [HttpGet] 
 | 
        public object Delete_Json(long HItemID, string User, string ModRightNameDelete) 
 | 
        { 
 | 
            DAL.ClsGy_Supplier_Ctl oGroup = new DAL.ClsGy_Supplier_Ctl(); 
 | 
            DAL.ClsGy_Supplier_View oGroupHlp = new DAL.ClsGy_Supplier_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 (oGroupHlp.GetInfoByID(HItemID)) 
 | 
                { 
 | 
                    if (oGroup.HavChildCodes(HItemID)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "此项目存在子项目,不能删除!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    //删除前判断是否 已使用 20141020 
 | 
                    if (oGroupHlp.omodel.HUseFlag != "未使用") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "此项目已使用或者未检测,不能删除!请重新检测再删除!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    // 
 | 
                    if (oGroup.DeleteByID(HItemID)) 
 | 
                    { 
 | 
                        //写入日志 
 | 
                        ClsPub.Add_Log("", "删除项目,代码:" + oGroupHlp.omodel.HNumber + ",名称:" + oGroupHlp.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; 
 | 
            } 
 | 
        } 
 | 
        // 
 | 
    } 
 | 
} 
 |