using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
public class LMESController : ApiController
{
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
private json objJsonResult = new json();
///
/// 返回进站扫描列表|工序进站接收单列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_StationInBillList_Json")]
[HttpGet]
public object MES_StationInBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_MES_StationInBillList", "h_v_MES_StationInBillList");
}
else
{
string sql1 = "select * from h_v_MES_StationInBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回工序流转卡维护列表主表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_Sc_ProcessExchangeBillQuery_Json")]
[HttpGet]
public object MES_Sc_ProcessExchangeBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuery", "h_v_Sc_ProcessExchangeBillQuery");
}
else
{
string sql1 = "select * from h_v_Sc_ProcessExchangeBillQuery where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeBillQuery");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回工序流转卡维护列表从表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_Sc_ProcessExchangeBillQuerySub_Json")]
[HttpGet]
public object MES_Sc_ProcessExchangeBillSub_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
string sql = "select * from h_v_Sc_ProcessExchangeBillQuerySub where hmainid = ";
string sql1 = sql + sWhere;
ds = oCN.RunProcReturn(sql1, "h_v_Sc_ProcessExchangeBillQuerySub");
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回工序出站汇报单列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_StationOutBillList_Json")]
[HttpGet]
public object MES_StationOutBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList ", "h_v_MES_StationInBillList");
}
else
{
string sql1 = "select * from h_v_MES_StationOutBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_MES_StationOutBillList");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回工序委外发出单列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_StationEntrustInBillList_Json")]
[HttpGet]
public object MES_StationEntrustInBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList ", "h_v_MES_StationEntrustInBillList");
}
else
{
string sql1 = "select * from h_v_MES_StationEntrustInBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回工艺路线列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_Gy_RoutingBillList_Json")]
[HttpGet]
public object MES_Gy_RoutingBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList ", "h_v_Gy_RoutingBillList");
}
else
{
string sql1 = "select * from h_v_Gy_RoutingBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回生产任务单列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_IF_ICMOBillList_Json")]
[HttpGet]
public object MES_IF_ICMOBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList ", "h_v_IF_ICMOBillList");
}
else
{
string sql1 = "select * from h_v_IF_ICMOBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_IF_ICMOBillList");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回工序委外接收单列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_StationEntrustOutBillList_Json")]
[HttpGet]
public object MES_StationEntrustOutBillList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sWhere == null || sWhere.Equals(""))
{
ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustOutBillList ", "h_v_MES_StationEntrustOutBillList");
}
else
{
string sql1 = "select * from h_v_MES_StationEntrustOutBillList where 1 = 1 ";
string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustOutBillList");
}
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
///封装状态码及返回信息的公用方法。
///参数:DataSet。
///返回值:json。
///
public object GetObjectJson(DataSet ds)
{
try
{
if (ds == null || ds.Tables[0].Rows.Count <= 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有返回任何记录!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "获取信息成功!";
objJsonResult.data = ds.Tables[0];
return objJsonResult;
}
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有返回任何记录!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
///
///自定义错误信息方法。
///参数:string。
///返回值:object。
///
public object CustomError(string msg)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = msg;
objJsonResult.data = null;
return objJsonResult;
}
///
///统一正确信息方法。
///参数:string。
///返回值:object。
///
public object CustomCorrect(DataSet ds)
{
if (ds == null || ds.Tables[0].Rows.Count <= 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有返回任何记录!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "获取信息成功!";
objJsonResult.data = ds.Tables[0];
return objJsonResult;
}
}
///
/// 返回选择生产班组列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_GetProductionTeamList_Json")]
[HttpGet]
public object MES_GetProductionTeamList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("Select HItemID,HNumber 班组代码,HName 班组 from h_v_IF_Group where HStopflag=0 " + sWhere + " Order by HItemID ", "h_v_IF_Group");
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 返回选择生产资源列表
///参数:string sql。
///返回值:object。
///
[Route("LEMS/MES_GetProductionResourcesList_Json")]
[HttpGet]
public object MES_GetProductionResourcesList_Json(string sWhere)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("Select HItemID,HNumber 生产资源代码,HName 生产资源 from Gy_Source where HStopflag=0 " + sWhere + " Order by HItemID ", "Gy_Source");
}
catch (Exception e)
{
ds = null;
}
return GetObjectJson(ds);
}
///
/// 扫条码方法(进站接收单、出站汇报单)
///参数:string sql。
///返回值:object。
///
[Route("LEMS/TxtHBarCode_KeyDown")]
[HttpGet]
public object TxtHBarCode_KeyDown(string sBillBarCode)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sBillBarCode == null || sBillBarCode.Equals(""))
{
return CustomError("未输入条形码!");
}
else
{
//拆分条形码
string[] NewBarCode;
if (sBillBarCode.CompareTo("#") > 0)
{
NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
sBillBarCode = NewBarCode[0];
}
string sBillNo = sBillBarCode;
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "'", "h_v_Sc_ProcessExchangeBillList");
}
}
catch (Exception e)
{
ds = null;
}
return CustomCorrect(ds);
}
///
/// 流水号回车方法(进站接收单、出站汇报单)
///参数:string sql。
///返回值:object。
///
[Route("LEMS/TxtHProcNo_KeyDown")]
[HttpGet]
public object TxtHProcNo_KeyDown(string sProcNo, string sBillNo)
{
DataSet ds;
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (sProcNo == null || sProcNo.Equals("") || sBillNo == null || sBillNo.Equals(""))
{
return CustomError("流水号或流转卡号为空!");
}
else
{
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "' and 下道流转工序<>'转' and 委外标记=0 and 流转标记=1 and 工序号='" + sProcNo + "'", "h_v_Sc_ProcessExchangeBillList");
}
}
catch (Exception e)
{
ds = null;
}
return CustomCorrect(ds);
}
///
/// 保存提交方法
///参数:string sql。
///返回值:object。
///
[Route("LEMS/Sub_SaveBill_Json")]
[HttpPost]
public object Sub_SaveBill_Json([FromBody]JObject oMain)
{
var _value = oMain["oMain"].ToString();
string msg1 = _value.ToString();
try
{
List lsmain = new List();
//反序列化
msg1 = "[" + msg1.ToString() + "]";
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg1);
DAL.ClsSc_StationInBill BillNew = new DAL.ClsSc_StationInBill();
DAL.ClsSc_StationInBill BillOld = new DAL.ClsSc_StationInBill();
bool bResult;
//赋值ID
if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify)
BillNew.omodel.HInterID = BillOld.omodel.HInterID;
BillNew.omodel.HYear = 2011;
BillNew.omodel.HPeriod = 1;
//BillNew.omodel.HBillNo = DBUtility.ClsPub.isStrNull(list[0].HBillNo);
//BillNew.omodel.HICMOBillNo = this.txtHICMOBillNo.Text.Trim();
//BillNew.omodel.HICMOInterID = DBUtility.ClsPub.isLong(this.txtHICMOBillNo.Tag);
//BillNew.omodel.HProcExchInterID = lngBillKey;
//BillNew.omodel.HProcExchEntryID = lngBillSubKey;
//BillNew.omodel.HProcExchBillNo = this.txtHProcExchBillNo.Text.Trim();
//BillNew.omodel.HProcID = DBUtility.ClsPub.isLong(this.txtHProcID.Tag);
//BillNew.omodel.HMaterID = DBUtility.ClsPub.isLong(this.txtHMaterID.Tag);
//BillNew.omodel.HStationInTime = DBUtility.ClsPub.isDate(this.txtHStationInTime.Text);
//BillNew.omodel.HEmpID = DBUtility.ClsPub.isLong(this.txtHEmpID.Tag);
//BillNew.omodel.HSourceID = DBUtility.ClsPub.isLong(this.txtHSourceID.Tag);
//BillNew.omodel.HGroupID = DBUtility.ClsPub.isLong(this.txtHGroupID.Tag);
//BillNew.omodel.HICMOQty = DBUtility.ClsPub.isDoule(this.txtHICMOQty.Text);
//BillNew.omodel.HPlanQty = DBUtility.ClsPub.isDoule(this.txtHPlanQty.Text);
//BillNew.omodel.HQty = DBUtility.ClsPub.isDoule(this.txtHQty.Text);
//BillNew.omodel.HPieceQty = DBUtility.ClsPub.isDoule(this.txtHPieceQty.Text);
//BillNew.omodel.HSourceName = DBUtility.ClsPub.isStrNull(this.txtHSourceName.Text);
//BillNew.omodel.HCenterID = DBUtility.ClsPub.isLong(this.txtHCenterID.Tag);
//BillNew.omodel.HProcNo = DBUtility.ClsPub.isLong(this.txtHProcNo.Text);
//BillNew.omodel.HOrderProcNO = DBUtility.ClsPub.isStrNull(this.txtHOrderProcNO.Text);
//保存完毕后处理
if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
{
bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
}
else
{
bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
}
if (bResult == true)
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "生成汇报单成功!单据号为:";
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "上传失败!" + DBUtility.ClsPub.sErrInfo;
objJsonResult.data = null;
return objJsonResult;
}
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "上传失败!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
//以下是工序出站汇报单单据方法-----------
//
}
}