wtt
2024-05-24 f339dd8204bbe0bff688db3c124139da33bb4960
WebAPI/Controllers/LMESController.cs
@@ -393,6 +393,224 @@
            }
        }
        #region 工序流转卡只显示工序数据
        [Route("LEMS/MES_ProcessExchangeBillList_PG")]
        [HttpGet]
        public object MES_ProcessExchangeBillList_PG(string sWhere, string user, int OperationType)
        {
            DataSet ds;
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                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 HICMOStatus=0 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;
                    }
                    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]