/// <summary>
        /// 修改父表信息,质管批准
        /// </summary>
        /// <param name="djh">变更单号</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>修改成功返回True,修改失败返回False</returns>
        public bool AuthorizeBill(string djh, out string error)
        {
            error = null;

            try
            {
                DepotManagementDataContext ctx = CommentParameter.DepotDataContext;

                var varData = from a in ctx.P_ProductChangeBill
                              where a.DJH == djh
                              select a;

                if (varData.Count() == 1)
                {
                    P_ProductChangeBill lnqPlan = varData.Single();

                    lnqPlan.DJZT = "单据已完成";
                    lnqPlan.PZRQ = ServerTime.Time;
                    lnqPlan.PZRY = BasicInfo.LoginID;
                }

                ctx.SubmitChanges();

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
        /// <summary>
        /// 添加父表信息
        /// </summary>
        /// <param name="inProductChange">产品型号变更信息</param>
        /// <param name="planList">明细信息</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>添加成功返回True,添加失败返回False</returns>
        public bool AddBill(P_ProductChangeBill inProductChange, DataTable planList, out string error)
        {
            error = null;

            try
            {
                DepotManagementDataContext ctx = CommentParameter.DepotDataContext;

                if (!IsRepeatBillID(inProductChange.DJH))
                {
                    if (!UpdateBill(ctx, inProductChange, planList, out error))
                    {
                        return(false);
                    }
                }
                else
                {
                    if (!DeletePlanList(ctx, inProductChange.DJH, out error))
                    {
                        return(false);
                    }

                    if (!AddPlanList(ctx, planList, out error))
                    {
                        return(false);
                    }

                    P_ProductChangeBill lnqPlan = new P_ProductChangeBill();

                    lnqPlan.DJH    = inProductChange.DJH;
                    lnqPlan.DJZT   = "等待主管审核";
                    lnqPlan.LRRY   = BasicInfo.LoginID;
                    lnqPlan.LRRQ   = ServerTime.Time;
                    lnqPlan.DJLX   = inProductChange.DJLX;
                    lnqPlan.Remark = inProductChange.Remark;

                    ctx.P_ProductChangeBill.InsertOnSubmit(lnqPlan);
                }

                ctx.SubmitChanges();
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// 修改父表信息
        /// </summary>
        /// <param name="ctx">数据上下文</param>
        /// <param name="inProductChange">产品型号变更信息</param>
        /// <param name="planList">明细信息</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>修改成功返回True,修改失败返回False</returns>
        public bool UpdateBill(DepotManagementDataContext ctx, P_ProductChangeBill inProductChange,
                               DataTable planList, out string error)
        {
            error = null;

            try
            {
                var varData = from a in ctx.P_ProductChangeBill
                              where a.DJH == inProductChange.DJH
                              select a;

                if (varData.Count() == 1)
                {
                    if (!DeletePlanList(ctx, inProductChange.DJH, out error))
                    {
                        return(false);
                    }

                    if (!AddPlanList(ctx, planList, out error))
                    {
                        return(false);
                    }

                    P_ProductChangeBill lnqPlan = varData.Single();

                    lnqPlan.DJZT   = "等待主管审核";
                    lnqPlan.LRRY   = BasicInfo.LoginID;
                    lnqPlan.LRRQ   = ServerTime.Time;
                    lnqPlan.SHRQ   = null;
                    lnqPlan.SHRY   = null;
                    lnqPlan.PZRQ   = null;
                    lnqPlan.PZRY   = null;
                    lnqPlan.DJLX   = inProductChange.DJLX;
                    lnqPlan.Remark = inProductChange.Remark;

                    ctx.SubmitChanges();
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }

            return(true);
        }