using DAL;
using DBUtility;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using SQLHelper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI;
using WebAPI.Models;
using WebAPI.Service;
namespace WebAPI.Controllers
{
public class WebAPIController : ApiController
{
public string sWhere = "";
public WebServer webserver = new WebServer();
public DataSet ds = new DataSet();
private json objjson = new json();
private json objJsonResult = new json();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
//public static string sUrl = "http://183.129.128.86:9090/WEBS-WMSTest/WebService1.asmx";
// private POInStockBillServices oclscg_poinstockbillmain = new POInStockBillServices();
///
/// 送货单表头信息
///
///
///
[Route("Web/GetMAXNum")]
[HttpGet]
public object GetMAXNum(string HBillType)
{
try
{
string HBillNo = "";
Int64 HInterID = 0;//显示的字段
HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
HBillNo = DBUtility.ClsPub.CreateBillCode(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
//----------创建虚表------------------------
DataTable dt_Main = new DataTable("Json");
dt_Main.Columns.Add("HBillNo", typeof(string));
dt_Main.Columns.Add("HInterID", typeof(int));
//---------创建新行------------------------
DataRow dr_main = dt_Main.NewRow();//创建新行
dt_Main.Rows.Add(dr_main);//将新行加入到表中
dr_main["HBillNo"] = DBUtility.ClsPub.isStrNull(HBillNo);
dr_main["HInterID"] = DBUtility.ClsPub.isLong(HInterID);
if (HBillNo == null || HInterID == 0)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "获取失败";
objjson.data = null;
return objjson;
}
else
{
objjson.code = "0";
objjson.count = 1;
objjson.Message = "获取成功";
objjson.data = dt_Main;
return objjson;
}
}
catch (Exception e)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "获取失败" + e.ToString();
objjson.data = null;
return objjson;
}
}
[Route("Web/GetMAXNumPDA")]
[HttpGet]
public object GetMAXNumPDA(string HBillType)
{
try
{
string HBillNo = "";
string sErrMsg = "";
Int64 HInterID = 0;//显示的字段
HInterID = DBUtility.ClsPub.CreateBillID_Prod(HBillType, ref sErrMsg);
HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HBillType, ref sErrMsg, true);
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_IF_CheckBillIDExists_WMS " + HInterID + ",'" + HBillNo + "'", "h_p_IF_CheckBillIDExists_WMS");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "存在重复单据内码或单据号的单据,不允许新增,请退出后重新登录!";
objjson.code = "0";
objjson.count = 0;
objjson.Message = sErrMsg;
objjson.data = null;
return objjson;
}
else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "1")
{
sErrMsg = "存在重复单据内码或单据号的单据,不允许新增,请退出后重新登录!";
objjson.code = "0";
objjson.count = 0;
objjson.Message = sErrMsg;
objjson.data = null;
return objjson;
}
else
{
//----------创建虚表------------------------
DataTable dt_Main = new DataTable("Json");
dt_Main.Columns.Add("HBillNo", typeof(string));
dt_Main.Columns.Add("HInterID", typeof(int));
//---------创建新行------------------------
DataRow dr_main = dt_Main.NewRow();//创建新行
dt_Main.Rows.Add(dr_main);//将新行加入到表中
dr_main["HBillNo"] = DBUtility.ClsPub.isStrNull(HBillNo);
dr_main["HInterID"] = DBUtility.ClsPub.isLong(HInterID);
//返回数据
objjson.code = "0";
objjson.count = 1;
objjson.Message = "获取成功";
objjson.data = dt_Main;
return objjson;
}
}
catch (Exception e)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "获取失败" + e.ToString();
objjson.data = null;
return objjson;
}
}
//[Route("Web/Get_MaxBillNoAndID")]
//[HttpGet]
//public object Get_MaxBillNoAndID(string HBillType)
//{
// try
// {
// string HBillNo = "";
// Int64 HInterID = 0;//显示的字段
// HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
// HBillNo = DBUtility.ClsPub.CreateBillCode(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
// //----------创建虚表------------------------
// DataTable dt_Main = new DataTable("Json");
// dt_Main.Columns.Add("HBillNo", typeof(string));
// dt_Main.Columns.Add("HInterID", typeof(int));
// //---------创建新行------------------------
// DataRow dr_main = dt_Main.NewRow();//创建新行
// dt_Main.Rows.Add(dr_main);//将新行加入到表中
// dr_main["HBillNo"] = DBUtility.ClsPub.isStrNull(HBillNo);
// dr_main["HInterID"] = DBUtility.ClsPub.isLong(HInterID);
// if (HBillNo == null || HInterID == 0)
// {
// objjson.code = "0";
// objjson.count = 0;
// objjson.Message = "获取失败";
// objjson.data = null;
// return objjson;
// }
// else
// {
// objjson.code = "0";
// objjson.count = 1;
// objjson.Message = "获取成功";
// objjson.data = dt_Main;
// return objjson;
// }
// }
// catch (Exception e)
// {
// objjson.code = "0";
// objjson.count = 0;
// objjson.Message = "获取失败" + e.ToString();
// objjson.data = null;
// return objjson;
// }
//}
///
/// 登录
///
/// 用户名
/// 密码
/// 组织
///
[Route("Web/GetUser")]
[HttpGet]
public object GetUser(string UserName, string PassWord, string HOrgName)
{
try
{
DataSet ds = null;
ClsCN oCnLoc = new ClsCN();
DAL.ClsUser oUser = new DAL.ClsUser();
ds = oUser.CheckMainID(UserName.Trim(), DBUtility.ClsPub.StrToPsd(PassWord.Trim()));
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "密码错误!";
objjson.data = null;
return objjson;
}
string sql = string.Format(@" select a.* from Gy_UserByOrgRelation a
where a.HUserID = '{0}' and a.HOrgID = '{1}'", UserName, HOrgName);
DataSet _ds = oCnLoc.RunProcReturn(sql, "h_p_Xt_UserRelationOrg_Check");
//if (_ds == null || _ds.Tables[0].Rows.Count == 0)
//{
// objjson.code = "0";
// objjson.count = 0;
// objjson.Message = "用户" + UserName + "没有该组织权限";
// objjson.data = null;
// return objjson;
//}
objjson.code = "0";
objjson.count = 1;
objjson.Message = "登录成功!";
objjson.data = ds.Tables[0];
return objjson;
}
catch (Exception e)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "登录异常!" + e.Message;
objjson.data = null;
return objjson; ;
}
}
///
/// 菜单栏
///
///
[Route("Web/MenuBar")]
[HttpGet]
public object MenuBar(string UserName)
{
try
{
//获取系统参数
string Ret = "";
if (oSystemParameter.ShowBill(ref Ret))
{
//判断客户为龙山汽配
if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
{
//判断是否有查询权限
if (!DBUtility.ClsPub.Security_Log("Xt_MenuBar_Unfold", 1, false, UserName))
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "无展开菜单栏权限!";
objjson.data = null;
return objjson;
}
}
}
objjson.code = "0";
objjson.count = 1;
objjson.Message = "展开成功!";
objjson.data = 1;
return objjson;
}
catch (Exception e)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "异常!" + e.Message;
objjson.data = null;
return objjson; ;
}
}
///
/// 修改密码
///
///
///
///
[Route("Web/GetXGPassword")]
[HttpGet]
public object GetXGPassword(string UserName, string oldPassword, string PassWord, string Repassword)
{
try
{
ClsCN oCn = new ClsCN();
DataSet oDs = new DataSet();
//==========
oDs = oCn.RunProcReturn("select Czmm from Gy_Czygl where Czybm='" + UserName + "'", "Gy_Czygl");
if (PassWord.Trim() != Repassword.Trim())
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "2次密码不一致!";
objjson.data = oDs.Tables[0];
return objjson; ;
}
//===========
if (oDs == null || oDs.Tables[0].Rows.Count == 0)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "没有这个用户,不能修改密码!";
objjson.data = null;
return objjson; ;
}
else
{
oCn.RunProc("update Gy_Czygl set Czmm='" + ClsPub.StrToPsd(PassWord.Trim()) + "' where Czybm='" + UserName.Trim() + "'");
objjson.code = "0";
objjson.count = 1;
objjson.Message = "* 密码修改成功!";
objjson.data = null;
return objjson; ;
}
}
catch (Exception)
{
objjson.code = "0";
objjson.count = 0;
objjson.Message = "修改密码异常!";
objjson.data = null;
return objjson; ;
}
}
#region 用户设置
#region 获取用户信息
[Route("Gy_USERSet_PDA/GetGy_Czygl_Info")]
[HttpGet]
public object GetGy_Czygl_Info(string Czybm, string user)
{
try
{
//查看权限
//if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user))
//{
// objJsonResult.code = "0";
// objJsonResult.count = 0;
// objJsonResult.Message = "无查看权限!";
// objJsonResult.data = null;
// return objJsonResult;
//}
string sql = @"select Czybm, Czymc, HWhID, HWhName, HSecManagerID, HSecManager, HKeeperID, HKeeper, HDeptID, HDept, HCloudUserName, HCloudUserPsd from Gy_Czygl where Czybm = '" + Czybm + "'";
ds = oCN.RunProcReturn(sql, "Gy_Czygl");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "未找到相关数据!";
objJsonResult.data = null;
return objJsonResult;
}
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;
}
}
#endregion
#region 保存用户信息
[Route("Gy_USERSet_PDA/SaveGy_Czygl_Info")]
[HttpPost]
public object SaveGy_Czygl_Info([FromBody] JObject sMainSub)
{
try
{
//获取参数
var _value = sMainSub["sMainSub"].ToString();
string msg1 = _value.ToString();
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
Int64 HWhID = Int64.Parse(sArray[0].ToString());
string HWhName = sArray[1].ToString();
Int64 HSecManagerID = Int64.Parse(sArray[2].ToString());
string HSecManager = sArray[3].ToString();
Int64 HKeeperID = Int64.Parse(sArray[4].ToString());
string HKeeper = sArray[5].ToString();
Int64 HDeptID = Int64.Parse(sArray[6].ToString());
string HDept = sArray[7].ToString();
string HCloudUserName = sArray[8].ToString().Trim();
string HCloudUserPsd = sArray[9].ToString().Trim();
string Czybm = sArray[10].ToString();
string user = sArray[11].ToString(); //操作用户的用户名
////判断是否有新增权限
//if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQualityStatus_Tmp_Edit", 1, false, user))
//{
// objJsonResult.code = "0";
// objJsonResult.count = 0;
// objJsonResult.Message = "无新增权限!";
// objJsonResult.data = null;
// return objJsonResult;
//}
string sql = "update Gy_Czygl set " +
"HWhID = " + HWhID +
", HWhName = '" + HWhName +
"', HSecManagerID = " + HSecManagerID +
", HSecManager = '" + HSecManager +
"', HKeeperID = " + HKeeperID +
", HKeeper = '" + HKeeper +
"', HDeptID = " + HDeptID +
", HDept = '" + HDept +
"', HCloudUserName = '" + HCloudUserName +
"', HCloudUserPsd = '" + HCloudUserPsd +
"' where Czybm = '" + Czybm + "'";
oCN.RunProc(sql);
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Sucess!";
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
#endregion
//撤销缓存列表记录
[Route("Web/Rescind_Json")]
[HttpGet]
public object Rescind_Json(long sHInterID, string sBillNo, string sBillType)
{
string sErrMsg = string.Empty;
try
{
if (webserver.RescindBillList(sHInterID, sBillNo, sBillType, ref sErrMsg))
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "删除成功!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "删除失败!";
objJsonResult.data = null;
return objJsonResult;
}
}
catch (Exception)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "删除失败!";
objJsonResult.data = null;
return objJsonResult;
}
}
//删除缓存列表记录
[Route("Web/Delete_Json")]
[HttpGet]
public object Delete_Json(long sHInterID)
{
string sErrMsg = string.Empty;
try
{
if (webserver.DeleteBillList(sHInterID, ref sErrMsg))
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "删除成功!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "删除失败!";
objJsonResult.data = null;
return objJsonResult;
}
}
catch (Exception)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "删除失败!";
objJsonResult.data = null;
return objJsonResult;
}
}
//缓存列表刷新
[Route("Web/DisBillEntryList_Mate_Webs_Json")]
[HttpGet]
public object DisBillEntryList_Webs_Json(string HBillType, string sWhere)
{
try
{
ds = webserver.GetKf_PonderationBillMain_TempList(HBillType, sWhere);
List