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;
///
/// 返回供应商列表
///参数:string sql。
///返回值:object。
///
[Route("Gy_Supplier/list")]
[HttpGet]
public object list(string sWhere,string Organization)
{
try
{
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");
}
else
{
string sql = sql1 + sWhere + " order by HItemID desc";
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;
}
}
///
/// 获取最大基础资料ID
///参数:string sql。
///返回值:object。
///
[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;
}
}
///
/// 供应商列表修改按钮方法
///参数:string sql。
///返回值:object。
///
[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;
}
}
///
/// 新增单据-保存按钮
///参数:string sql。
///返回值:object。
///
[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 list = Newtonsoft.Json.JsonConvert.DeserializeObject>(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;
}
}
///
/// 修改单据-保存按钮
///参数:string sql。
///返回值:object。
///
[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 list = Newtonsoft.Json.JsonConvert.DeserializeObject>(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, true, 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;
}
}
///
/// 供应商列表删除
///
/// 删除列的ID
/// 当前登录用户
///
///
[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, true, 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;
}
}
//
}
}