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 { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; /// /// 返回客户列表 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Customer/list")] [HttpGet] public object list(string sWhere,string user, string Organization) { try { //编辑权限 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 HItemID desc", "h_v_Gy_CustomerList"); } else { string sql = sql1 + sWhere + " order by HItemID desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_CustomerList"); } 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; } } /// /// 客户列表修改按钮方法 ///参数:string sql。 ///返回值:object。 /// [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; } } /// /// 获取最大基础资料ID ///参数:string sql。 ///返回值:object。 /// [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; } } /// /// 客户列表树形结构 ///参数:string sql。 ///返回值:object。 /// [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; } } /// /// 新增单据-保存按钮 ///参数:string sql。 ///返回值:object。 /// [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 list = Newtonsoft.Json.JsonConvert.DeserializeObject>(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; } } /// /// 修改单据-保存按钮 ///参数:string sql。 ///返回值:object。 /// [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 list = Newtonsoft.Json.JsonConvert.DeserializeObject>(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; } } /// /// 客户列表删除按钮 ///参数:string sql。 ///返回值:object。 /// [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; } } // } }