using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
public class Xt_FastICSchemeController : ApiController
{
private json objJsonResult = new json();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds;
///
/// 返回过滤方案列表
///参数:string sql。
///返回值:object。
///
[Route("Xt_FastICScheme/list")]
[HttpGet]
public object list(string user, string HModuleName)
{
try
{
List columnNameList = new List();
string sql = string.Format(@"select * from h_v_Xt_FastICSchemeList where 用户编码='" + user + "' and 模块名称 = '" + HModuleName + "'");
ds = oCN.RunProcReturn(sql, "h_v_Xt_FastICSchemeList");
//添加列名
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)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
///
/// 返回过滤方案列表
///参数:string sql。
///返回值:object。
///
[Route("Xt_FastICScheme/Chooselist")]
[HttpGet]
public object Chooselist(string user, string HModuleName,Int64 HInterID,string Type)
{
try
{
List columnNameList = new List();
string sql = "";
if (Type == "Default")
{
sql = string.Format(@"select * from h_v_Xt_FastICScheme_ChooseList where 用户编码='" + user + "' and 模块名称 = '" + HModuleName + "' and 默认使用标记 = '默认方案'");
}
else
{
sql = string.Format(@"select * from h_v_Xt_FastICScheme_ChooseList where 用户编码='" + user + "' and 模块名称 = '" + HModuleName + "' and hmainid = " + HInterID);
}
ds = oCN.RunProcReturn(sql, "h_v_Xt_FastICScheme_ChooseList");
if (ds.Tables[0].Rows.Count != 0 && ds != null)
{
//添加列名
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;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有查询到数据!";
objJsonResult.data = ds.Tables[0];
objJsonResult.list = columnNameList;
return objJsonResult;
}
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#region 快速过滤方案
///
/// 新增修改单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Xt_FastICScheme/Save")]
[HttpPost]
public object Save([FromBody] JObject oMain)
{
try
{
DAL.ClsXt_FastICScheme_Ctl oDept = new DAL.ClsXt_FastICScheme_Ctl();
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();//标签类型
string msg6 = sArray[4].ToString();//用户
string OperationType = sArray[5].ToString();//操作类型
DAL.ClsXt_FastICScheme_Ctl oBill = new DAL.ClsXt_FastICScheme_Ctl();
//反序列化
ListModels oListModels = new ListModels();
List lsmain = new List();
msg2 = msg2.Replace("\\", "");
msg2 = msg2.Replace("\n", ""); //\n
if (Convert.ToInt32(OperationType) != 3)
{
lsmain = oListModels.getObjectByJson_Xt_FastICSchemeMain(msg2);
}
else
{
oBill.omodel.HInterID = Convert.ToInt32(msg2);
}
foreach (Model.ClsXt_FastICSchemeMain_Model oItem in lsmain)
{
oItem.HBillType = "3332";
oBill.omodel = oItem;
}
////表体数据
////按 },{来拆分数组 //去掉【和】
//msg3 = msg3.Substring(1, msg3.Length - 2);
//msg3 = msg3.Replace("\\", "");
//msg3 = msg3.Replace("\n", ""); //\n
////msg2 = msg2.Replace("'", "’");
//List ls = new List();
//ls = oListModels.getObjectByJson_Gy_ICMOReportBillSub(msg3);
//int i = 0;
//保存
//保存完毕后处理
bool bResult;
if (Convert.ToInt32(OperationType) == 1)
{
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
bResult = oBill.AddBill(msg3, msg4, msg5, ref DBUtility.ClsPub.sExeReturnInfo);
}
else
{
bResult = oBill.ModifyBill(Convert.ToInt32(msg2), msg3, msg4, msg5, ref DBUtility.ClsPub.sExeReturnInfo);
}
if (bResult)
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "保存成功!";
//WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
objJsonResult.data = 1;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = 1;
return objJsonResult;
}
}
catch (Exception e)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.Message;
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region 过滤方案删除功能
[Route("Xt_FastICScheme/DeltetXt_FastICScheme")]
[HttpGet]
public object DeltetXt_FastICScheme(string HInterID, string user)
{
try
{
if (string.IsNullOrWhiteSpace(HInterID))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "HInterID为空!";
objJsonResult.data = null;
return objJsonResult;
}
oCN.BeginTran();//开始事务
oCN.RunProc("delete from xt_FastICSchemeMain where HInterID in (" + HInterID + ")");
oCN.RunProc("delete from xt_FastICSchemeSub where HInterID in (" + HInterID + ")");
oCN.Commit();//提交事务
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "* 数据删除成功!";
objJsonResult.data = null;
return objJsonResult; ;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "删除失败!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
}
}