|  |  |  | 
|---|
|  |  |  | using Newtonsoft.Json.Linq; | 
|---|
|  |  |  | using Newtonsoft.Json; | 
|---|
|  |  |  | using Newtonsoft.Json.Linq; | 
|---|
|  |  |  | using Pub_Class; | 
|---|
|  |  |  | using System; | 
|---|
|  |  |  | using System.Collections; | 
|---|
|  |  |  | 
|---|
|  |  |  | using System.Data.SqlClient; | 
|---|
|  |  |  | using System.Web.Http; | 
|---|
|  |  |  | using WebAPI.Models; | 
|---|
|  |  |  | using System.Text.RegularExpressions; | 
|---|
|  |  |  | using SyntacticSugar.constant; | 
|---|
|  |  |  | namespace WebAPI.Controllers | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public class Gy_SupplierController : ApiController | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取系统参数 | 
|---|
|  |  |  | Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|---|
|  |  |  | public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private json objJsonResult = new json(); | 
|---|
|  |  |  | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | [Route("Gy_Supplier/list")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object list(string sWhere,string Organization) | 
|---|
|  |  |  | public object list(string sWhere,string user,string Organization) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  | //编辑权限 | 
|---|
|  |  |  | 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 HItemID desc", "h_v_Gy_SupplierList"); | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql1 + sWhere + " order by 供应商代码", "h_v_Gy_SupplierList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql = sql1 + sWhere + " order by HItemID desc"; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 供应商分页列表 | 
|---|
|  |  |  | [Route("Gy_Supplier/page")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public json Gy_SupplierPage(string sWhere, string user, int page, int size, string Organization) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | DataSet ds; | 
|---|
|  |  |  | json res = new json(); | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  | //判断权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无查看权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sWhere += ("and 组织名称 = '" + Organization + "'"); | 
|---|
|  |  |  | sWhere = sWhere.Replace("'", "''"); | 
|---|
|  |  |  | if (sWhere == null || sWhere.Equals("")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("exec h_p_Gy_SupplierList " + page + "," + size + ",''", "h_p_Gy_SupplierList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn("exec h_p_Gy_SupplierList " + page + "," + size + ",'" + sWhere + "'", "h_p_Gy_SupplierList"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加列名 | 
|---|
|  |  |  | 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列对象的列名 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | res.code = CodeConstant.SUCCEED; | 
|---|
|  |  |  | res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); | 
|---|
|  |  |  | res.Message = "Sucess!"; | 
|---|
|  |  |  | res.list = columnNameList; | 
|---|
|  |  |  | res.data = ds.Tables[0]; | 
|---|
|  |  |  | return res; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | res.code = CodeConstant.FAIL; | 
|---|
|  |  |  | res.count = CountConstant.FAIL; | 
|---|
|  |  |  | res.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | res.data = null; | 
|---|
|  |  |  | return res; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 客户根据分类获取最大客户编码 | 
|---|
|  |  |  | [Route("Gy_Supplier/getMaxNum")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object getMaxNum(int HSupTypeID, string user, string Organization) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<object> columnNameList = new List<object>(); | 
|---|
|  |  |  | //编辑权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier", 1, false, user)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "无查看权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (HSupTypeID == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "没有选择具体分类!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ds = oCN.RunProcReturn(@"select * from h_v_Gy_SupplierList where 组织名称='" + Organization + "'" + "and HSupTypeID = '" + HSupTypeID + "'" + " order by 供应商代码 desc", "h_v_Gy_SupplierList"); | 
|---|
|  |  |  | if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "没有找到该分类的客户编码请使用普通新增"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | string HNumber = ds.Tables[0].Rows[0]["供应商代码"].ToString(); | 
|---|
|  |  |  | // 使用正则表达式找到数字部分  (?<=\D)是一个零宽断言,表示前面的字符不是数字 (\d+)$表示后面跟着一连串字符串知道末尾 | 
|---|
|  |  |  | Match match = Regex.Match(HNumber, @"(?<=\D)(\d+)$"); | 
|---|
|  |  |  | if (match.Success) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string prefix = HNumber.Substring(0, HNumber.Length - match.Length); // 提取前缀 | 
|---|
|  |  |  | int number = int.Parse(match.Value); // 解析数字 | 
|---|
|  |  |  | // 数字+1 | 
|---|
|  |  |  | number++; | 
|---|
|  |  |  | // 格式化数字,保持原长度 | 
|---|
|  |  |  | string formattedNumber = number.ToString().PadLeft(match.Length, '0'); | 
|---|
|  |  |  | // 重新组合字符串 | 
|---|
|  |  |  | string result = prefix + formattedNumber; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "success"; | 
|---|
|  |  |  | objJsonResult.data = result; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 供应商列表修改按钮方法 | 
|---|
|  |  |  | ///参数:string sql。 | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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 银行账号, | 
|---|
|  |  |  | string sql = string.Format(@"select  s.HItemID,s.HUSEORGID,o.Hname 使用组织,s.HCREATEORGID ,d.Hname 创建组织,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.HPSStyleID 采购方式ID,f.HName 采购方式名称, | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | s.HSSID 结算方式ID,e.HName 结算方式,s.HMaterClass 供货材料类别  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 | 
|---|
|  |  |  | left join Xt_ORGANIZATIONS o on s.HUSEORGID=o.HItemID | 
|---|
|  |  |  | left join Xt_ORGANIZATIONS d on s.HCREATEORGID=d.HItemID | 
|---|
|  |  |  | left join Gy_PoStockStyle f on s.HPSStyleID=f.HItemID | 
|---|
|  |  |  | where s.HItemID='" + HInterID + "'"); | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql, "Gy_Supplier"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataSet cs = oCN.RunProcReturn("select * from Gy_Supplier_PayPlan where HSupID = '"+ HInterID + "'", "Gy_Supplier_PayPlan"); | 
|---|
|  |  |  | List<Object> list = new List<object>(); | 
|---|
|  |  |  | list.Add(cs); | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = ""; | 
|---|
|  |  |  | objJsonResult.data = ds.Tables[0]; | 
|---|
|  |  |  | objJsonResult.list = list; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var _value = oMain["oMain"].ToString(); | 
|---|
|  |  |  | string msg1 = _value.ToString(); | 
|---|
|  |  |  | //反序列化 | 
|---|
|  |  |  | msg1 = "[" + msg1.ToString() + "]"; | 
|---|
|  |  |  | string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|---|
|  |  |  | string msg2 = sArray[0].ToString(); //主表数据 | 
|---|
|  |  |  | string msg3 = sArray[1].ToString(); //子表数据 | 
|---|
|  |  |  | //主表反序列化 | 
|---|
|  |  |  | msg2 = "[" + msg2.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); | 
|---|
|  |  |  | List<Supplier> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Supplier>>(msg2); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | long HItemID = list[0].HInterID; | 
|---|
|  |  |  | string HNumber = list[0].HNumber; | 
|---|
|  |  |  | 
|---|
|  |  |  | long HCreateOrgID = list[0].HCreateOrgID; | 
|---|
|  |  |  | long HUseOrgID = list[0].HUseOrgID; | 
|---|
|  |  |  | string HRemark = list[0].HRemark; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string HMaterClass = list[0].HMaterClass; | 
|---|
|  |  |  | long HPSStyleID = list[0].HPSStyleID; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!DBUtility.ClsPub.AllowNumber(HNumber)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //若MAINDI重复则重新获取 | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  | //主表 | 
|---|
|  |  |  | 
|---|
|  |  |  | ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" + | 
|---|
|  |  |  | ",HFax,HPostalCode,HEmail,HBank,HBankAccount" + | 
|---|
|  |  |  | ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" + | 
|---|
|  |  |  | ",HEnglishAddress,HCurID,HSSID,HAreaID) " + | 
|---|
|  |  |  | ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HUSEORGID,HCREATEORGID,HPSStyleID) " + | 
|---|
|  |  |  | " values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "','" + HParentID + "'" + | 
|---|
|  |  |  | "," + HLevel + ",0,'" + HStopflag + "','" + HRemark + "'" + | 
|---|
|  |  |  | "," + HLevel + ",1,'" + HStopflag + "','" + HRemark + "'" + | 
|---|
|  |  |  | ",'" + HShortName + "','" + HAddress + "','" + HLinkMan + "','" + HLinkPhone + "','" + HMobilePhone + "'" + | 
|---|
|  |  |  | ",'" + HFax + "','" + HPostalCode + "','" + HEmail + "','" + HBank + "','" + HBankAccount + "'" + | 
|---|
|  |  |  | ",'" + HTaxNum + "','" + HTaxRate + "','" + HCountry + "','" + HCorMan + "','" + HEnglishName + "'" + | 
|---|
|  |  |  | ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID + | 
|---|
|  |  |  | ") "); | 
|---|
|  |  |  | ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID +" ,'" + HMaterClass + " ','" + HUseOrgID + "' ,'" + HCreateOrgID + "' ,'" + HPSStyleID + | 
|---|
|  |  |  | "') "); | 
|---|
|  |  |  | //修改上级为非末级代码 | 
|---|
|  |  |  | oCN.RunProc("Update Gy_Supplier set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | //子表添加 | 
|---|
|  |  |  | List<ClsGy_Supplier_PayPlan> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_Supplier_PayPlan>>(msg3); | 
|---|
|  |  |  | int i = 0; | 
|---|
|  |  |  | DataSet Cs; | 
|---|
|  |  |  | Cs = oCN.RunProcReturn("select MAX(HItemID)HItemID from Gy_Supplier", "Gy_Supplier"); | 
|---|
|  |  |  | string MaxHItemID = Cs.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | //删除子表操作 防止出错 | 
|---|
|  |  |  | oCN.RunProc("delete from Gy_Supplier_PayPlan where HSupID='" + MaxHItemID + "'"); | 
|---|
|  |  |  | foreach (ClsGy_Supplier_PayPlan oSub in DetailColl) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | i++; | 
|---|
|  |  |  | oCN.RunProc($@"Insert into Gy_Supplier_PayPlan | 
|---|
|  |  |  | (HSupID,HSubID,HPayType,HPayRate,HPayTime,HPayRemark) | 
|---|
|  |  |  | values({MaxHItemID},{i} ,'{oSub.HPayType}',{oSub.HPayRate},{oSub.HPayTime},'{oSub.HPayRemark}')"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [Route("Gy_Supplier/SaveGy_SupplierListApi")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object SaveGy_SupplierListApi([FromBody] JObject msg) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var _value = msg["model"].ToString(); | 
|---|
|  |  |  | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|---|
|  |  |  | //反序列化 | 
|---|
|  |  |  | _value = "[" + _value.ToString() + "]"; | 
|---|
|  |  |  | List<Supplier> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Supplier>>(_value); | 
|---|
|  |  |  | string sql = string.Empty; | 
|---|
|  |  |  | //保存 | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  | sql = $"delete from Gy_Supplier where HItemID = {lsmain[0].HItemID}"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | sql = "set identity_insert Gy_Supplier on"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | oCN.RunProc("Insert Into Gy_Supplier " + | 
|---|
|  |  |  | "(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,HMaterClass,HERPItemID) " + | 
|---|
|  |  |  | " 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].HMaterClass+ | 
|---|
|  |  |  | "'," + lsmain[0].HItemID + | 
|---|
|  |  |  | ") "); | 
|---|
|  |  |  | //修改上级为非末级代码 | 
|---|
|  |  |  | sql = "set identity_insert Gy_Supplier off"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "保存成功!"; | 
|---|
|  |  |  | objJsonResult.data = 1; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "保存失败!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = 1; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 修改单据-保存按钮 | 
|---|
|  |  |  | ///参数:string sql。 | 
|---|
|  |  |  | ///返回值:object。 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [Route("Gy_Supplier/AddBill1")] | 
|---|
|  |  |  | [HttpPost] | 
|---|
|  |  |  | public object AddBill1([FromBody] JObject oMain) | 
|---|
|  |  |  | 
|---|
|  |  |  | 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();   //权限模块代码 | 
|---|
|  |  |  | string msg3 = sArray[1].ToString();   //子表数据 | 
|---|
|  |  |  | string msg4 = sArray[2].ToString();   //列表主ID | 
|---|
|  |  |  | string msg5 = sArray[3].ToString();   //登录人员 | 
|---|
|  |  |  | string msg6 = sArray[4].ToString();   //权限模块代码 | 
|---|
|  |  |  | //反序列化 | 
|---|
|  |  |  | msg2 = "[" + msg2.ToString() + "]"; | 
|---|
|  |  |  | List<Supplier> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Supplier>>(msg2); | 
|---|
|  |  |  | 
|---|
|  |  |  | long HCreateOrgID = list[0].HCreateOrgID; | 
|---|
|  |  |  | long HUseOrgID = list[0].HUseOrgID; | 
|---|
|  |  |  | string HRemark = list[0].HRemark; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string HMaterClass = list[0].HMaterClass; | 
|---|
|  |  |  | long HPSStyleID = list[0].HPSStyleID; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断权限 | 
|---|
|  |  |  | if (!ClsPub.Security_Log(msg5, 1, true, msg4)) | 
|---|
|  |  |  | if (!ClsPub.Security_Log(msg6, 1, false, msg5)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "没有找到该功能模块!"; | 
|---|
|  |  |  | objJsonResult.Message = "无保存权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | ",HEnglishAddress='" + HEnglishAddress + "'" + | 
|---|
|  |  |  | ",HCurID=" + HCurID.ToString() + | 
|---|
|  |  |  | ",HSSID=" + HSSID.ToString() + | 
|---|
|  |  |  | ",HAreaID=" + HAreaID.ToString() + "Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | ",HMaterClass='" + HMaterClass + | 
|---|
|  |  |  | "',HPSStyleID='"+ HPSStyleID.ToString() + | 
|---|
|  |  |  | "',HUSEORGID='" + HUseOrgID.ToString() + | 
|---|
|  |  |  | "',HCREATEORGID='" + HCreateOrgID.ToString() + | 
|---|
|  |  |  | "',HAreaID=" + HAreaID.ToString() + "Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //修改子项目代码 | 
|---|
|  |  |  | 
|---|
|  |  |  | //将上级 为非末级 | 
|---|
|  |  |  | oCN.RunProc("Update Gy_Supplier set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|---|
|  |  |  | // | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //子表添加 | 
|---|
|  |  |  | List<ClsGy_Supplier_PayPlan> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_Supplier_PayPlan>>(msg3); | 
|---|
|  |  |  | int i = 0; | 
|---|
|  |  |  | //删除子表操作 防止出错 | 
|---|
|  |  |  | oCN.RunProc("delete from Gy_Supplier_PayPlan where HSupID='" + HItemID + "'"); | 
|---|
|  |  |  | foreach (ClsGy_Supplier_PayPlan oSub in DetailColl) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | i++; | 
|---|
|  |  |  | oCN.RunProc($@"Insert into Gy_Supplier_PayPlan | 
|---|
|  |  |  | (HSupID,HSubID,HPayType,HPayRate,HPayTime,HPayRemark) | 
|---|
|  |  |  | values({HItemID},{i} ,'{oSub.HPayType}',{oSub.HPayRate},{oSub.HPayTime},'{oSub.HPayRemark}')"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | 
|---|
|  |  |  | DAL.ClsGy_Supplier_View oGroupHlp = new DAL.ClsGy_Supplier_View(); | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, User)) | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | if (oGroup.DeleteByID(HItemID)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //删除子表 | 
|---|
|  |  |  | oCN.RunProc("delete from Gy_Supplier_PayPlan where HSupID='" + HItemID + "'"); | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | //写入日志 | 
|---|
|  |  |  | ClsPub.Add_Log("", "删除项目,代码:" + oGroupHlp.omodel.HNumber + ",名称:" + oGroupHlp.omodel.HName, ClsPub.CurUserName); | 
|---|
|  |  |  | //更新上级为 末级 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "删除失败"; | 
|---|
|  |  |  | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 供应商审核、反审核 | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="HInterID">单据ID</param> | 
|---|
|  |  |  | /// <param name="IsAudit">审核(0),反审核(1)</param> | 
|---|
|  |  |  | /// <param name="CurUserName">审核人</param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [Route("Gy_Supplier/AuditGy_Supplier")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object AuditGy_Material(int HInterID, int IsAudit, string CurUserName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //审核权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier_Check", 1, false, CurUserName)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "审核失败!无权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var ds = oCN.RunProcReturn("select * from Gy_Supplier where HItemID=" + HInterID, "Gy_Supplier"); | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (IsAudit == 0)  //审核判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据已审核!不能再次审核!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (IsAudit == 1) //反审核判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据未审核!不需要反审核!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据不存在!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (IsAudit == 0)  //审核判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RunProc("update Gy_Supplier set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "审核成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (IsAudit == 1) //反审核判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RunProc("update Gy_Supplier set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "反审核成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RollBack(); | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 供应商禁用、反禁用 | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="HInterID">单据ID</param> | 
|---|
|  |  |  | /// <param name="IsStop">禁用(0),反禁用(1)</param> | 
|---|
|  |  |  | /// <param name="CurUserName">审核人</param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [Route("Gy_Supplier/StopGy_Supplier")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object StopGy_Supplier(int HInterID, int IsStop, string CurUserName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //审核权限 | 
|---|
|  |  |  | if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier_Stop", 1, false, CurUserName)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "禁用失败!无权限!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var ds = oCN.RunProcReturn("select * from Gy_Supplier where HItemID=" + HInterID, "Gy_Supplier"); | 
|---|
|  |  |  | if (ds.Tables[0].Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (IsStop == 0)  //禁用判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据已禁用!不能再次禁用!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (IsStop == 1) //反禁用判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "") | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据未禁用!不需要反禁用!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "单据不存在!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.BeginTran(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (IsStop == 0)  //禁用判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RunProc("update Gy_Supplier set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "禁用成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (IsStop == 1) //反禁用判断 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RunProc("update Gy_Supplier set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "反禁用成功"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | oCN.RollBack(); | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region [同步基础资料] | 
|---|
|  |  |  | [Route("Gy_Supplier/Gy_SupplierViewApi")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public json Gy_SupplierViewApi(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_Supplier", 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_Supplier where HNumber = '" + Number + "'", "Gy_Supplier"); | 
|---|
|  |  |  | 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"], | 
|---|
|  |  |  | HPAYCONDITION = _saveObj["Result"]["Result"]["SupplierFinance"][0]["PayCondition_Id"] | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | // 删除主表对应数据 | 
|---|
|  |  |  | sql = $"delete from Gy_Supplier where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sql = "set identity_insert Gy_Supplier on"; | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //插入表 | 
|---|
|  |  |  | sql = $@" | 
|---|
|  |  |  | insert into Gy_Supplier | 
|---|
|  |  |  | (HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID | 
|---|
|  |  |  | ,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID | 
|---|
|  |  |  | ,HPAYCONDITION | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | values | 
|---|
|  |  |  | ({jsonData.HItemID},{jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}', | 
|---|
|  |  |  | '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID},{jsonData.HPAYCONDITION})"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | oCN.RunProc(sql); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sql = "set identity_insert Gy_Supplier 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 根据父id和等级获得树状图递归 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [Route("Gy_BadReason/Gy_SupTypeTreeListByLevel")] | 
|---|
|  |  |  | [HttpGet] | 
|---|
|  |  |  | public object Gy_MaterTypeTreeListByLevel() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_SupType order by hnumber"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ds = oCN.RunProcReturn(sql1, "Gy_SupType"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<TreeModel> treeModels = new List<TreeModel>(); | 
|---|
|  |  |  | TreeModel first = new TreeModel(); | 
|---|
|  |  |  | first.id = "0"; | 
|---|
|  |  |  | first.title = "供应商分类设置"; | 
|---|
|  |  |  | treeModels.Add(first); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (DataRow row in ds.Tables[0].Rows) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var HLevel = (int)row["hlevel"]; | 
|---|
|  |  |  | if (HLevel == 1) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | TreeModel tree = new TreeModel(); | 
|---|
|  |  |  | tree.id = row["hitemid"].ToString(); | 
|---|
|  |  |  | tree.title = row["hname"].ToString(); | 
|---|
|  |  |  | treeModels[0].children.Add(tree); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | getTreeByLevel(ds.Tables[0], treeModels[0].children, 2); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "Sucess!"; | 
|---|
|  |  |  | objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception e) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | objJsonResult.code = "0"; | 
|---|
|  |  |  | objJsonResult.count = 0; | 
|---|
|  |  |  | objJsonResult.Message = "Exception!" + e.ToString(); | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void getTreeByLevel(DataTable dt, List<TreeModel> tree, int num) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | for (int m = 0; m < tree.Count; m++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tree[m].children = new List<TreeModel>(); | 
|---|
|  |  |  | for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var HLevel = (int)dt.Rows[i]["hlevel"]; | 
|---|
|  |  |  | var HParentID = dt.Rows[i]["hparentid"].ToString(); | 
|---|
|  |  |  | if (HLevel == num && HParentID == tree[m].id) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | TreeModel tbjson = new TreeModel(); | 
|---|
|  |  |  | tbjson.id = dt.Rows[i]["hitemid"].ToString(); | 
|---|
|  |  |  | tbjson.title = dt.Rows[i]["hname"].ToString(); | 
|---|
|  |  |  | tree[m].children.Add(tbjson); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (int i = 0; i < tree[m].children.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | getTreeByLevel(dt, tree[m].children, num + 1);//再次用子集去循环,拿出子集的子集 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #region 物料分类 树形图(根据代码展开树状图) | 
|---|
|  |  |  | public class TreeModel | 
|---|
|  |  |  | { | 
|---|
|  |  |  | public string id { get; set; } | 
|---|
|  |  |  | public string title { get; set; } | 
|---|
|  |  |  | public List<TreeModel> children = new List<TreeModel>(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 递归函数 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | public void digui(DataTable dt, List<TreeModel> tree, int num) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | for (int m = 0; m < tree.Count; m++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | tree[m].children = new List<TreeModel>(); | 
|---|
|  |  |  | for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var strLen = dt.Rows[i]["hnumber"].ToString().Split('.'); | 
|---|
|  |  |  | if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + ".")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | TreeModel tbjson = new TreeModel(); | 
|---|
|  |  |  | tbjson.id = dt.Rows[i]["hitemid"].ToString(); | 
|---|
|  |  |  | tbjson.title = dt.Rows[i]["hname"].ToString(); | 
|---|
|  |  |  | tree[m].children.Add(tbjson); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | var strLens = tree[m].id.Split('.'); | 
|---|
|  |  |  | for (int i = 0; i < tree[m].children.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | digui(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #endregion | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|