chenhaozhe
2026-01-29 8e55450074db98dd91318cae7fd2f0b4cb194448
WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
@@ -19,7 +19,7 @@
        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
        DataSet ds;
        #region 工序派工单列表
        #region 工序流转卡派工单列表
        [Route("Sc_ProcExchSendWorkBill/Sc_ProcExchSendWorkBillList")]
        [HttpGet]
        public object Sc_ProcExchSendWorkBillList(string sWhere, string user)
@@ -59,7 +59,7 @@
        }
        #endregion
        #region 工序派工单列表(职员查看自己任务)
        #region 工序流转卡派工单列表(职员查看自己任务)
        [Route("Sc_ProcExchSendWorkBill/Sc_ProcExchSendWorkBillListByEmp")]
        [HttpGet]
        public object Sc_ProcExchSendWorkBillListByEmp(string sWhere, string user,int HEmpID)
@@ -98,6 +98,110 @@
        }
        #endregion
        #region 工序流转卡派工 删除(子表)用于取消派单
        [Route("Sc_ProcExchSendWorkBill/DelProcessSendWork_Sec")]
        [HttpGet]
        public object DelProcessSendWork_Sec(string HInterID, string HEntryID, string User)
        {
            try
            {
                ds = oCN.RunProcReturn("select a.* from Sc_ProcExchSendWorkBillMain a left join Sc_ProcExchSendWorkBillSub b on b.HInterID= a.HInterID where 1=1 and a.HInterID=" + HInterID, "Sc_ProcExchSendWorkBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() != "1"&& ds.Tables[0].Rows[0]["HBillStatus"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "当前单据不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //删除前控制=========================================
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    string sql1 = "exec h_p_Sc_ProcExchSendWorkBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + User + "'";
                    DataSet ds1 = oCN.RunProcReturn(sql1, "h_p_Sc_ProcExchSendWorkBill_BeforeDelCtrl");
                    if (ds1 == null || ds1.Tables.Count == 0 || ds1.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds1.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败!原因:" + ds1.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //==================================================================================
                    oCN.BeginTran();//开启事务
                    if (ds.Tables[0].Rows.Count == 1)
                    {
                        oCN.RunProc($"delete from Sc_ProcExchSendWorkBillMain where HInterID={HInterID}");
                    }
                    oCN.RunProc($"delete from Sc_ProcExchSendWorkBillSub where HInterID={HInterID} and HEntryID={HEntryID}");
                    //删除后控制=========================================
                    string sql2 = "exec h_p_Sc_ProcExchSendWorkBill_AfterDelCtrl " + HInterID + ",'" + HBillNo + "','" + User + "'";
                    DataSet ds2 = oCN.RunProcReturn(sql2, "h_p_Sc_ProcExchSendWorkBill_AfterDelCtrl");
                    if (ds2 == null || ds2.Tables.Count == 0 || ds2.Tables[0].Rows.Count == 0)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds2.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除失败!原因:" + ds2.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //==================================================================================
                    oCN.Commit();//结束事务
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                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("Sc_ProcExchSendWorkBill/Sc_ProcessExchangeHEmpList")]
        [HttpGet]
@@ -110,7 +214,7 @@
                List<object> columnNameList = new List<object>();
                //得到信息(委外标记为0时,流转标记为1时)
                //ds = oCN.RunProcReturn("select  * from h_v_Sc_ProcessExchangeBillList_Sec  where 下道流转工序<>'转' and 委外标记=0 and 流转标记=1  and 工序号='" + sProcNo + "' and 序列号='" + HSEQNumber + "'", "h_v_Sc_ProcessExchangeBillList_Sec");
                ds = oCN.RunProcReturn("select  * from h_v_Sc_ProcessExchangeArrangementHEmpList  where 1=1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementHEmpList");
                ds = oCN.RunProcReturn("select Top 1000 * from h_v_Sc_ProcessExchangeArrangementHEmpList  where 1=1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementHEmpList");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
@@ -166,9 +270,9 @@
        }
        #endregion
        #region 工序派工单 保存/编辑
        #region 工序流转卡派工单 保存/编辑
        /// <summary>
        /// 工序派工单 保存
        /// 工序流转卡派工单 保存
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
@@ -280,7 +384,7 @@
        }
        #endregion
        //#region 工序派工单 删除
        #region 工序流转卡派工单 删除
        [Route("Sc_ProcExchSendWorkBill/DelProcessSendWork")]
        [HttpGet]
        public object DelProcessSendWork(string HInterID, string user)
@@ -368,9 +472,9 @@
                return objJsonResult;
            }
        }
        //#endregion
        #endregion
        #region 工序派工单审核/反审核功能
        #region 工序流转卡派工单审核/反审核功能
        [Route("Sc_ProcExchSendWorkBill/CheckSc_ProcExchSendWorkBill")]
        [HttpGet]
        public object CheckSc_ProcExchSendWorkBill(string HInterID, int Type, string user)
@@ -535,7 +639,7 @@
        }
        #endregion
        #region 工序派工单关闭/反关闭功能
        #region 工序流转卡派工单关闭/反关闭功能
        [Route("Sc_ProcExchSendWorkBill/CloseSc_ProcExchSendWorkBill")]
        [HttpGet]
        public object CloseSc_ProcExchSendWorkBill(string HInterID, int Type, string user)