1
duhe
2023-12-20 b525eb94461283ecde34b02f02a7323698a31a05
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -1618,6 +1618,63 @@
        }
        #endregion
        #region 工序出站汇报单 子表查询
        [Route("Cj_StationOutBill/get_SubDisplay")]
        [HttpGet]
        public object get_SubDisplay(string sWhere, string TableName)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                string sql = "";
                switch (TableName)
                {
                    case "TechParam":
                        sql = "select * from h_v_Sc_StationOutBillSubQuery_TechParam where 1 = 1 and HInterID=" + sWhere;
                        break;
                    case "Note":
                        sql = "select * from h_v_Sc_StationOutBillSubQuery_Note where 1 = 1 and HInterID=" + sWhere;
                        break;
                    case "SN":
                        sql = "select * from h_v_Sc_StationOutBillSubQuery_SN where 1 = 1 and HInterID=" + sWhere;
                        break;
                    case "Emp":
                        sql = "select * from h_v_Sc_StationOutBillSubQuery_Emp where 1 = 1 and HInterID=" + sWhere;
                        break;
                }
                ds = oCN.RunProcReturn(sql, TableName);
                //添加列名
                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 = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 编辑页面根据id获取工序出站汇报单信息
        [Route("Cj_StationOutBill/GetStationOutBill")]
        [HttpGet]
@@ -2124,6 +2181,133 @@
        }
        #endregion
        #region 根据id删除出站单 子件条码
        [Route("Cj_StationOutBill/del_StationOutBill_SN")]
        [HttpGet]
        public object del_StationOutBill_SN(long HInterID,string HBardcode, string HDeleteMan, string HBillSubType)
        {
            try
            {
                string HComputerName = SystemInformation.ComputerName; //设备名称
                if (HBillSubType == "SUB")
                {
                    //编辑权限
                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Sub_Drop", 1, false, HDeleteMan))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "完工单无权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    //编辑权限
                    if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, HDeleteMan))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "出站单无权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    string sReturn = "";
                    if (oSystemParameter.ShowBill(ref sReturn))
                    {
                        if (oSystemParameter.omodel.MES_StationOutBill_DeleteCtl == "Y")
                        {
                            if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin"))
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "只能删除本人的单据!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                    DataSet ds;
                    //判断是否存在 相同单据号 的领料单 判断生产订单是否已结案,要求计划手工反结案
                    ds = oCn.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl  '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl");
                    if (ds == null)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "判断关联失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HChecker != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已经审核,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    ds = oCn.RunProcReturn($"exec h_p_DelOutInBill {HInterID},'MES_StationOutBill_DeleteRelationCtl'", "h_p_DelOutInBill");
                    if (ds.Tables[0].Rows[0][0].ToString() == "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "系统参数控制,已有下道工序,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    oCn.BeginTran();
                    oCn.RunProc("delete from Sc_StationOutBillSub_SN where HInterID="+ HInterID+ " and HBarCode='"+ HBardcode + "'");
                    oCn.Commit();
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    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("Cj_StationOutBill/DelStationOutBill")]
        [HttpGet]