using Newtonsoft.Json; 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 System.Windows.Forms; using WebAPI.Models; namespace WebAPI.Controllers { public class LMESController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); /// /// 返回进站扫描列表|工序进站接收单列表 ///参数: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, string user,string HBillSubType) { DataSet ds; try { List columnNameList = new List(); if (HBillSubType == "SUB") { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_SubQuery", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "指引卡无查询权限!"; objJsonResult.data = null; return objJsonResult; } } else { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "流转卡无查询权限!"; objJsonResult.data = null; return objJsonResult; } } //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //获取需要拼接的字符串 string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工序派工单列表"); sWhere += sql_splice; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillQuery"); //添加列名 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.list = columnNameList; 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; } } #region 工序流转卡维护-查询 /// /// 返回工序流转卡维护列表主表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Sc_ProcessExchangeBillList_Query")] [HttpGet] public object Sc_ProcessExchangeBillList_Query(string sWhere, string user, string HBillSubType) { DataSet ds; try { List columnNameList = new List(); if (HBillSubType == "SUB") { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_SubQuery", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "指引卡无查询权限!"; objJsonResult.data = null; return objJsonResult; } } else { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "流转卡无查询权限!"; objJsonResult.data = null; return objJsonResult; } } //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //获取需要拼接的字符串 string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工序派工单列表"); sWhere += sql_splice; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList_Query where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillList_Query"); //添加列名 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.list = columnNameList; 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; } } #endregion #region 工序流转卡 下查 /// /// /// 单据ID /// [Route("LEMS/MES_Sc_ProcessExchangeBillQuery_LookDown")] [HttpGet] public object MES_Sc_ProcessExchangeBillQuery_LookDown(int HInterID) { DataSet ds; try { List columnNameListSum = new List(); List columnNameList0 = new List(); List columnNameList1 = new List(); List columnNameList2 = new List(); List columnNameList3 = new List(); //List columnNameList4 = new List(); string sql = "exec h_p_Sc_ProcessExchangeBillList_LookDown " + HInterID; ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchangeBillList_LookDown"); //添加 工序进站接收单 列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList0.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 工序出站汇报单 列名 foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList1.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 指引卡开工单 列名 foreach (DataColumn col in ds.Tables[2].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList2.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 指引卡完工单 列名 foreach (DataColumn col in ds.Tables[3].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList3.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } ////添加 工序流转卡 列名 //foreach (DataColumn col in ds.Tables[4].Columns) //{ // Type dataType = col.DataType; // string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; // columnNameList4.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 //} columnNameListSum.Add(columnNameList0); columnNameListSum.Add(columnNameList1); columnNameListSum.Add(columnNameList2); columnNameListSum.Add(columnNameList3); //columnNameListSum.Add(columnNameList4); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables; objJsonResult.list = columnNameListSum; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion /// /// 工序流转卡只显示工序染厂的数据 /// /// /// /// [Route("LEMS/MES_ProcessExchangeBillList_Json")] [HttpGet] public object MES_ProcessExchangeBillList_Json(string sWhere, string user,int OperationType) { DataSet ds; try { List columnNameList = new List(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } if (OperationType == 1) { //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为乔一 if (oSystemParameter.omodel.WMS_CampanyName == "乔一") { sWhere += " and 工序='染厂' "; } else { sWhere += " and 工序='粗磨' "; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeBillList where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillList"); } else { //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "乔一") { } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeArrangementList where 1 = 1 " + sWhere , "h_v_Sc_ProcessExch_v_Sc_ProcessExchangeArrangementListhangeBillList"); } //添加列名 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.list = columnNameList; 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; } } #region 工序流转卡只显示工序数据 [Route("LEMS/MES_ProcessExchangeBillList_PG")] [HttpGet] public object MES_ProcessExchangeBillList_PG(string sWhere, string user, int OperationType) { DataSet ds; try { List columnNameList = new List(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } if (OperationType == 1) { //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为杭州斯莫尔 if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") { sWhere += " "; } else { sWhere += " "; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeArrangementList_PG"); } else { //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为杭州斯莫尔 if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔") { } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementList_PG"); } //添加列名 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.list = columnNameList; 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; } } #endregion #region 工序流转卡 派工(斯莫尔) [Route("LEMS/ProcessExchangeArrangement_Add_PG")] [HttpGet] public object ProcessExchangeArrangement_Add_PG(string HInterID_S, int HSourceID, long HOrgID, string user) { DataSet ds; try { if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "流转卡无编辑权限!"; objJsonResult.data = null; return objJsonResult; } var HNum = HInterID_S.Split(','); for (int j = 0; j < HNum.Length; j++) { long HInterID = long.Parse(HNum[j].Split('|')[0]); long HEntryID = long.Parse(HNum[j].Split('|')[1]); ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无此工序流转卡!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSourceID + " where HInterID=" + HInterID + " and HEntryID=" + HEntryID); oCN.RunProc("exec h_p_Sc_ICMOBillStatus_Tmp_PG " + HInterID + "," + HEntryID); 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 取消派工功能(斯莫尔) [Route("LEMS/ProcessExchangeArrangementDel_PG")] [HttpGet] public object ProcessExchangeArrangementDel_PG(string HInterID_S, int HSourceID, string user) { DataSet ds; DataSet ds1; try { if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "流转卡无编辑权限!"; objJsonResult.data = null; return objJsonResult; } var HNum = HInterID_S.Split(','); oCN.BeginTran(); for (int j = 0; j < HNum.Length; j++) { long HInterID = long.Parse(HNum[j].Split('|')[0]); long HEntryID = long.Parse(HNum[j].Split('|')[1]); ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无此工序流转卡!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceInterID=" + HInterID + " and HSourceEntryID=" + HEntryID + " and HSourceID=" + HSourceID, "Sc_ICMOBillStatus_Tmp"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "报工查无数据!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HICMOStatus"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "流转卡对应的报工数据不为未开工状态,无法删除!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + HInterID + " and HEntryID=" + HEntryID); oCN.RunProc("delete from Sc_ICMOBillStatus_Tmp where HSourceInterID=" + HInterID + " and HSourceEntryID=" + HEntryID); } 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 排缸功能 [Route("LEMS/ProcessExchangeArrangement_Add")] [HttpGet] public object ProcessExchangeArrangement_Add(string HInterID_S, int HSourceID,long HOrgID,string user) { DataSet ds; DataSet ds1; DataSet ds2; try { if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "指引卡无编辑权限!"; objJsonResult.data = null; return objJsonResult; } var HNum = HInterID_S.Split(','); for (int j = 0; j < HNum.Length; j++) { long HInterID = long.Parse(HNum[j].Split('|')[0]); long HEntryID = long.Parse(HNum[j].Split('|')[1]); ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无此工序流转卡!"; objJsonResult.data = null; return objJsonResult; } //查询子工艺路线物料 工序 string HMaterID = ds.Tables[0].Rows[0]["HMaterID"].ToString(); string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); ds2 = oCN.RunProcReturn(@"select a.HMaterID,a.HMainProcID,b.* from Gy_RoutingBillMain a inner join Gy_RoutingBillSub b on a.HInterID=b.HInterID where a.HMaterID=" + HMaterID + " and a.HMainProcID=" + HProcID + " and a.HBillSubType='SUB'", "Gy_RoutingBillMain"); if (ds2.Tables[0].Rows.Count == 0) { long HGYInterID = DBUtility.ClsPub.CreateBillID("3301", ref DBUtility.ClsPub.sExeReturnInfo); string HGYBillNo = DBUtility.ClsPub.CreateBillCode("3301", ref DBUtility.ClsPub.sExeReturnInfo, true); oCN.RunProc("exec h_p_gy_Materl_PG " + HGYInterID + ",'" + HGYBillNo + "'," + HMaterID); } ds1 = oCN.RunProcReturn(@"select a.HMaterID,a.HMainProcID,b.* from Gy_RoutingBillMain a inner join Gy_RoutingBillSub b on a.HInterID=b.HInterID where a.HMaterID=" + HMaterID + " and a.HMainProcID=" + HProcID + " and a.HBillSubType='SUB'", "Gy_RoutingBillMain"); if (ds1.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无默认工艺路线!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); string sReturn = ""; DBUtility.ClsPub.HOrgID = HOrgID; oBill.ShowBill(HInterID, ref sReturn); oCN.BeginTran(); long HInterID1 = DBUtility.ClsPub.CreateBillID(oBill.omodel.HBillType, ref DBUtility.ClsPub.sExeReturnInfo); string HBillNo = DBUtility.ClsPub.CreateBillCode(oBill.omodel.HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true); HBillNo = HBillNo.Replace("GXLX", "ZYK0"); oBill.omodel.HInterID = HInterID1; oBill.omodel.HBillNo = HBillNo; oBill.omodel.HBillSubType = "SUB"; oBill.omodel.HDate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); oBill.omodel.HMaker = user; oBill.omodel.HMakeDate = DateTime.Now.ToString(); oBill.omodel.HMainSourceInterID = HInterID; oBill.omodel.HMainSourceEntryID = HEntryID; oBill.omodel.HMainSourceBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); oBill.DetailColl.Clear(); for (int i = 0; i < ds1.Tables[0].Rows.Count; i++) { Model.ClsSc_ProcessExchangeBillSub oSub = new Model.ClsSc_ProcessExchangeBillSub(); oSub.HInterID = HInterID1; oSub.HEntryID = (i + 1); oSub.HProcNo = long.Parse(ds1.Tables[0].Rows[i]["HProcNo"].ToString()); oSub.HProcID = long.Parse(ds1.Tables[0].Rows[i]["HProcID"].ToString()); oSub.HWorkRemark = ds1.Tables[0].Rows[i]["HRemark"].ToString(); oSub.HCenterID = long.Parse(ds1.Tables[0].Rows[i]["HCenterID"].ToString()); oSub.HSupID = long.Parse(ds1.Tables[0].Rows[i]["HSupID"].ToString()); oSub.HSupFlag = ds1.Tables[0].Rows[i]["HSupFlag"].ToString() == "1" ? true : false; oSub.HQty = oBill.omodel.HQty; oSub.HTechnologyParameter = ""; oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); oBill.DetailColl.Add(oSub); } bool bResult = false; bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSourceID + " where HInterID=" + HInterID + " and HEntryID=" + HEntryID); if (!bResult) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "派工失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 取消排缸功能 [Route("LEMS/ProcessExchangeArrangementDel")] [HttpGet] public object ProcessExchangeArrangementDel(string HInterID_S, int HSourceID, long HOrgID, string user) { DataSet ds; DataSet ds1; try { if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "指引卡无编辑权限!"; objJsonResult.data = null; return objJsonResult; } var HNum = HInterID_S.Split(','); oCN.BeginTran(); for (int j = 0; j < HNum.Length; j++) { ds = oCN.RunProcReturn(@"select * from Sc_ProcessExchangeBillMain a where a.HInterID=" + HNum[j], "Sc_ProcessExchangeBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无此子工序流转卡!"; objJsonResult.data = null; return objJsonResult; } string HMainSourceInterID = ds.Tables[0].Rows[0]["HMainSourceInterID"].ToString(); string HMainSourceEntryID = ds.Tables[0].Rows[0]["HMainSourceEntryID"].ToString(); ds1 = oCN.RunProcReturn(@"select * from Sc_ProcessExchangeBillMain where HInterID=" + HMainSourceInterID, "Sc_ProcessExchangeBillMain"); if (ds1.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无此子工序流转卡对应的主工序流转卡!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + HMainSourceInterID + " and HEntryID=" + HMainSourceEntryID); oCN.RunProc("delete from Sc_ProcessExchangeBillMain where HInterID=" + HNum[j]); oCN.RunProc("delete from Sc_ProcessExchangeBillSub where HInterID=" + HNum[j]); } 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion /// /// 返回工序流转卡维护列表从表 ///参数: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 + " order by cast(工序号 as int)", "h_v_Sc_ProcessExchangeBillQuerySub"); return GetObjectJson(ds); } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #region 工序流转卡(下达) /// /// 返回工序流转卡(下达)列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_Sc_ProcessExchangeIssueBillList_Json")] [HttpGet] public object MES_Sc_ProcessExchangeIssueBillList_Json(string sWhere, string user) { DataSet ds; try { ////判断是否有查询权限 //if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无查询权限!"; // objJsonResult.data = null; // return objJsonResult; //} //获取系统参数 string Ret = ""; string Count = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //获取需要拼接的字符串 string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工序派工单明细列表"); sWhere += sql_splice; } //判断客户为瑞与祺 if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺") { Count = "top 1000"; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select " + Count + " * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc,CONVERT(int,流水号) asc", "h_v_Sc_ProcessExchangeIssueBillQuery"); 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 工序流转卡下达 /// /// [Route("LEMS/MES_Sc_ProcessExchangeIssue")] [HttpGet] public object MES_Sc_ProcessExchangeIssue(string HGroupID, string HSourceID, string HSourceSub1ID, string HSourceSub2ID, string HSourceSub3ID, string HEntryId) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn($"exec REALESE_Sc_ProcessExchangeIssue '{HGroupID}','{HSourceID}','{HSourceSub1ID}','{HSourceSub2ID}','{HSourceSub3ID}','{HEntryId}' ", "REALESE_Sc_ProcessExchangeIssue"); 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 工序流转卡指派日期 /// /// [Route("LEMS/MES_Sc_ProcessExchangePlanDate")] [HttpGet] public object MES_Sc_ProcessExchangePlanDate(string HPlanBeginDate, string HPlanEndDate, string HEntryId) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); string sql = string.Format(@" update Sc_ProcessExchangeBillSub set HPlanBeginDate = '{0}', HPlanEndDate = '{1}' where cast(HInterID as varchar(20)) +'-'+ cast(HEntryID as varchar(20)) in ( select * from fn_Split('{2}',',') )", HPlanBeginDate, HPlanEndDate, HEntryId); 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 = "异常!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 工序流转卡反下达 /// /// [Route("LEMS/MES_Sc_ProcessExchangeCancelIssue")] [HttpGet] public object MES_Sc_ProcessExchangeCancelIssue(string HEntryId) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); string sql = string.Empty; //删除生产状态表临时表数据 sql = string.Format(@" delete from Sc_ICMOBillStatus_Tmp where cast(HSOURCEINTERID as varchar(20)) +'-'+ cast(HSOURCEENTRYID as varchar(20)) in ( select * from fn_Split('{0}',',') )", HEntryId); oCN.RunProc(sql); //更改订单状态 sql = string.Format(@" update Sc_ProcessExchangeBillSub set HGroupID=0, --班组 HSourceID=0, --生产资源 HIssue = 0 --下达状态 where cast(HInterID as varchar(20)) +'-'+ cast(HEntryID as varchar(20)) in ( select * from fn_Split('{0}',',') )", HEntryId); oCN.RunProc(sql); objJsonResult.code = "1"; 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 /// /// 返回工序出站汇报单列表 ///参数: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); } #region 工艺路线 #region 工艺路线列表 /// /// 返回工艺路线列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_Gy_RoutingBillList_Json")] [HttpGet] public object MES_Gy_RoutingBillList_Json(string sWhere, string user,string HBillSubType) { DataSet ds; try { List columnNameList = new List(); if (HBillSubType == "SUB") { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "子工艺路线无权限查询!"; objJsonResult.data = null; return objJsonResult; } } else { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "工艺路线无权限查询!"; objJsonResult.data = null; return objJsonResult; } } //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //获取需要拼接的字符串 string sql_splice = DBUtility.ClsPub.SpliceSQL(user,"工艺路线列表"); sWhere += sql_splice; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where 1 = 1" + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList"); } else { string sql1 = "select * from h_v_Gy_RoutingBillList where 1 = 1 "; //客户自定义 if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺" || oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特") { sql1 = "select top 1000 * from h_v_Gy_RoutingBillList where 1 = 1 "; } string sql = sql1 + sWhere + " order by hmainid desc,cast(工序号 as int)"; ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList"); } //添加列名 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; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } #endregion #region 工艺路线历史列表 /// /// 返回工艺路线历史列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_Gy_RoutingBillList_His")] [HttpGet] public object MES_Gy_RoutingBillList_His(string sWhere, string user) { DataSet ds; try { //List columnNameList = new List(); //定义声明变量 ,把通过 new List()创建的 实例,赋值给变量 //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //获取需要拼接的字符串 string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工艺路线列表"); sWhere += sql_splice; } } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList_His where 1 = 1" + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList"); } else { string sql1 = "select * from h_v_Gy_RoutingBillList_His where 1 = 1 "; //客户自定义 if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺"|| oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特") { sql1 = "select top 1000 * from h_v_Gy_RoutingBillList_His where 1 = 1 "; } string sql = sql1 + sWhere + " order by hmainid desc,cast(工序号 as int)"; ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_His"); } //foreach (DataColumn col in ds.Tables[0].Columns)//遍历ds中第一个表(Tables[0])的所有列(Columns)每次循环中,col变量会持有当前列的引用 //{ // Type dataType = col.DataType; //获取当前数据类型传入 自定义变量datadataType // string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //字符串拼接 // 将列名和数据类型信息拼接成一个JSON格式的字符串 // columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 //} //objJsonResult.code = "1"; //objJsonResult.count = 1; //objJsonResult.Message = "Sucess!"; //objJsonResult.data = ds.Tables[0];//代码将第一个DataTable(索引为0)赋值给objJsonResult的data属性 //objJsonResult.list = columnNameList;//将columnNameList赋值给objJsonResult的list属性 } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } #endregion #region 查看工艺路线列表工价权限 /// /// 判断有无查看工价权限 ///参数:string sql。 ///返回值:object。 /// [Route("Web/CheckProcPrice")] [HttpGet] public object CheckProcPrice(string UserName) { try { //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //判断是否有查询工价权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_CheckProcPrice", 1, false, UserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看工价权限!"; objJsonResult.data = null; return objJsonResult; } } } objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "查看成功!"; objJsonResult.data = 1; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "异常!" + e.Message; objJsonResult.data = null; return objJsonResult; ; } } #endregion #region 修改工艺路线工价权限 /// /// 判断有无修改工价权限 ///参数:string sql。 ///返回值:object。 /// [Route("Web/EditProcPrice")] [HttpGet] public object EditProcPrice(string UserName) { try { //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //判断是否有查询工价权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_EditProcPrice", 1, false, UserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无修改工价权限!"; objJsonResult.data = null; return objJsonResult; } } } objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "修改成功!"; objJsonResult.data = 1; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "异常!" + e.Message; objJsonResult.data = null; return objJsonResult; ; } } #endregion #region 工艺路线 删除 /// /// 工艺路线删除功能 /// /// [Route("LEMS/DeltetGy_RoutingBillSub")] [HttpGet] public object DeltetGy_RoutingBillSub(Int64 lngBillKey, string user,string HBillSubType) { DataSet ds; try { if (HBillSubType == "SUB") { //删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "子工艺路线删除失败!无权限!"; objJsonResult.data = null; return objJsonResult; } } else { //删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "工艺路线删除失败!无权限!"; objJsonResult.data = null; return objJsonResult; } } string HComputerName = SystemInformation.ComputerName; //设备名称 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (lngBillKey == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据id为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran();//开始事务 ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HInterID=" + lngBillKey, "Gy_RoutingBillmain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有数据,无法删除!"; objJsonResult.data = null; return objJsonResult; ; } string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]); //string hdeleteman = Convert.ToString(ds.Tables[0].Rows[0]["hdeleteman"]); if (HChecker != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已经审核,不能删除!"; objJsonResult.data = null; return objJsonResult; } //if (hdeleteman != "") //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "单据已经作废,不能删除!"; // objJsonResult.data = null; // return objJsonResult; //} oCN.RunProc("delete from Gy_RoutingBillmain where HInterID=" + lngBillKey); oCN.RunProc("delete from Gy_RoutingBillSub where HInterID=" + lngBillKey); LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",删除工艺路线单据:" + ds.Tables[0].Rows[0]["HBillNo"].ToString()); oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "删除工艺路线单据:" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','LMES-工艺路线模块','" + DBUtility.ClsPub.IPAddress + "','删除单据'", ref DBUtility.ClsPub.sExeReturnInfo); 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 #region 工艺路线基础列表 /// /// 返回工艺路线列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Gy_RoutingBillList")] [HttpGet] public object Gy_RoutingBillList(string sWhere, string user) { DataSet ds; try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); string sql1 = "select * from h_v_Gy_RoutingBillList_Base where 1 = 1 "; string sql = sql1 + sWhere + " order by hmainid desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_Base"); } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } #endregion #region 工艺路线(维护工价) /// /// 返回工艺路线列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_Gy_RoutingBillMainRates_Json")] [HttpGet] public object MES_Gy_RoutingBillMainRates_Json(string sWhere, string user) { DataSet ds; try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList_MainRate order by hmainid desc", "h_v_Gy_RoutingBillList_MainRate"); } else { string sql1 = "select * from h_v_Gy_RoutingBillList_MainRate where 1 = 1 "; string sql = sql1 + sWhere + " order by hmainid desc,cast(工序号 as int)"; ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_MainRate"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } #endregion #region 判断物料是否已经存在工艺路线 /// /// 返回工艺路线列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/IsExistRoutingByMaterial")] [HttpGet] public object IsExistRoutingByMaterial(int HMaterID, string user) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HMaterID = '" + HMaterID + "'", "Gy_RoutingBillMain"); } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } #endregion #endregion /// /// 返回生产任务单列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_IF_ICMOBillList_Json")] [HttpGet] public object MES_IF_ICMOBillList_Json(string sWhere, string user) { DataSet ds; try { List columnNameList = new List() ; //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断客户为龙山汽配 if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配") { //获取需要拼接的字符串 string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "生产订单列表"); sWhere += sql_splice; } } ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1 " + sWhere + " order by 制单日期 desc,单据号 desc", "h_v_IF_ICMOBillList"); //添加列名 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列对象的列名 } //if (ds.Tables[0].Rows.Count != 0 || ds != null) //{ //objJsonResult.code = "1"; //objJsonResult.count = 1; //objJsonResult.Message = "Sucess!"; //objJsonResult.data = ds.Tables[0]; //objJsonResult.list = a; //return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回工序流转卡列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_IF_ProcessBillList_Json")] [HttpGet] public object MES_IF_ProcessBillList_Json(string hinterid, string HEntryID, string user) { DataSet ds; try { ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuerySub where hmainid ='" + hinterid+ "' and HEntryID='"+ HEntryID + "'", "h_v_Sc_ProcessExchangeBillQuerySub"); } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } #region 生产订单 下查 /// /// /// 单据ID /// [Route("LEMS/MES_IF_ICMOBillList_Json_LookDown")] [HttpGet] public object MES_IF_ICMOBillList_Json_LookDown(int HInterID) { DataSet ds; try { List columnNameListSum = new List(); List columnNameList0 = new List(); List columnNameList1 = new List(); List columnNameList2 = new List(); List columnNameList3 = new List(); List columnNameList4 = new List(); List columnNameList5 = new List(); List columnNameList6 = new List(); string sql = "exec h_p_Sc_ICMOBillList_LookDown " + HInterID; ds = oCN.RunProcReturn(sql, "h_p_Xs_SeOrderBill_lookdown"); //添加 工序进站接收单 列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList0.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 工序出站汇报单 列名 foreach (DataColumn col in ds.Tables[1].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList1.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 指引卡开工单 列名 foreach (DataColumn col in ds.Tables[2].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList2.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 指引卡完工单 列名 foreach (DataColumn col in ds.Tables[3].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList3.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 工序流转卡 列名 foreach (DataColumn col in ds.Tables[4].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList4.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 生产领料单 列名 foreach (DataColumn col in ds.Tables[5].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList5.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } //添加 生产订单变更单 列名 foreach (DataColumn col in ds.Tables[6].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList6.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } columnNameListSum.Add(columnNameList0); columnNameListSum.Add(columnNameList1); columnNameListSum.Add(columnNameList2); columnNameListSum.Add(columnNameList3); columnNameListSum.Add(columnNameList4); columnNameListSum.Add(columnNameList5); columnNameListSum.Add(columnNameList6); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables; objJsonResult.list = columnNameListSum; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 生产分析报表 [Route("LEMS/ProductionAnalysisReportList")] [HttpGet] public object ProductionAnalysisReportList(string DateYear, string HType, string user) { try { DataSet ds; List columnNameList = new List(); if (DateYear == null || DateYear.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "请选择有效年份"; return objJsonResult; } else { ds = oCN.RunProcReturn("exec [h_p_Sc_ProductionAnalysisReportList] '" + DateYear + "','" + HType + "'", "[h_p_Sc_ProductionAnalysisReportList]"); } //添加列名 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; } } #endregion #region 销售统计报表 [Route("LEMS/SeOutReportList")] [HttpGet] public object SeOutReportList(string DateYear, string HType, string user) { try { DataSet ds; List columnNameList = new List(); if (DateYear == null || DateYear.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "请选择有效年份"; return objJsonResult; } else { ds = oCN.RunProcReturn("exec [h_p_Xe_SeOutReportList] '" + DateYear + "','" + HType + "'", "[h_p_Sc_ProductionAnalysisReportList]"); } //添加列名 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; } } #endregion #region 销售发货统计报表 [Route("LEMS/SeOutStockReportList")] [HttpGet] public object SeOutStockReportList(string DateYear, string HType, string user) { try { DataSet ds; List columnNameList = new List(); if (DateYear == null || DateYear.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "请选择有效年份"; return objJsonResult; } else { ds = oCN.RunProcReturn("exec [h_p_Xs_SeOutStockReportList] '" + DateYear + "','" + HType + "'", "[h_p_Sc_ProductionAnalysisReportList]"); } //添加列名 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; } } #endregion #region 客户订单 生产订单完工 [Route("LEMS/sc_ICOMReportClose")] [HttpPost] public object sc_ICOMReportClose([FromBody] JObject sMainSub) { DataSet ds; try { var _value = sMainSub["sMainSub"].ToString(); string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string HICOMBillNoNum = sArray[0].ToString(); string user = sArray[1].ToString(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } var HICOMBillNo = HICOMBillNoNum.Split(','); oCN.BeginTran(); for (int i = 0; i < HICOMBillNo.Length; i++) { ds = oCN.RunProcReturn("select * from Sc_ICMOBillMain where HBillNo='" + HICOMBillNo[i] + "'", "Sc_ICMOBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ICMOBillSub set HSTATUS=5 where HInterID=" + ds.Tables[0].Rows[0]["HInterID"].ToString()); } 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 = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 客户订单 生产订单添加备注 [Route("LEMS/sc_ICOMReportAddHRemark")] [HttpPost] public object sc_ICOMReportAddHRemark([FromBody] JObject sMainSub) { DataSet ds; try { var _value = sMainSub["sMainSub"].ToString(); string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string HICOMBillNo = sArray[0].ToString(); string HRemark = sArray[1].ToString(); string user = sArray[2].ToString(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); ds = oCN.RunProcReturn("select * from Sc_ICMOBillMain where HBillNo='" + HICOMBillNo + "'", "Sc_ICMOBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ICMOBillMain set HRemark2='" + HRemark + "' where HBillNo='" + HICOMBillNo + "'"); 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 = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 判断下推的生产订单是否审核 [Route("LEMS/ICMOBillCheck")] [HttpGet] public object ICMOBillCheck(string hmainid,string HEntryID,int OrganizationID) { DataSet ds; try { ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1 and hmainid=" + hmainid + " and HEntryID=" + HEntryID + " order by 单据号 desc", "h_v_IF_ICMOBillList"); string HNumber = ds.Tables[0].Rows[0]["产品代码"].ToString(); if (ds.Tables[0].Rows[0]["审核人"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "所选生产订单为未审核状态,不允许下推生成工序流转卡!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["关闭人"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "所选生产订单为已关闭状态,不允许下推生成工序流转卡!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["作废人"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "所选生产订单为已作废状态,不允许下推生成工序流转卡!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_S_Sc_ICMOBillList where hmainid=" + hmainid + " and HEntryID=" + HEntryID + " and HSTOCKINORGID='" + OrganizationID + "'", "h_v_S_Sc_ICMOBillList"); if (double.Parse(ds.Tables[0].Rows[0]["流转卡数量"].ToString()) == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "所选生产订单已全部下推生成工序流转卡,剩余可下推数量为0,不允许下推生成工序流转卡!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select top 1000 * from h_v_Gy_RoutingBillList where 物料代码='" + HNumber + "'", "h_v_Gy_RoutingBillList"); if (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 = ""; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 生产订单流转卡 履历条件查询 [Route("LEMS/GetProcessBillOrICMOBillResumeList")] [HttpGet] public object GetProcessBillOrICMOBillResumeList(string HInterID,string HEntryID,string sWhere,int type, string user) { try { List columnNameList = new List(); DataSet ds; //1表示生产订单 if(type == 3710) { ds = oCN.RunProcReturn($@"select * from (select a.HInterID,a.HDate '日期',a.HBillType,x.HName 单据类型,a.HBillNo as '单据号', CASE WHEN a.HBillStatus <= 1 THEN '创建' WHEN a.HBillStatus = 2 THEN '已审核' WHEN a.HBillStatus = 3 AND a.HCloseType = 0 THEN '自动关闭' WHEN a.HBillStatus = 3 AND a.HCloseType = 1 THEN '手动关闭' WHEN a.HBillStatus = 4 THEN '已作废' ELSE '其它状态' END AS 单据状态, a.HMaker AS 制单人, a.HMakeDate AS 制单日期,a.HChecker AS 审核人, a.HCheckDate AS 审核日期, a.HUpDater AS 修改人, a.HUpDateDate AS 修改日期, a.HCloseMan AS 关闭人, a.HCloseDate AS 关闭日期, a.HDeleteMan AS 作废人, a.HDeleteDate AS 作废日期 from ( select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_ICMOBillMain where HInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MESBeginWorkBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_FirstPieceCheckBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckOtherBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationInBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationOutBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from SB_EquipICMOTechParamBillMain where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} UNION ALL select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldUpperBillMain as m,Sc_MouldUpperBillSub as s where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} and m.HInterID = s.HInterID UNION ALL select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldLowerBillMain as m,Sc_MouldLowerBillSub as s where HICMOInterID = {HInterID} and HICMOEntryID = {HEntryID} and m.HInterID = s.HInterID )as a,Xt_BillType as x where a.HBillType = x.HNumber ) AS a where 1=1 " + sWhere + @" ORDER BY 日期 ASC;", "Sc_ICMOBillResume"); } else { ds = oCN.RunProcReturn($@"select * from (select a.HInterID,a.HDate '日期',a.HBillType,x.HName 单据类型,a.HBillNo as '单据号', CASE WHEN a.HBillStatus <= 1 THEN '创建' WHEN a.HBillStatus = 2 THEN '已审核' WHEN a.HBillStatus = 3 AND a.HCloseType = 0 THEN '自动关闭' WHEN a.HBillStatus = 3 AND a.HCloseType = 1 THEN '手动关闭' WHEN a.HBillStatus = 4 THEN '已作废' ELSE '其它状态' END AS 单据状态, a.HMaker AS 制单人, a.HMakeDate AS 制单日期,a.HChecker AS 审核人, a.HCheckDate AS 审核日期, a.HUpDater AS 修改人, a.HUpDateDate AS 修改日期, a.HCloseMan AS 关闭人, a.HCloseDate AS 关闭日期, a.HDeleteMan AS 作废人, a.HDeleteDate AS 作废日期 from ( select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_ProcessExchangeBillMain where HInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MESBeginWorkBillMain where HProcExchInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_FirstPieceCheckBillMain where HProcExchInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckBillMain where HProcExchInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from QC_PatrolProcCheckOtherBillMain where HProcExchInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationInBillMain where HProcExchInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_StationOutBillMain where HProcExchInterID = {HInterID} UNION ALL select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from SB_EquipICMOTechParamBillMain where HProcExchInterID = {HInterID} UNION ALL select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldUpperBillMain as m,Sc_MouldUpperBillSub as s where s.HProcExchInterID = {HInterID} and m.HInterID = s.HInterID UNION ALL select m.HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,m.HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,m.HCloseType from Sc_MouldLowerBillMain as m,Sc_MouldLowerBillSub as s where s.HProcExchInterID = {HInterID} and m.HInterID = s.HInterID )as a,Xt_BillType as x where a.HBillType = x.HNumber ) AS a where 1=1 " + sWhere + @" ORDER BY 日期 ASC;", "Sc_ProcessExchangeBillResume"); } //添加动态列信息 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; } } #endregion /// /// 返回工序委外接收单列表 ///参数: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 { List columnNameList = new List(); //添加列名 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 = "没有返回任何记录!" + 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"); if (ds == null || ds.Tables[0].Rows.Count == 0) { return CustomError("不存在此流转卡号!"); } } } 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); } /// /// 扫流转卡号方法(产线包装单、产线组装追溯单)--根据流转卡号保存到temp表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveCirculationCard_Json")] [HttpGet] public object SaveCirculationCard_Json(string HBillNo, string HInterID, string HBillNo2, string HBarCode, string HNumber, string HName, string HModel) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBillNo == null || HBillNo.Equals("") || HInterID == null || HInterID.Equals("") || HBillNo2 == null || HBillNo2.Equals("")) { return CustomError("流转卡号不能为空!"); } else { if (HBarCode == null || HBarCode.Equals("")) { HBarCode = " "; } ds = oCN.RunProcReturn("exec Save_Sc_ProcessExchangeBillMainToTmp '" + HBillNo + "','" + HInterID + "','" + HBillNo2 + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "'", "Save_Sc_ProcessExchangeBillMainToTmp"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 扫子件条码方法(产线包装单、产线组装追溯单)--根据子件条码保存到temp表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveSubBarcode_Json")] [HttpGet] public object SaveSubBarcode_Json(string HBillNo, string SubBarcode, string HInterID, string HBillNo2, string HBillType, string sMaker, string HBarCode, string HNumber, string HName, string HModel) { DataSet ds1; DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBillNo == null || HBillNo.Equals("") || SubBarcode == null || SubBarcode.Equals("") || HInterID == null || HInterID.Equals("") || HBillNo2 == null || HBillNo2.Equals("") || HBillType == null || HBillType.Equals("")) { return CustomError("流转卡号或子件条码不能为空!"); } else { ds1 = oCN.RunProcReturn("select * from KF_PonderationBillMain_Temp where HSourceBillNo = '" + SubBarcode + "' and HBillType = '" + HBillType + "'", "KF_PonderationBillMain_Temp"); if (ds1.Tables[0].Rows.Count > 0) { return CustomError("该子件条码已存在"); } if (HBarCode == null || HBarCode.Equals("")) { HBarCode = " "; } ds = oCN.RunProcReturn("exec h_p_Save_SubBarcodeToTmp '" + HBillNo + "','" + SubBarcode + "','" + HInterID + "','" + HBillNo2 + "','" + HBillType + "','" + sMaker + "','" + HBarCode + "','" + HNumber + "','" + HName + "','" + HModel + "'", "h_p_Save_SubBarcodeToTmp"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 查询条码档案表里的镭雕条码的合计数量方法(产线包装单) ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Select_Gy_BarCodeBill_HQty")] [HttpGet] public object Select_Gy_BarCodeBill_HQty(string HBarCode) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBarCode == null || HBarCode.Equals("")) { return CustomError("唯一条码不能为空!"); } else { ds = oCN.RunProcReturn("select HQty from Gy_BarCodeBill where HBarCode = '" + HBarCode + "'", "Gy_BarCodeBill"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 更新条码档案表里的镭雕条码的合计数量方法(产线包装单) ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Update_Gy_BarCodeBill_HQty")] [HttpGet] public object Update_Gy_BarCodeBill_HQty(string HBarCode, string HQty) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBarCode == null || HBarCode.Equals("")) { return CustomError("唯一条码不能为空!");//h_p_Update_Gy_BarCodeBill_HQty } else { ds = oCN.RunProcReturn("exec h_p_Update_Gy_BarCodeBill_HQty " + HBarCode + "," + HQty + "", "Gy_BarCodeBill"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 更新扫码记录列表方法(产线包装单、产线组装追溯单) ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Update_HBillNo_SubBarcodeList_Json")] [HttpGet] public object Update_HBillNo_SubBarcodeList_Json(string HBillNo) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBillNo == null || HBillNo.Equals("")) { return CustomError("流转卡号不能为空!"); } else { ds = oCN.RunProcReturn("exec h_v_KF_PonderationBillMain_TempAddP '" + HBillNo + "'", "h_v_KF_PonderationBillMain_TempAddP"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 提交-主表方法(产线包装单)--根据流传卡号从temp表保存到主表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveToSc_PackUnionBillMain")] [HttpGet] public object SaveToSc_PackUnionBillMain(string HBillNo, string HRemark) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBillNo == null || HBillNo.Equals("")) { return CustomError("流转卡号不能为空!"); } else { if (HRemark == null || HRemark.Equals("")) { ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "',''", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain"); } else { ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain '" + HBillNo + "','" + HRemark + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillMain"); } } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 提交-子表方法(产线包装单)--根据子件条码从temp表保存到子表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveToSc_PackUnionBillSub")] [HttpGet] public object SaveToSc_PackUnionBillSub(string HitemID, string HRemark) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HitemID == null || HitemID.Equals("")) { return CustomError("更新失败HitemID为空!"); } else { ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub '" + HitemID + "','" + HRemark + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_PackUnionBillSub"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 更新temp表的标记字段方法(产线包装单) ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Update_Flag_HRelationInterID")] [HttpGet] public object Update_Flag_HRelationInterID(string HitemID) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HitemID == null || HitemID.Equals("")) { return CustomError("更新失败HitemID为空!"); } else { ds = oCN.RunProcReturn("exec h_p_Update_Flag_HRelationInterID '" + HitemID + "'", "h_p_Update_Flag_HRelationInterID"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 提交-主表方法(产线组装追溯单)--根据流传卡号从temp表保存到主表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveToSc_AssemblyBillMain")] [HttpGet] public object SaveToSc_AssemblyBillMain(string HBillNo) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HBillNo == null || HBillNo.Equals("")) { return CustomError("流转卡号不能为空!"); } else { ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillMain '" + HBillNo + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillMain"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 提交-子表方法(产线组装追溯单)--根据子件条码从temp表保存到子表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveToSc_AssemblyBillSub")] [HttpGet] public object SaveToSc_AssemblyBillSub(string HitemID) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HitemID == null || HitemID.Equals("")) { return CustomError("更新失败HitemID为空!"); } else { ds = oCN.RunProcReturn("exec h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillSub '" + HitemID + "'", "h_p_Save_KF_PonderationBillMain_TempToSc_AssemblyBillSub"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 生成唯一条码方法(产线包装单)--保存时生成唯一条码 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/SaveBarCode_json")] [HttpGet] public object SaveBarCode_json(string sHMaterID, string sHUnitID, string sHBarcodeNo, string sHMaterName) { DataSet ds; string sTMNumber = ""; string aDate = System.DateTime.Now.ToString(); string sDate = System.DateTime.Now.ToShortDateString(); string sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2); string sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString(); sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); string sDay = "0" + ClsPub.isDate(sDate).Day.ToString(); sDay = sDay.Substring(sDay.Length - 2, 2); int LSH = 0; try { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); sTMNumber = sHMaterID + sYear + sPeriod + sDay; ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo"); //获取最大流水号 oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'"); LSH = ClsPub.isInt(ds.Tables[0].Rows[0][0]); LSH = LSH + 1; string LSH2 = LSH.ToString(); while (LSH2.Length < 6) //如果流水号小于6位数前面补0 { LSH2 = "0" + LSH2; } string TM = sTMNumber + LSH2; oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'"); string HBarCode = TM; string HBarCodeType = "唯一条码"; int HMaterID = ClsPub.isInt(sHMaterID); int HUnitID = ClsPub.isInt(sHUnitID); int HQty = 0; string HBatchNo = ""; string HSupID = "0"; string HGroupID = "0"; string HMaker = ClsPub.CurUserName; double HPrintQty = 0; double HinitQty = 0; string HSourceInterID = "0"; string HSourceEntryID = "0"; string HSourceBillNo = sHBarcodeNo; string HSourceBillType = ""; double HEndQty = 0; int HBarcodeQtys = 0; int HBarcodeNo = 0; string HDeptID = "0"; string HWhID = "0"; string HSPID = "0"; string HRemark = ""; string HCusID = "0"; string HCusType = ""; string HEndDate = sDate; string HWorkLineName = ""; string HBarCodeDate = sDate; string HSTOCKORGID = "0"; string HOWNERID = "0"; string HSeOrderBillNo = ""; string HMaterName = sHMaterName; string HMaterModel = ""; string HPinfan = ""; string HAuxPropID = "0"; string HMTONo = ""; oCn.RunProc("insert into Gy_BarCodeBill " + " (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty," + " HBatchNo,HSupID,HGroupID,HMaker,HMakeDate," + " HPrintQty,HinitQty,HSourceInterID,HSourceEntryID,HSourceBillNo," + " HSourceBillType,HEndQty,HBarcodeQtys,HBarcodeNo,HDeptID," + " HWhID,HSPID,HRemark,HCusID,HCusType," + " HEndDate,HWorkLineName,HBarCodeDate,HSTOCKORGID,HOWNERID," + "HSeOrderBillNo,HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo " + ") values ('" + HBarCode + "','" + HBarCodeType + "','" + sHMaterID + "','" + sHUnitID + "','" + HQty + "','" + HBatchNo + "','" + HSupID + "','" + HGroupID + "','" + HMaker + "',getdate(),'" + HPrintQty + "','" + HinitQty + "','" + HSourceInterID + "','" + HSourceEntryID + "','" + HSourceBillNo + "','" + HSourceBillType + "','" + HEndQty + "','" + HBarcodeQtys + "','" + HBarcodeNo + "','" + HDeptID + "','" + HWhID + "','" + HSPID + "','" + HRemark + "','" + HCusID + "','" + HCusType + "','" + HEndDate + "','" + HWorkLineName + "','" + HBarCodeDate + "','" + HSTOCKORGID + "'," + HOWNERID + ",'" + HSeOrderBillNo + "','" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "','" + HAuxPropID + "','" + HMTONo + "')" ); ds = oCn.RunProcReturn("select HBarCode from Gy_BarCodeBill where HSourceBillNo = '" + sHBarcodeNo + "' order by HMakeDate desc", "Gy_BarCodeBill"); } catch (Exception e) { ds = null; } return CustomCorrect(ds); } /// /// 返回产线包装单列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_ProductionLinePackagingList_Json")] [HttpGet] public object MES_ProductionLinePackagingList_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_ProductionLinePackagingList order by 唯一条码 desc", "h_v_ProductionLinePackagingList"); } else { string sql1 = "select * from h_v_ProductionLinePackagingList where 1 = 1 "; string sql = sql1 + sWhere; string sql2 = " order by 唯一条码 desc"; sql = sql + sql2; ds = oCN.RunProcReturn(sql, "h_v_ProductionLinePackagingList"); } } catch (Exception e) { ds = null; } return GetObjectJson(ds); } /// /// 扫批次条码方法(产线组装追溯单)--根据批次条码到条码档案表中获取数据保存到temp表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/Save_Gy_BarCodeBillToTmp_Json")] [HttpGet] public object Save_Gy_BarCodeBillToTmp_Json(string HInterID, string HBillNo2, string HBarCode) { DataSet ds1; DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HInterID == null || HInterID.Equals("") || HBillNo2 == null || HBillNo2.Equals("") || HBarCode == null || HBarCode.Equals("")) { return CustomError("流转卡号或子件条码不能为空!"); } else { ds1 = oCN.RunProcReturn("select top 1 HBarCode from Gy_BarCodeBill where HBarCode = '" + HBarCode + "'", "Gy_BarCodeBill"); if (ds1.Tables[0].Rows.Count == 0) { return CustomError("无此批次条码"); } ds = oCN.RunProcReturn("exec h_v_Save_Gy_BarCodeBillToTmp '" + HInterID + "','" + HBillNo2 + "','" + HBarCode + "'", "h_v_Save_Gy_BarCodeBillToTmp"); } } catch (Exception e) { ds = null; } return CustomCorrect(ds); //return ds.Tables[0].Rows; } /// /// 返回产线组装追溯单列表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_AssemblyTraceabilityList_Json")] [HttpGet] public object MES_AssemblyTraceabilityList_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_AssemblyTraceabilityList order by 生产任务单单号 desc,条码类型排序字段 ", "h_v_ProductionLinePackagingList"); } else { string sql1 = "select * from h_v_AssemblyTraceabilityList where 1 = 1 "; string sql = sql1 + sWhere; string sql2 = " order by 生产任务单单号 desc,条码类型排序字段 "; sql = sql + sql2; ds = oCN.RunProcReturn(sql, "h_v_AssemblyTraceabilityList"); } } catch (Exception e) { ds = null; } return GetObjectJson(ds); } /// /// 返回产线组装追溯单列表--过滤条件为镭雕条码的专用方法 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_AssemblyTraceabilityList_E_Json")] [HttpGet] public object MES_AssemblyTraceabilityList_E_Json(string HICMOBillNo) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HICMOBillNo == null || HICMOBillNo.Equals("")) { return CustomError("流转卡号或子件条码不能为空!"); } else { ds = oCN.RunProcReturn("exec h_v_AssemblyTraceabilityList_E " + HICMOBillNo, "h_v_AssemblyTraceabilityList_E"); } } catch (Exception e) { ds = null; } return GetObjectJson(ds); } /// /// 返回墙咔工资统计报表 ///参数:string sql。 ///返回值:object。 /// [Route("LEMS/MES_Qk_OutProcessList_Json")] [HttpGet] public object MES_Qk_OutProcessList_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("select * from (select min(a.HDate) 起始时间, max(a.HDate) 截至时间, b.HName 工序名称, c.HName 班组名称, d.HName 汇报人, sum(a.HQty) 合计汇报数量, sum(b.HFixPrice * a.HQty) 合计工资 from Sc_StationOutBillMain a left join Gy_Process b on a.HProcID = b.HItemID Left join Gy_Group c on a.HGroupID = c.HItemID left join Gy_Employee d on a.HEmpID = d.HItemID where 1=1 group by b.HName,c.HName,d.HName) t where 1=1 " + sWhere, "Sc_StationOutBillMain"); } catch (Exception e) { ds = null; } return GetObjectJson(ds); } //单行删除进站接收单列表 [Route("LEMS/StationInBillListDelete_Json")] [HttpGet] public object StationInBillListDelete_Json(long sHInterID) { try { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); oCn.RunProc("Delete from Sc_StationInBillMain where HInterID=" + sHInterID, ref DBUtility.ClsPub.sExeReturnInfo); objJsonResult.code = "200"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "000"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!"; objJsonResult.data = e.ToString(); return objJsonResult; } } //单行删除出站汇报单列表 [Route("LEMS/StationOutBillListDelete_Json")] [HttpGet] public object StationOutBillListDelete_Json(long sHInterID) { try { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); oCn.RunProc("Delete from Sc_StationOutBillMain where HInterID=" + sHInterID, ref DBUtility.ClsPub.sExeReturnInfo); objJsonResult.code = "200"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "000"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!"; objJsonResult.data = e.ToString(); return objJsonResult; } } #region 工艺路线审核/反审核功能 [Route("Gy_RoutingBill/CheckGy_RoutingBill")] [HttpGet] public object CheckGy_RoutingBill(string HInterID, int Type, string user,string HBillSubType) { try { if (HBillSubType == "SUB") { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "子工艺路线无权限审核!"; objJsonResult.data = null; return objJsonResult; } } else { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "工艺路线无权限审核!"; objJsonResult.data = null; return objJsonResult; } } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "Gy_RoutingBillMain"; oCN.BeginTran();//开始事务 //Type 1 审核 2 反审核 if (Type == 1) { //判断单据是否已经审核 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql,BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString()!="") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不需要再审核!"; objJsonResult.data = null; return objJsonResult; } } //审核单据 if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } else { //判断单据是否已经反审核 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已反审核!不需要再反审核!"; objJsonResult.data = null; return objJsonResult; } } //反审核单据 if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl"); ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0) ////{ //// objJsonResult.code = "0"; //// objJsonResult.count = 1; //// objJsonResult.Message = "该任务单已下推流转卡,不允许反审核" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]); //// objJsonResult.data = null; //// return objJsonResult; ////} } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } 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 #region 工艺路线单关闭/反关闭功能 [Route("Gy_RoutingBill/CloseGy_RoutingBill_1")] [HttpGet] public object CloseGy_RoutingBill(string HInterID, int Type, string user,string HBillSubType) { try { if (HBillSubType == "SUB") { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Sub_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "子工艺路线无权限关闭!"; objJsonResult.data = null; return objJsonResult; } } else { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "工艺路线无权限关闭!"; objJsonResult.data = null; return objJsonResult; } } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "Gy_RoutingBillMain"; oCN.BeginTran();//开始事务 //Type 1 关闭 2 反关闭 if (Type == 1) { //判断单据是否已经关闭 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不需要再关闭!"; objJsonResult.data = null; return objJsonResult; } } //关闭单据 if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } else { //判断单据是否已经反关闭 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已反关闭!不需要再反关闭!"; objJsonResult.data = null; return objJsonResult; } } //反关闭单据 if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } 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 #region 报表查看权限控制 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("LMES/getReportByModRightNameCheck")] [HttpGet] public object getReportByModRightNameCheck(string ModRightNameCheck, string user) { try { string s = ""; //查看权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = ""; objJsonResult.data = null; return objJsonResult; } 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; } } #endregion } }