using DBUtility;
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.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers.SBGL
{
public class Gy_EquipTypeController : ApiController
{
public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
private json objJsonResult = new json();
public DataSet ds = new DataSet();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
public DLL.ClsGy_EquipTypeBill BillNew0 = new DLL.ClsGy_EquipTypeBill(); //模具报废入库对应单据类
public DLL.ClsGy_EquipTypeBill BillOld0 = new DLL.ClsGy_EquipTypeBill(); //模具报废入库对应单据类
#region 设备分类列表
[Route("Gy_EquipType/GetList")]
[HttpGet]
public object GetList(string sWhere)
{
try
{
ds = oCN.RunProcReturn("select HItemID,HParentID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag from Gy_EquipFileType where 1=1 " + sWhere, "Gy_EquipFileType");
if (ds == null)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "查询数据异常,请与管理员联系!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "返回记录成功!";
objJsonResult.data = ds.Tables[0];
return objJsonResult;
}
}
catch (Exception ex)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "查询数据异常,请与管理员联系!" + ex.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region [设备分类删除功能]
[Route("Gy_EquipType/Delete_EquipType")]
[HttpGet]
public object Delete_EquipType(string HItemID)
{
string s = "";
Int64 lngBillKey = 0;
lngBillKey = DBUtility.ClsPub.isLong(HItemID);
if (lngBillKey == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据ID为空!";
objJsonResult.data = null;
return objJsonResult;
}
DLL.ClsGy_EquipTypeBill oBill = new DLL.ClsGy_EquipTypeBill();
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
{
bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
if (IsDete)
{
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
}
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据未找到";
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region 模治具分类新增保存
///
/// 模治具分类-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Gy_EquipType/AddBill")]
[HttpPost]
public object AddBill([FromBody] JObject oMain)
{
try
{
var _value = oMain["oMain"].ToString();
string msg1 = _value.ToString();
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
//反序列化
msg2 = "[" + msg2.ToString() + "]";
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2);
string HNumber = list[0].HNumber;
string HName = list[0].HName;
string HShortNumber = list[0].HNumber;
long HParentID = list[0].HParentID;
long HLevel = list[0].HLevel;
string HHelpCode = list[0].HHelpCode;
string HRemark = list[0].HRemark;
bool HStopflag = list[0].HStopflag;
string HUseFlag = list[0].HUseFlag;
bool HEndFlag = list[0].HEndFlag;
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_EquipFileType " +
" (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime) " +
" Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID +
"," + HLevel + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "',getdate())", ref DBUtility.ClsPub.sExeReturnInfo);
//修改上级为非末级代码
oCN.RunProc("Update Gy_EquipFileType 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;
}
}
#endregion
#region 模治具分类修改保存
///
/// 修改单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Gy_EquipType/EditBill")]
[HttpPost]
public object EditBill([FromBody] JObject oMain)
{
try
{
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();
//反序列化
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].HNumber;
long HParentID = list[0].HParentID.ToString() == "" ? 0 : list[0].HParentID;
string HHelpCode = list[0].HHelpCode;
string HRemark = list[0].HRemark;
bool HStopflag = list[0].HStopflag;
string HUseFlag = list[0].HUseFlag;
if (!DBUtility.ClsPub.AllowNumber(HNumber))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
objJsonResult.data = null;
return objJsonResult;
}
DataSet DS = oCN.RunProcReturn("Select * from Gy_EquipFileType Where HStopflag=0 and HNumber='" + HItemID + "' and HItemID<>" + HNumber, "Gy_EquipFileType", ref Pub_Class.ClsPub.sExeReturnInfo);
if (DS.Tables[0].Rows.Count != 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "代码重复!";
objJsonResult.data = null;
return objJsonResult;
}
//若MAINDI重复则重新获取
oCN.BeginTran();
//主表
oCN.RunProc("Update Gy_EquipFileType set " +
" HNumber='" + HNumber + "'" +
",HName='" + HName + "'" +
",HShortNumber='" + HShortNumber + "'" +
",HHelpCode='" + HHelpCode + "'" +
",HParentID=" + HParentID +
",HStopflag='" + HStopflag + "'" +
",HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
//修改子项目代码
//oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
//将上级 为非末级
oCN.RunProc("Update Gy_EquipFileType 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;
}
}
#endregion
#region[设备分类编辑时获取表头数据]
[Route("Gy_EquipType/Gy_EquipTypeCheckDetai")]
[HttpGet]
public object Gy_EquipTypeCheckDetai(long HInterID)
{
try
{
ds = oCN.RunProcReturn("select * from Gy_EquipFileType where HItemID=" + HInterID, "Gy_EquipFileType");
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;
}
}
#endregion
}
}