コード例 #1
0
        /// <summary>
        /// 根据工装验证报告表更新工装台帐的库存状态
        /// </summary>
        /// <param name="context">LINQ数据上下文</param>
        /// <param name="billNo">普通入库单号</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        bool UpdateFrockStockStatus(DepotManagementDataContext context, string billNo, out string error)
        {
            error = null;

            try
            {
                string strSql = "select * from S_OrdinaryInDepotGoodsBill where Bill_ID = '" + billNo + "'";

                DataTable dtOrdinary = GlobalObject.DatabaseServer.QueryInfo(strSql);

                for (int i = 0; i < dtOrdinary.Rows.Count; i++)
                {
                    strSql = "select Count(*) from S_FrockProvingReport where ConnectBillNumber = '"
                             + billNo + "' and IsInStock = 1  and GoodsID = " + Convert.ToInt32(dtOrdinary.Rows[i]["GoodsID"]);

                    DataTable dtFrock = GlobalObject.DatabaseServer.QueryInfo(strSql);

                    if (Convert.ToDecimal(dtOrdinary.Rows[i]["Amount"]) != Convert.ToDecimal(dtFrock.Rows[0][0]))
                    {
                        error = "入库数量与工装检验报告单所需入库数量不符";
                        return(false);
                    }
                }

                strSql = "select * from S_FrockProvingReport where ConnectBillNumber = '" + billNo + "' and IsInStock = 1 ";

                DataTable dt = GlobalObject.DatabaseServer.QueryInfo(strSql);

                if (!m_serverFrockStandingBook.UpdateFrockStandingBookStock(context, dt, true, out error))
                {
                    return(false);
                }

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    S_FrockOperation lnqOperation = new S_FrockOperation();

                    lnqOperation.BillID      = billNo;
                    lnqOperation.BillTime    = ServerTime.Time;
                    lnqOperation.BillType    = "入库";
                    lnqOperation.FrockNumber = dt.Rows[i]["FrockNumber"].ToString();
                    lnqOperation.GoodsID     = Convert.ToInt32(dt.Rows[i]["GoodsID"]);
                    lnqOperation.IsTrue      = true;

                    context.S_FrockOperation.InsertOnSubmit(lnqOperation);
                }

                return(true);
            }
            catch (Exception exce)
            {
                error = exce.Message;
                return(false);
            }
        }
コード例 #2
0
        /// <summary>
        /// 工装业务处理
        /// </summary>
        /// <param name="ctx">LINQ数据上下文</param>
        /// <param name="billNo">单据号</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        bool FinishFrock(DepotManagementDataContext ctx, string billNo, out string error)
        {
            error = null;

            try
            {
                var varData = from a in ctx.S_MaterialListReturnedInTheDepot
                              where a.Bill_ID == billNo
                              select a;

                bool blFlag = false;

                foreach (var item in varData)
                {
                    if (UniversalFunction.IsInStandingBook(item.GoodsID, false))
                    {
                        blFlag = true;

                        if (!m_serverFrockStandingBook.IsOperationCountMateBillCount(item.GoodsID, item.Bill_ID, Convert.ToDecimal(item.ReturnedAmount)))
                        {
                            error = "领料数量与工装业务编号数不一致,请重新确认数量的一致性";
                            return(false);
                        }
                    }
                }

                if (blFlag)
                {
                    string strSql = "select b.* from S_MaterialListReturnedInTheDepot as a inner join S_FrockOperation as b " +
                                    " on a.Bill_ID = b.BillID and a.GoodsID = b.GoodsID where a.Bill_ID = '" + billNo + "'";

                    if (!m_serverFrockStandingBook.UpdateFrockStandingBookStock(ctx,
                                                                                GlobalObject.DatabaseServer.QueryInfo(strSql), true, out error))
                    {
                        return(false);
                    }

                    var varReport = from a in ctx.S_FrockOperation
                                    where a.BillID == billNo
                                    select a;

                    foreach (var itemReport in varReport)
                    {
                        itemReport.IsTrue = true;
                    }
                }

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