コード例 #1
0
        /// <summary>
        /// 保存单据明细信息
        /// </summary>
        /// <param name="dataContxt">LINQ数据上下文</param>
        /// <param name="lstDetail">添加的表</param>
        /// <param name="djID">添加的行</param>
        /// <param name="billNo">单据号</param>
        public void SaveBillList(DepotManagementDataContext dataContxt, List <S_CannibalizeList> lstDetail, int djID, string billNo)
        {
            IProductCodeServer serverProductCode = ServerModuleFactory.GetServerModule <IProductCodeServer>();

            try
            {
                List <S_CannibalizeList> lisList = new List <S_CannibalizeList>();

                if (lstDetail.Count == 0)
                {
                    return;
                }

                DeleteList(dataContxt, djID);
                foreach (S_CannibalizeList item in lstDetail)
                {
                    S_CannibalizeList lnqList = new S_CannibalizeList();

                    lnqList.DJ_ID     = djID;
                    lnqList.GoodsID   = item.GoodsID;
                    lnqList.BatchNo   = item.BatchNo;
                    lnqList.UnitPrice = item.UnitPrice;
                    lnqList.Count     = item.Count;
                    lnqList.Price     = item.Price;
                    lnqList.Remark    = item.Remark;
                    lnqList.Provider  = item.Provider;

                    if (item.RepairStatus != null && item.RepairStatus.ToString() != "")
                    {
                        lnqList.RepairStatus = item.RepairStatus;
                    }

                    lisList.Add(lnqList);
                }

                dataContxt.S_CannibalizeList.InsertAllOnSubmit(lisList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #2
0
        /// <summary>
        /// 赋值账务信息
        /// </summary>
        /// <param name="dataContext">数据上下文</param>
        /// <param name="billInfo">单据信息</param>
        /// <param name="listSingle">明细信息</param>
        /// <param name="operationType">操作类型</param>
        /// <returns>返回账务信息</returns>
        S_FetchGoodsDetailBill AssignDetailInfo(DepotManagementDataContext dataContext, S_CannibalizeBill billInfo, S_CannibalizeList listSingle,
                                                CE_SubsidiaryOperationType operationType)
        {
            S_FetchGoodsDetailBill lnqOutDepot = new S_FetchGoodsDetailBill();

            bool flag = false;

            if (operationType == CE_SubsidiaryOperationType.库房调出)
            {
                flag = true;
            }
            else if (operationType == CE_SubsidiaryOperationType.库房调入)
            {
                flag = false;
            }
            else
            {
                throw new Exception("业务类型错误");
            }

            lnqOutDepot.ID              = Guid.NewGuid();
            lnqOutDepot.FetchBIllID     = billInfo.DJH;
            lnqOutDepot.BillTime        = ServerTime.Time;
            lnqOutDepot.GoodsID         = (int)listSingle.GoodsID;
            lnqOutDepot.Provider        = listSingle.Provider;
            lnqOutDepot.BatchNo         = listSingle.BatchNo;
            lnqOutDepot.FetchCount      = flag ? listSingle.Count : -listSingle.Count;
            lnqOutDepot.UnitPrice       = (decimal)listSingle.UnitPrice;
            lnqOutDepot.Price           = flag ? (decimal)listSingle.Price : -(decimal)listSingle.Price;
            lnqOutDepot.Using           = flag ? "仓库调拨单:调出" : "仓库调拨:调入";
            lnqOutDepot.Department      = UniversalFunction.GetStorageName(dataContext, flag ? billInfo.InStoreRoom : billInfo.OutStoreRoom);
            lnqOutDepot.FillInPersonnel = UniversalFunction.GetPersonnelInfo(dataContext, billInfo.LRRY).姓名;
            lnqOutDepot.DepartDirector  = UniversalFunction.GetPersonnelInfo(dataContext, billInfo.SHRY).姓名;
            lnqOutDepot.DepotManager    = BasicInfo.LoginName;
            lnqOutDepot.OperationType   = flag ? (int)CE_SubsidiaryOperationType.库房调出 : (int)CE_SubsidiaryOperationType.库房调入;
            lnqOutDepot.Remark          = billInfo.Remark;
            lnqOutDepot.StorageID       = flag ? billInfo.OutStoreRoom : billInfo.InStoreRoom;
            lnqOutDepot.FillInDate      = billInfo.LRRQ;

            return(lnqOutDepot);
        }
コード例 #3
0
        /// <summary>
        /// 赋值库存信息
        /// </summary>
        /// <param name="dataContext">数据上下文</param>
        /// <param name="billInfo">单据信息</param>
        /// <param name="listSingle">明细信息</param>
        /// <param name="operationType">操作类型</param>
        /// <returns>返回库存信息对象</returns>
        S_Stock AssignStockInfo(DepotManagementDataContext dataContext, S_CannibalizeBill billInfo, S_CannibalizeList listSingle,
                                CE_SubsidiaryOperationType operationType)
        {
            S_Stock tempLnqStock = new S_Stock();

            tempLnqStock.GoodsID    = Convert.ToInt32(listSingle.GoodsID);
            tempLnqStock.BatchNo    = listSingle.BatchNo;
            tempLnqStock.ExistCount = (decimal)listSingle.Count;
            tempLnqStock.Date       = ServerTime.Time;
            tempLnqStock.Provider   = listSingle.Provider;
            tempLnqStock.UnitPrice  = (decimal)listSingle.UnitPrice;
            tempLnqStock.Price      = tempLnqStock.UnitPrice * tempLnqStock.ExistCount;

            if (operationType == CE_SubsidiaryOperationType.库房调出)
            {
                tempLnqStock.StorageID = billInfo.OutStoreRoom;
            }
            else if (operationType == CE_SubsidiaryOperationType.库房调入)
            {
                tempLnqStock.StorageID = billInfo.InStoreRoom;
            }
            else
            {
                throw new Exception("业务类型错误");
            }

            QueryCondition_Store store = new QueryCondition_Store();

            store.BatchNo   = tempLnqStock.BatchNo;
            store.GoodsID   = tempLnqStock.GoodsID;
            store.StorageID = billInfo.OutStoreRoom;
            store.Provider  = tempLnqStock.Provider;

            S_Stock stockInfo = UniversalFunction.GetStockInfo(dataContext, store);

            tempLnqStock.GoodsStatus = stockInfo.GoodsStatus;

            tempLnqStock.InputPerson = BasicInfo.LoginID;

            return(tempLnqStock);
        }
コード例 #4
0
        /// <summary>
        /// 保存单据数据(如果单据信息ID为0则添加数据,否则更新数据)
        /// </summary>
        /// <param name="billList">单据明细</param>
        /// <param name="billInfo">单据信息</param>
        public void SaveBill(DataTable billList, S_CannibalizeBill billInfo)
        {
            DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

            dataContxt.Connection.Open();
            dataContxt.Transaction = dataContxt.Connection.BeginTransaction();

            try
            {
                int intDJID = 0;

                if (billInfo.ID == 0)//添加
                {
                    S_CannibalizeBill lnqBill = new S_CannibalizeBill();

                    lnqBill.DJH          = billInfo.DJH;
                    lnqBill.LRRY         = billInfo.LRRY;
                    lnqBill.LRRQ         = billInfo.LRRQ;
                    lnqBill.DJZT         = "已保存";
                    lnqBill.Remark       = billInfo.Remark;
                    lnqBill.Price        = billInfo.Price;
                    lnqBill.OutStoreRoom = billInfo.OutStoreRoom;
                    lnqBill.InStoreRoom  = billInfo.InStoreRoom;

                    dataContxt.S_CannibalizeBill.InsertOnSubmit(lnqBill);
                    dataContxt.SubmitChanges();

                    var varData = from a in dataContxt.S_CannibalizeBill
                                  where a.DJH == billInfo.DJH
                                  select a;

                    if (varData.Count() == 1)
                    {
                        intDJID = varData.Single().ID;
                    }
                    else
                    {
                        throw new Exception("数据为空或者不唯一");
                    }
                }
                else //更新
                {
                    var varData = from a in dataContxt.S_CannibalizeBill
                                  where a.ID == billInfo.ID
                                  select a;

                    if (varData.Count() != 0)
                    {
                        S_CannibalizeBill lnqBill = varData.Single();

                        lnqBill.LRRY  = billInfo.LRRY;
                        lnqBill.LRRQ  = billInfo.LRRQ;
                        lnqBill.Price = billInfo.Price;
                        lnqBill.DJZT  = "已保存";
                        lnqBill.SHRQ  = null;
                        lnqBill.SHRY  = null;
                        lnqBill.CWRQ  = null;
                        lnqBill.CWRY  = null;
                        lnqBill.KFRQ  = null;
                        lnqBill.KFRY  = null;

                        intDJID = billInfo.ID;
                    }
                }

                List <S_CannibalizeList> lisList = new List <S_CannibalizeList>();

                for (int i = 0; i < billList.Rows.Count; i++)
                {
                    S_CannibalizeList lnqList = new S_CannibalizeList();

                    lnqList.GoodsID   = Convert.ToInt32(billList.Rows[i]["GoodsID"].ToString());
                    lnqList.BatchNo   = billList.Rows[i]["BatchNo"].ToString();
                    lnqList.UnitPrice = Convert.ToDecimal(billList.Rows[i]["UnitPrice"]);
                    lnqList.Count     = Convert.ToDecimal(billList.Rows[i]["Count"]);
                    lnqList.Price     = Convert.ToDecimal(billList.Rows[i]["Price"]);
                    lnqList.Remark    = billList.Rows[i]["Remark"].ToString();
                    lnqList.Provider  = billList.Rows[i]["Provider"].ToString();

                    if (billList.Rows[i]["RepairStatus"] != null && billList.Rows[i]["RepairStatus"].ToString() != "")
                    {
                        lnqList.RepairStatus = billList.Rows[i]["RepairStatus"].ToString() == "1" ? true : false;
                    }

                    lisList.Add(lnqList);
                }

                SaveBillList(dataContxt, lisList, intDJID, billInfo.DJH);

                dataContxt.SubmitChanges();
                dataContxt.Transaction.Commit();
            }
            catch (Exception ex)
            {
                dataContxt.Transaction.Rollback();
                throw new Exception(ex.Message);
            }
        }